Monte Carlo Simulation
Monte Carlo simulation is a robustness technique that repeatedly resamples or reorders a backtest's trade or return series to generate thousands of alternative equity paths, producing a distribution of outcomes, such as maximum drawdown and final equity, rather than the single path history happened to deliver.
Quick answer: Monte Carlo simulation is a robustness technique that repeatedly resamples or reorders a backtest's trade or return series to generate thousands of alternative equity paths, producing a distribution of outcomes, such as maximum drawdown and final equity, rather than the single path history happened to deliver.
In simple words
Your backtest gave you one equity curve, but that exact order of wins and losses was partly luck. Monte Carlo reshuffles or resamples those trades thousands of times to ask what else could plausibly have happened. The spread of results tells you how deep a drawdown you should be prepared for, not just the one your single backtest showed.
Purpose
Monte Carlo exists because a single backtest path understates uncertainty: it shows one realisation of a random process, and the worst drawdown you actually face is often deeper than the one lucky ordering in your historical run.
Visual explanation
Monte Carlo Simulation
Thousands of resampled equity paths fan out into a cone; percentile bands show the plausible range of outcomes around the single historical path.
Professional explanation
The two main resampling methods
The most common approach resamples at the trade level. You take the backtest's realised trade returns and either reshuffle their order (permutation, keeping the same set of trades but a new sequence) or draw them with replacement (bootstrap, allowing some trades to repeat and others to drop out). Each resample is compounded into a fresh equity path. A second approach resamples daily or bar returns rather than trades, which preserves position-level exposure but breaks the autocorrelation of a strategy that holds through trends. The choice of unit determines exactly which assumptions you are stress-testing.
What reordering versus bootstrapping tells you
Pure reordering (permutation) holds the multiset of outcomes fixed and varies only their sequence, so it isolates path risk: how much your drawdown depends on the order in which the same wins and losses arrive. Bootstrapping with replacement additionally varies which trades occur, so it also captures sampling risk: the chance that your historical trades were a favourable draw from a wider distribution. Bootstrapping generally produces a wider, more conservative outcome distribution, which is usually the more honest question for risk sizing.
Reading the output distribution
Run several thousand resamples and you get a distribution for each metric of interest. The headline is usually the distribution of maximum drawdown: the 5th and 95th percentiles bracket a plausible range, and the median maximum drawdown is often noticeably worse than the single historical drawdown, because your one backtest path was one relatively benign ordering. You can also read the probability of ruin (paths that breach a capital floor), the distribution of final equity, and the spread of Sharpe or CAGR. These percentiles, not the single backtest number, should drive position sizing and drawdown tolerance.
Key assumptions and where they break
Trade-level resampling assumes trades are exchangeable and roughly independent. That assumption fails when returns are serially correlated, when position sizing depends on recent equity (so a reshuffled sequence would never have been sized that way), or when trades cluster in regimes. Reshuffling a trend-following system that rides long winners can destroy the very autocorrelation that produced the edge, understating both its returns and its risk. Block bootstrapping, which resamples contiguous chunks of returns, partly preserves autocorrelation and is the standard fix, at the cost of fewer effective independent samples.
Monte Carlo on parameters and data, not just trades
Beyond resampling realised trades, Monte Carlo can perturb the inputs: jitter fill prices by a slippage distribution, randomly skip a fraction of trades to simulate missed signals, or add noise to the price series and re-run the whole strategy. This tests execution robustness rather than path luck: a strategy whose profit evaporates when fills are jittered by one tick, or when 5 percent of trades are randomly dropped, is dangerously fragile even if its trade-reshuffle distribution looks tolerable. Different Monte Carlo designs answer different robustness questions and should not be conflated.
What it can and cannot prove
Monte Carlo widens a single backtest into a distribution, which is its great strength for setting realistic drawdown expectations and position sizes. But it cannot create information that is not in the data: if your historical sample never contained a 2008- or 2020-scale shock, no reshuffling of it will invent one, so Monte Carlo systematically understates true tail risk when the sample lacks extremes. It also cannot detect look-ahead bias or overfitting in the underlying rules; it only characterises the variability of whatever the backtest already produced. It is a lens on uncertainty, not a source of new evidence.
Formula
For each of N resamples: E_k = C × Π (1 + r_i*) → distribution of MaxDD, final equity, P(ruin)
C = starting capital, r_i* = resampled trade or period returns (permuted or bootstrapped), E_k = the k-th resampled equity path, N = number of simulations (commonly 1,000 to 10,000). The outputs are percentiles of maximum drawdown (MaxDD), final equity and the fraction of paths breaching a capital floor (probability of ruin). Estimates stabilise as N grows; too few resamples give noisy percentiles.
Trade reshuffling vs Bootstrapping with replacement
| Aspect | Reshuffle (permutation) | Bootstrap (with replacement) |
|---|---|---|
| Trade set | Same trades, new order | Trades may repeat or drop |
| Risk isolated | Path/sequence risk | Path plus sampling risk |
| Outcome spread | Narrower | Wider, more conservative |
| Best for | How much order matters | Realistic drawdown for sizing |
Practical example
Illustrative example (Indian market)
Suppose a Bank Nifty options-selling backtest on ₹5,00,000 shows 300 trades, a smooth curve and a single worst drawdown of 12 percent. You bootstrap the 300 trade returns 5,000 times. The resulting maximum-drawdown distribution has a median near 18 percent and a 95th percentile near 31 percent, and 4 percent of paths breach a 40 percent capital loss. The lesson is direct: the 12 percent you saw was a benign ordering, and you should size positions and set your drawdown tolerance against roughly 30 percent, not 12 percent. Nothing about the strategy changed; your understanding of its risk did.
Because Indian options-selling risk is concentrated in gap events and volatility spikes (an India VIX jump around an event), a plain trade-reshuffle of a calm sample will look reassuring while badly understating tail risk. Perturbing fills for gap-through-strike scenarios, or block-bootstrapping through the few stressful weeks, is far more informative than reshuffling serene trades.
Advantages
- Converts one lucky equity path into a full distribution of outcomes
- Gives a realistic, percentile-based maximum drawdown for position sizing
- Estimates probability of ruin against a capital floor
- Can also test execution robustness by jittering fills or dropping trades
- Requires no new data, only the backtest's existing trade or return series
Limitations
- Cannot invent tail events absent from the historical sample
- Naive reshuffling breaks the autocorrelation that trend strategies rely on
- Assumes trades are exchangeable, which fails under equity-dependent sizing
- Says nothing about overfitting or look-ahead bias in the underlying rules
- Percentiles are noisy if too few resamples are run
Why it matters in practice
- Reframes risk from a single number to a plausible range, improving sizing decisions
- Often reveals the historical drawdown was optimistic by a wide margin
Common mistakes
- Treating the single backtest drawdown as the worst case instead of a percentile of a distribution
- Reshuffling a serially correlated trend strategy and destroying its real behaviour
- Resampling trades that were sized from recent equity, an ordering that could never have occurred
- Assuming Monte Carlo captures crash risk when the sample contained no crash
- Running too few simulations, so the tail percentiles are unstable
- Believing Monte Carlo validates the strategy's edge when it only characterises variability
Professional usage
Quant risk teams use Monte Carlo to set drawdown budgets and position sizes against a percentile of the outcome distribution rather than the single historical path, typically bootstrapping thousands of resamples and reporting the median and 95th-percentile maximum drawdown. Where autocorrelation matters they switch to block bootstrapping, and they complement trade-reshuffling with fill-jitter and trade-dropout runs to probe execution fragility. They are explicit that Monte Carlo widens the picture of known risk but cannot manufacture the tail events history did not sample.
Key takeaways
- Monte Carlo resamples a backtest into thousands of paths to build an outcome distribution
- The percentile maximum drawdown, not the single historical one, should drive sizing
- Bootstrapping is more conservative than pure reshuffling and usually more honest
- It cannot invent tail events the sample never contained
- It measures variability, not whether the underlying edge is real
Frequently asked questions
What is Monte Carlo simulation in backtesting?
Why is one backtest equity curve not enough?
What is the difference between reshuffling and bootstrapping?
What does Monte Carlo tell me about drawdown?
How many simulations should I run?
Does Monte Carlo prove my strategy works?
Why can reshuffling mislead for trend strategies?
What is block bootstrapping?
Can Monte Carlo estimate probability of ruin?
Does Monte Carlo capture crash risk?
What is the difference between Monte Carlo and stress testing?
Can I Monte Carlo the execution, not just the trades?
Should I size positions from the historical or the Monte Carlo drawdown?
Is Monte Carlo simulation reliable for options strategies?
Voice search & related questions
Natural-language questions people ask about Monte Carlo Simulation.
What is Monte Carlo simulation in trading?
Why does Monte Carlo show a worse drawdown than my backtest?
How many Monte Carlo runs are enough?
Does Monte Carlo predict a market crash?
Should I reshuffle or bootstrap my trades?
Can Monte Carlo tell me my risk of ruin?
Sources & references
Last reviewed 11 July 2026. Educational content only — not investment advice. Markets and rules change; verify current conventions with SEBI, NSE/BSE and your broker.