backte.st

Monte Carlo trade shuffling: how bad could the drawdown get?

Why the drawdown in a single backtest understates risk, how reshuffling trade order estimates a worse but plausible case, and its limits.

A backtest gives you one sequence of trades. The drawdown you see is the worst drop in that particular order. If the same trades had arrived in a different order, with several losers in a row, the drop could have been much deeper. Monte Carlo trade shuffling estimates how much.

The idea

Take the list of closed trades and their returns. Shuffle the order randomly, rebuild the equity curve and measure its maximum drawdown. Repeat many times. You now have a distribution of drawdowns that the same set of trades could have produced.

How Backte.st does it

The Trade-order shuffle check reshuffles the trade order 200 times and reports the 95th-percentile drawdown: a level that only 5% of the shuffled sequences exceeded. It uses a fixed random seed, so the same report always gives the same number.

Why it is useful

Limits to keep in mind

Using it with the other checks

The shuffle answers “how bad could it get with these trades?”. The other checks ask whether the trades themselves are trustworthy: whether they hold up out of sample, after higher costs and without the best few winners.

Open the robustness checks for any run in the lab to see the shuffled drawdown next to the actual one.

Try it in the lab

Build a strategy from indicators, no code needed, run it on a few markets and see this check on your own rules. It’s free and runs in your browser.

Open the lab