Performance and statistics

Monte Carlo Simulator

One backtest is one sequence out of many that could have happened. This runs two thousand of them and shows the spread you were actually inside.

Your edge

In multiples of the amount you risk.
Normally 1 — a full stop-out.

Your sizing and horizon

Median final balance$49,184.34
Runs that ended down0%
Median worst drawdown8.8%
Worst drawdown in the top 5% of runs15.2%
Final balance, bottom 5%$35,417.03
Final balance, top 5%$68,303.29
Simulations run2,000

2,000 simulated sequences, fixed-fractional sizing, wins and losses drawn independently. The generator is deterministic — the same inputs always produce the same result, so a shared link shows the reader exactly what you saw. Real trading violates the independence assumption: losses cluster, and clustered losses are worse than these figures.

FreeNo signupNothing leaves your browser

What it does

Two thousand independent sequences, each of the length you specify, each trade drawn at your win rate and applied as a percentage of the balance that remains. What comes back is a distribution rather than a number.

The reason to do this is narrow and important: a backtest produces one equity curve. Shuffle the same trades into a different order and the curve looks different — different peak, different worst drawdown, sometimes a different sign. That variation is not noise around the truth; it is the truth, and the single curve you happened to observe is one draw from it.

Read the spread, not the middle

The median is the least useful number here. The rows that matter are the bottom 5% and the top 5%.

A strategy with a genuine edge over 200 trades routinely produces a range where the good outcomes are several times the bad ones — and where a meaningful share of sequences finish below where they started. Both ends came from the same edge and the same sizing. Only the order of the trades differed.

Two things follow:

  • A profitable backtest is not evidence of much if the same inputs produce losing sequences a quarter of the time. It may simply have been a good draw.
  • A losing quarter is not evidence the strategy broke. It sits inside the range the edge produces.

The drawdown rows are the practical ones

Most traders can describe their target return and have never estimated the drawdown that comes with it.

The simulator gives the median worst drawdown across all runs, and the worst drawdown in the ugliest 5% of them. That second figure is what to plan around — it is the version of the strategy you have a one-in-twenty chance of receiving, and it will arrive eventually if you trade it long enough.

If that number is larger than what you would tolerate before abandoning the method, the sizing is wrong regardless of how good the expectancy is. That is the same conclusion the risk of ruin page reaches from the other direction.

Deterministic on purpose

The random generator is seeded from the input fields, so the same inputs always produce the same result.

Two reasons, and both were requirements rather than preferences. A shared link has to show the reader exactly what you saw, which a fresh random run would not. And the page is pre-rendered into static HTML, so an unseeded generator would produce different output on the server and in the browser.

What it assumes, and how that flatters it

Trades are independent. They are not — losses cluster, because a strategy that suits one regime fails throughout it.

The edge is constant. It is not; win rates drift as conditions change.

Both assumptions make the real world worse than the simulation, not better. Read the output as an optimistic bound, and note that it says nothing about whether your estimated win rate is correct in the first place — that is what the confidence range on the expectancy calculator is for.

FAQ

What is a Monte Carlo simulation in trading?

Running many randomised sequences of trades drawn from your win rate and payoff to see the range of possible outcomes, rather than the single sequence a backtest happens to produce.

How many simulations are enough?

A few thousand is ample for stable percentiles at this level of detail. This page runs 2,000, which settles the fifth and ninety-fifth percentiles well within their own precision.

Why does my profitable strategy show losing runs?

Because a positive edge is an average over many trades, not a guarantee for any particular sequence. If a quarter of runs finish down over your horizon, that is the honest description of the strategy rather than a flaw in the simulation.

Should I use my backtest results as inputs?

Yes, with the caveat that they are estimates from a limited sample. A win rate measured over 50 trades carries a wide error bar, and feeding an optimistic estimate produces an optimistic distribution.

Does this account for losing streaks clustering?

No — trades are drawn independently. Real losses cluster, which makes actual drawdowns deeper than simulated ones. The output is therefore an optimistic bound rather than a central estimate.

This is the plan. What did you actually do?

A calculator tells you the size you should have taken. It cannot tell you the size you took at 2pm after two losers, or how often your stop moved once price went against you. Drop in a statement from MT4/MT5, a broker CSV or a crypto export and see the answer for your own last 90 trades.

Import my trades — free