Monte Carlo for Trading Strategies: What It Can and Can't Tell You

10 min readQuantParadox research

Your backtest produced one equity curve. The same trades in a different order would have produced a different one, and the spread between them is information you already own and probably have not looked at.

The short answer

Monte Carlo simulation for a trading strategy resamples the historical trade sequence thousands of times to show the range of results the same strategy could have produced, which reveals how much of a backtest was ordering luck rather than edge.

What does Monte Carlo actually do here?

It takes the set of trades your strategy produced and reshuffles their order thousands of times, computing an equity curve for each — turning a single historical path into a distribution of paths the same strategy could have taken.

The insight is that the ORDER of your trades was luck. The strategy generated a particular set of wins and losses; the sequence in which they arrived was an accident of history, and a different accident would have produced a different-looking result from identical trades.

That reframing is what makes the technique valuable. Your backtest's maximum drawdown was not the strategy's maximum drawdown — it was the drawdown of one ordering. Reshuffle and you routinely find orderings that produce a fall half again as deep.

It costs nothing to run because it needs no new data. Everything it uses is already in the trade list a backtest produced.

What questions does it answer well?

It answers questions about the RANGE of outcomes a fixed edge can produce, which is precisely where a single backtest is most misleading.

How deep can the drawdown get? The most valuable output. The historical figure is one draw; the distribution shows the 95th percentile, and that is the number to size positions against rather than the one that happened to occur.

Could this result have come from no edge at all? Shuffle the signs as well as the order — or compare against random entries with the same exit rules — and see whether the real result stands outside what chance produces. A strategy inside that range has not demonstrated anything.

What is my risk of ruin at this position size? Apply your sizing rule to each simulated path and count how many hit your stopping level. This is the most directly actionable output the technique produces.

How long can a losing stretch last? Usually the most sobering number, because drawdown duration is what actually ends people's use of a working system.

Where does the technique break down?

Reshuffling assumes trades are independent, and for most strategies they are not — which means the naive version understates risk in exactly the direction that matters.

Losses cluster because market conditions persist. A trend-following strategy loses through ranges, and ranges last weeks; a mean-reversion strategy loses through trends, and trends last months. Shuffling breaks those runs apart and produces simulated equity curves smoother than anything the strategy will actually experience.

The fix is block resampling: draw consecutive RUNS of trades rather than individual ones, preserving the clustering. Blocks of ten to twenty trades typically retain the structure while still producing genuine variety. The resulting distribution is wider and more honest.

The second limitation is more fundamental and cannot be fixed by better resampling: the technique can only reshuffle the trades your strategy actually took, so it says nothing about a market regime the strategy never met. A Monte Carlo over a decade that contained no crisis will not simulate one.

How do you run one honestly?

Use R-multiples rather than currency amounts, resample in blocks, run at least a few thousand paths, and report percentiles rather than a single summary number.

R-multiples matter because an account that grew during the backtest makes later dollar results larger for reasons unrelated to the strategy. Normalising to risk units removes that and makes the paths comparable.

Report the distribution, not its middle. The median simulated outcome is the least interesting number in the set; the 5th percentile equity, the 95th percentile drawdown and the longest simulated losing streak are the three figures that change decisions.

And state the sample the simulation was drawn from. A Monte Carlo over 80 trades produces a confident-looking distribution built on very little, and the smoothness of the output gives no hint of how thin the input was.

Does a Monte Carlo validate a strategy?

No, and this is the most common misreading: resampling your own trades cannot tell you whether the strategy has an edge, because it takes the edge as given and explores what that edge could produce.

If the strategy was overfitted, every simulated path inherits the overfitting. Ten thousand beautiful equity curves derived from a fitted backtest are ten thousand descriptions of the same curve fit, and their consistency is reassuring in a way that is entirely unearned.

Out-of-sample validation is what establishes whether an edge exists. Monte Carlo is what tells you how bumpy the road will be if it does. Running the second without the first produces confident risk estimates for a strategy that may not work at all.

Used in the right order — validate out of sample, then resample to size the position — the pair is considerably more informative than either alone.

Questions people actually ask

How many simulations should I run?

A few thousand paths is enough for the percentiles to stabilise, and going to a hundred thousand adds precision to a number whose underlying uncertainty is dominated by the sample size of the original trade list. If the input is 150 trades, more simulations will not make the answer more reliable — they will only make it look more reliable.

Should I shuffle trades or resample with replacement?

Shuffling reorders exactly the trades you had; resampling with replacement lets some appear twice and others not at all, which better represents drawing a fresh sample from the same process. Resampling with replacement, in blocks to preserve clustering, is the more defensible default — and the difference between the two is small compared with the difference block size makes.

Can Monte Carlo tell me if my strategy will keep working?

No. It resamples the past behaviour of a strategy and cannot say anything about a regime that behaviour never encountered. What it does well is quantify how much of a single backtest's shape was ordering luck, which is a question a single equity curve genuinely cannot answer.

The only backtest that settles it is yours.

Build a strategy from a sentence, paste your own Python, or import your live trade history and have it graded. Five full backtests free, no card, and we'll tell you plainly when the result is indistinguishable from luck.

We publish research and tooling, not trading advice, and we make no claim about future returns. Everything above describes how to test an idea — not a reason to trade one.