How to use the Monte Carlo trading simulator
The page has two tools. From trade stats builds the paths from a few summary numbers; Reshuffle my trades uses your actual trade list.
From trade stats
- Choose the unit for the average win and loss: R multiples (the win and loss as multiples of the amount risked) or dollars. Your trading journal statistics or a backtest report gives both.
- Enter the win rate, the average win and the average loss. Enter the loss as a positive number.
- Choose the position sizing. With a fixed percentage of equity, 1R is that share of the current balance; with a fixed dollar amount, every trade risks the same dollars. With dollar inputs and percentage sizing, the dollar figures apply at the starting balance and scale with the account.
- Set the starting equity, the number of trades per path and your drawdown limit, the peak-to-trough loss at which you would stop trading or cut size.
- Choose the number of simulations and a seed. The seed fixes the random draws, so the same inputs always give the same answer.
Reshuffle my trades
- Paste the P&L of each closed trade in dollars, in the order they happened. A column copied from a spreadsheet works.
- Choose reshuffle or bootstrap, then the starting equity, the number of simulations and the seed.
How the simulation works
Each simulated trade is a win with probability p and a loss otherwise. With percentage sizing the balance compounds; with fixed sizing it moves by a set amount:
Et+1 = Et + W·r on a win, Et − L·r on a loss (fixed dollars)W and L are the average win and loss in R, f the fraction of equity risked and r the dollar risk. A path whose equity reaches zero stops trading.
Two exact quantities anchor the simulation. The expectancy is the average result per trade; with compounding, the typical path grows at the expected log rate g, not at the expectancy:
g = p·ln(1 + W·f) + (1 − p)·ln(1 − L·f)
Mean final equity = E0·(1 + f·(p·W − (1 − p)·L))n, typical final equity = E0·en·gn is the number of trades. Because every path's final balance depends only on its number of wins, the median path ends very close to E0·en·g.
The maximum drawdown of each path is the largest fall from a running peak, as a share of that peak:
The reshuffle tool reorders your trades with a Fisher–Yates shuffle (a uniformly random permutation, starting from the original order each time) or draws n trades with replacement. Its percentile is a mid-rank: the share of resampled paths with a shallower drawdown than yours, with exact ties counted as half. Random numbers come from the seeded mulberry32 generator used by the risk of ruin calculator and the retirement Monte Carlo simulator, one uniform draw per simulated trade.
A worked example
A system wins 45% of its trades, with an average win of 1.8 R and an average loss of 1 R. The expectancy is +0.26R per trade. Risking 1% of equity on 200 trades from $100,000, 2,000 simulated paths give:
- a median final equity of $164,881, with 90% of paths between $117,983 and $224,083;
- a mean of $168,160, close to the exact expected value of $168,089; the mean sits above the median because compounding stretches the right tail;
- a median maximum drawdown of 9.9% and a 95th percentile of 17.1%;
- a 10.7% chance of breaching the 15% drawdown limit at some point, although 99.4% of paths finish in profit.
Same edge, same risk, same number of trades: the only difference between the paths is luck in the order and count of wins.
Risk per trade: the lever that moves everything
| Risk per trade | Median final equity | Median max drawdown | 95th pct drawdown | Chance of a 15% drawdown |
|---|---|---|---|---|
| 0.5% | $129,046 | 5.0% | 8.9% | 0.1% |
| 1% | $164,881 | 9.9% | 17.1% | 10.7% |
| 2% | $261,364 | 19.1% | 31.9% | 79.9% |
| 3% | $398,608 | 27.5% | 44.6% | 98.7% |
Drawdowns scale almost in proportion to the risk per trade. The growth rate rises less than proportionally (the dollar gains look larger only because they compound) and eventually turns down: past the Kelly fraction more risk lowers the typical outcome. A trader who can live with a 15% drawdown only now and then should read the last column before the first one. The win rate matters as much: at 40% with the same payoff the expectancy falls to +0.12R, the median ends at $124,751 and the chance of a 15% drawdown rises to 37.2%.
Longer horizons deepen the worst drawdown too, even with a positive edge. Over 500 trades instead of 200 trades, the median maximum drawdown grows from 9.9% to 12.6%: the more trades you take, the longer the worst losing stretch you will meet.
What reshuffling your trades tells you
The example list holds 60 trades with a 50% win rate and a total of $23,300. In the order they happened, the maximum drawdown was 7.6% ($4,940). Reshuffled 2,000 times, the median drawdown is 6.7% and the 95th percentile is 10.9%. The historical drawdown ranks at 67.4%: that share of reshuffled paths had a shallower drawdown, so this history was neither unusually lucky nor unusually unlucky.
Read the percentile in both directions. A value near 95% says the history was an unlucky ordering: the strategy is probably no worse than its record, but the drawdown happened. A value near 5% says the history flattered the strategy: a deeper drawdown is the normal expectation for those same trades, and a live account sized on the historical figure is sized too large.
Choose the method by the question. A permutation answers “how bad could the path have been with exactly these trades?” Every reshuffled path ends at $73,300, so the chart’s bands meet at the end. A bootstrap also asks “what if the mix of trades had been different?” and so produces wider tails: for the example, 1 path in 20 has a drawdown of 13.4% or more, and the final equity ranges from $58,180 to $89,172 across the middle 90% of paths.
What this simulator does not include
- Independent trades. Both tools assume each trade is independent of the last. Real strategies have streaky regimes, correlated positions and volatility clustering, which make losing runs longer than a random shuffle suggests. Treat the 95th percentile as a floor for planning, not a ceiling.
- Two outcomes in the stats tool. Every win is the average win and every loss the average loss. Real distributions have fat tails and occasional outsized losses; the reshuffle tool keeps your actual distribution, so use it when you have enough trades.
- Dollar P&L in the reshuffle tool. The pasted results are reordered as dollar amounts. If you sized as a percentage of equity, the same trades in another order would have had different dollar sizes; for large accounts relative to the trades the difference is small.
- Costs and changes over time. Commissions, slippage and funding enter only if they are already in your averages or P&L, and the simulator assumes the edge stays constant. A decaying edge or an overfitted backtest is a larger risk than sequence luck; the risk of ruin calculator and the trading expectancy calculator help test the inputs themselves.