Interactive toolRuns in your browser

Monte Carlo Simulator

Simulate many random trade sequences to see the range of terminal returns and worst drawdowns a system can produce.

Quick answer: A Monte Carlo simulation replays a system many times with the same statistics but a different random order of wins and losses. This tool applies your average win and loss multiplicatively over a chosen number of trades, across up to two thousand runs, and reports the median and percentile terminal returns plus the worst drawdown seen. It shows that a single backtest equity curve is just one path among many the same edge could have produced.

How to use it

Enter the win rate, the average percentage gained on a win and lost on a loss, the number of trades in a run, and how many runs to simulate (capped at 2000). Each trade multiplies equity up or down; the tool ranks the ending results and reports the median, 5th, 25th, 75th and 95th percentile terminal returns and the worst intra-run drawdown. The chart draws a sample of the simulated equity paths.

Formula

Each trade: Equity ×= ( 1 + Average win% ) on a win, or ×= ( 1 − Average loss% ) on a loss. Repeated over Trades, across Simulations runs.

Terminal return of a run = final equity ÷ starting equity − 1. Percentiles are read from the sorted terminal returns of all runs.

Limitations — what this calculator does not model

  • Draws each trade independently from fixed statistics, so it ignores autocorrelation, regime change and volatility clustering that make real drawdowns worse.
  • Uses single average win and loss percentages — it cannot reproduce a distribution of trade sizes or a tail larger than those inputs.
  • Percentiles are estimates from a capped 2000 runs and shift slightly between runs.
  • It re-orders the same edge; it cannot tell you whether the edge itself is real or will persist live.

Frequently asked questions

What do the percentiles mean?

The 5th percentile is a pessimistic outcome (only five percent of runs did worse), the 50th is the median, the 95th is optimistic. The gap between them shows how much luck of ordering affects results even with fixed statistics.

How should a system use this to set leverage and size?

Size against a high-percentile drawdown from the distribution — commonly the 90th or 95th — not the single value your historical run happened to produce. Sizing to the lucky path is a common route to being over-leveraged when the ordinary bad case finally arrives.

Why is the worst drawdown often larger than what I have lived so far?

With enough re-orderings, unlucky clusters of losses appear that your single realised sequence did not contain. Treating that plausible bad run as the case to survive is what keeps a live account solvent through a streak it has not yet seen.

Does this model assume trades are independent?

Yes. It draws each trade independently from the same win probability, so it ignores autocorrelation, regime change and clustered volatility. Real returns often cluster, which can make actual live drawdowns worse than this simple model suggests — a reason to keep a margin of safety on top of the figure.

Can I estimate my probability of ruin from this?

Roughly, yes: count the fraction of simulated paths that fall through your capital floor for a given sizing. It is only as trustworthy as the win and loss statistics you feed it and cannot include a shock larger than your inputs imply, so pair it with explicit stress scenarios.

Why cap simulations at 2000?

The whole simulation runs in your browser on every input change. Two thousand runs is enough for stable percentiles while staying fast; far more would slow the page without changing the conclusions much.

Runs entirely in your browser — no data leaves your device. Illustrative and educational only; real-world charges and market conditions apply in practice.

Educational tool only — not investment advice. Calculations are illustrative and use simplified models. See our Risk Disclosure.