Monte Carlo simulation in trading answers one question your backtest quietly dodges: how much of this result was skill, and how much was the order the trades happened to arrive in? The method is simple: take your strategy’s list of trades, reshuffle their order hundreds or thousands of times, and look at the distribution of outcomes. Same trades, same win rate, same average profit; the only thing that changes is sequence. If your “max drawdown of 12%” becomes 25% in a fifth of the reshuffles, your backtest did not lie to you, but it did only tell you one story out of thousands. Monte Carlo tells you the rest, and you can run it in a spreadsheet this afternoon.
This post is the practical version: what the simulation actually does, how to run one without buying anything, and how to read the output without fooling yourself. It is the third stage of the testing methodology behind my public accounts (after walk-forward and out-of-sample testing), and like everything in this series, the systems that survive it are auditable live on my track record page.
First, absolution. If you have ever sized an account off a backtest’s max drawdown and then blown past that number live, you did not miscalculate. You were handed a single sample and told it was a statistic. A backtest’s drawdown is one draw from a lottery you did not know you were playing: rearrange the exact same trades and the deepest losing streak lands somewhere else, deeper or shallower, purely by sequence. The industry reports that single draw as “the” drawdown because it looks precise and sells clean. It is precision theater.
What Reshuffling Reveals (And Why Sequence Is the Hidden Variable)
Your strategy’s edge lives in its trade distribution: how often it wins, how big the wins are, how big the losses are. Its risk, though, lives substantially in sequence: losing streaks hurt more when they cluster, and whether they cluster early, late or not at all is luck. Two accounts trading the identical strategy can experience wildly different drawdowns just from start date. That is sequence risk, and no single backtest can show it, because a single backtest has exactly one sequence.
Monte Carlo attacks it with brute force. Reshuffle the trade list 1,000 times and you get 1,000 alternate histories of the same strategy. Now, instead of “max drawdown: 12%”, you can say things like: half the histories stayed under 14%, nine in ten stayed under 21%, and the ugliest tail reached 30%. Those numbers describe the strategy. The original 12% described one roll of the dice, and the difference between those two statements is the difference between planning and hoping. It is the same lesson as what low-drawdown claims hide, made quantitative.
How to Run One in a Spreadsheet (No Code, No Purchase)
Step one: get the trade list. Export your backtest’s individual trade results (profit or loss per trade, in currency or percent). MetaTrader’s strategy tester report gives you this directly. You want at least a couple hundred trades; with fewer, every conclusion gets wider error bars, which is itself worth knowing.
Step two: reshuffle. In a spreadsheet: put the trade results in a column, add a column of random numbers (RAND), and sort by the random column to produce one reshuffled sequence. Compute the running equity curve and record its maximum drawdown. That is one simulation. Recalculate (F9 in Excel) and record again. Doing this a few dozen times manually already teaches the core lesson; a small macro or a data-table trick gets you to hundreds. Purists will note that professional tools resample with replacement and thousands of runs; correct, and it changes nothing about the insight available to you today with sort-by-random.
Step three: read the distribution, not the average. Line up the recorded drawdowns from best to worst and look at three landmarks: the median (your realistic expectation), the 90th to 95th percentile (your planning number), and the worst tail (your survival check). The average is the least useful number on the sheet; nobody experiences the average, everybody experiences one specific path.
Step four: size the account off the percentile, not the backtest. If the 95th percentile drawdown is 22% and your account, funded rules or nerves cannot absorb 22%, the strategy is oversized for your situation regardless of how good it is. Cut risk per trade until the percentile fits reality. This single habit (sizing off the distribution instead of the single sample) prevents more account deaths than any entry signal ever invented.
Reading the Results Without Fooling Yourself
A wide distribution is information, not failure. Some strategies are inherently streaky; the simulation is telling you what owning them feels like. The failure mode is discovering that width live, with money, mid-streak.
The tail is not a prediction; it is a stress test. The 99th percentile reshuffle is not “what will happen”; it is “what the same trades can do in an unlucky order”. If surviving it requires heroism, resize now, while it is free. And remember the simulation’s honest limitation: reshuffling assumes the future draws from the same distribution as the past. It will not warn you about regime change or an edge decaying; that is what out-of-sample discipline and live incubation are for. Monte Carlo stress-tests the luck; it cannot validate the edge.
Beware the seduction of the good tail, too. A fifth of your reshuffles probably ended spectacularly. That is the same luck pointed the other way, and building expectations on it is how winners overleverage into ruin. The distribution is one object; take all of it or none of it.
Where This Fits in a Full Testing Funnel
Monte Carlo is powerful and cheap, but it is one instrument, not the orchestra. In my pipeline it sits after robustness testing and before portfolio-fit and live incubation: walk-forward answers “is the edge real?”, Monte Carlo answers “what can the ride look like?”, correlation analysis answers “does this play well with the others?”, and months of small live trading get the final vote. A strategy needs every yes. The order matters, because simulating the luck of an edge you have not verified is just decorating a guess with statistics.
That full funnel (generation, robustness, sequence risk, portfolio construction, allocation per account) is the methodology series I am publishing right now, and each piece reaches the newsletter before it appears anywhere else. If today’s spreadsheet exercise scratched an itch, the series is the whole scratch.
The Honest Close
Monte Carlo simulation will not improve your strategy by a single pip. What it improves is your expectations, and expectations are where most trading operations actually die: the strategy was survivable, the surprise was not. One afternoon with a spreadsheet buys you the difference between “my backtest showed 12% drawdown” and “I know the realistic range and I am sized for the ugly end of it”. Every system on my track record page went through exactly this, which is why the red stretches you can see there were planned for, not panicked over. Run the reshuffles before the market runs them for you.
Frequently Asked Questions
What is Monte Carlo simulation in trading?
It is a technique that reveals the role of luck in a strategy’s results by generating many alternate versions of its history. The most common form takes the strategy’s actual trades and reshuffles their order hundreds or thousands of times, computing the equity curve and drawdown of each version. The output is a distribution of outcomes (median, percentiles, worst tail) instead of the single path a backtest shows, which makes realistic risk planning possible.
How do I run a Monte Carlo simulation on my strategy in Excel?
Export the per-trade results from your backtest, place them in a column, add a RAND() column, and sort by the random values to create one reshuffled sequence. Build the running equity curve, record its maximum drawdown, then recalculate and repeat. A few dozen manual runs already show the spread; macros or data tables scale it to hundreds. Professional tools add resampling and more runs, but the core insight is available with sort-by-random.
What does Monte Carlo tell you about drawdown?
That your backtest’s “max drawdown” is one sample, not a property of the strategy. The same trades in a different order produce different drawdowns, sometimes dramatically so. The simulation gives you the distribution: a median for realistic expectations, a 90th-95th percentile for planning and sizing, and a worst tail for survival checks. Sizing an account off the percentile instead of the single backtest number is the method’s main practical payoff.
How many trades do you need for a meaningful simulation?
More is better, and below roughly two hundred trades the conclusions get wide enough that you should treat them as rough sketches. With small samples, the simulation still has value; it just honestly reports more uncertainty, which is itself information the backtest hid. Be more conservative with sizing when the trade list is short, and let live incubation extend the sample before trusting tighter numbers.
What are the limitations of Monte Carlo simulation for trading?
The reshuffling approach assumes future trades come from the same distribution as past ones, so it cannot detect regime change, edge decay or overfitting. It stress-tests sequence luck, nothing else. It also inherits every flaw of the input: simulating trades from an overfit backtest produces beautifully precise nonsense. Use it after out-of-sample and walk-forward testing have given the edge itself a passing grade, never instead of them.