You had a great month. Net profit $3,200, win rate 58%, sharp entries. But here’s the uncomfortable question: was that skill, or could a coin flip have produced similar results?

This is the question Monte Carlo simulation answers. It’s one of the most powerful tools in quantitative trading — and one of the least understood by retail traders.

What Is Monte Carlo Simulation?

Monte Carlo simulation takes your actual trade results and runs them through thousands of random reorderings. Each run shuffles the sequence of your wins and losses, creating an alternate history. After 10,000 runs, you get a distribution of possible outcomes.

The key insight: if most random reorderings of your trades still produce profit, your edge is likely real. If many reorderings produce losses, your results may have been luck.

The Simple Version

Imagine you have 100 trades:
- 55 winners averaging +$120
- 45 losers averaging -$95

You made $2,325 in reality. But what if those same 100 trades had happened in a different order?

Monte Carlo shuffles them 10,000 times. For each shuffle, it calculates:
- Final P&L
- Maximum drawdown along the way
- Longest losing streak
- Peak-to-trough decline

The result is a probability distribution — not a single number, but a range of outcomes with confidence intervals.

Why Order Matters

You might think: “If the trades are the same, won’t the final P&L be the same regardless of order?” For final P&L, yes — if you’re trading fixed size. But for drawdown and risk of ruin, order matters enormously.

Consider two sequences with the same 10 trades:

Sequence A (losses clustered):
-$200, -$180, -$150, -$120, +$300, +$250, +$200, +$150, +$120, +$100

Max drawdown: -$650 (four losses in a row at the start)

Sequence B (alternating):
+$300, -$200, +$250, -$180, +$200, -$150, +$150, -$120, +$120, +$100

Max drawdown: -$200 (single loss after a win)

Same final P&L (+$470). But Sequence A would have felt like disaster — you’d have been down $650 before recovering. Many traders would have quit, changed their strategy, or gone on tilt during that drawdown.

Monte Carlo shows you how bad things could get with the same edge, just different luck in ordering.

How to Run a Monte Carlo Simulation

Step 1: Collect Your Trade Results

You need at least 30 trades — ideally 100+. For each trade, record the net P&L (after fees and slippage). The more trades, the more reliable the simulation.

Step 2: Define Your Parameters

  • Number of simulations: 10,000 is standard. More is better but slower.
  • Number of trades per simulation: Match your actual count, or project forward (e.g., “what would 200 trades look like?”)
  • Sampling method: With replacement (bootstrap) or without replacement (permutation). Bootstrap is more common and allows for forward projection.

Step 3: Run the Simulation

For each of 10,000 runs:
1. Randomly sample trades from your history (with replacement)
2. Calculate cumulative P&L
3. Track maximum drawdown
4. Record final P&L

Step 4: Analyze the Distribution

After all runs, you have 10,000 final P&L values and 10,000 maximum drawdowns. From these:

  • Median outcome: The P&L at the 50th percentile — your “expected” result
  • 95th percentile drawdown: The worst drawdown you’d see 95% of the time
  • Probability of profit: What percentage of simulations ended profitable
  • Risk of ruin: Probability of hitting a predefined loss threshold

Interpreting Results

Scenario 1: Strong Edge

Metric Value
Median P&L +$2,180
5th percentile P&L +$820
95th percentile P&L +$3,540
Probability of profit 99.2%
Median max drawdown -$680
95th percentile max drawdown -$1,450

Interpretation: Even in unlucky orderings, you’re profitable. Your edge is real. But prepare for drawdowns up to $1,450 — they’re within the normal range for your strategy.

Scenario 2: Weak Edge

Metric Value
Median P&L +$450
5th percentile P&L -$1,200
95th percentile P&L +$2,100
Probability of profit 68.4%
Median max drawdown -$1,800
95th percentile max drawdown -$3,200

Interpretation: Your edge is marginal. About 1 in 3 random orderings loses money. Maximum drawdowns are severe relative to expected profit. This strategy needs improvement or tighter risk management.

See what your own trading mistakes actually cost

Drop your Binance, Bybit or TradingView export and get your own leaks ranked in dollars — no account, no card, file never stored.

Analyse My Trades Free →

Or read a real report first · Start your free trial · See all features

Scenario 3: No Real Edge

Metric Value
Median P&L -$120
5th percentile P&L -$2,800
95th percentile P&L +$2,500
Probability of profit 47.3%
Median max drawdown -$2,400

Interpretation: Your profitable months were luck. The distribution is centered near zero with wide variance — essentially a coin flip with fees dragging you negative.

Common Mistakes in Monte Carlo Analysis

1. Too Few Trades

With only 20 trades, Monte Carlo results are unreliable. The distribution is too wide to draw conclusions. Aim for 100+ trades minimum before trusting the simulation.

2. Ignoring Correlation

Standard Monte Carlo assumes each trade is independent. But in reality, trades cluster — revenge trading creates correlated losses, trending markets create correlated wins. If your trades are highly correlated, Monte Carlo overstates your edge confidence.

This is why behavioral analytics matters alongside Monte Carlo. If you can identify and remove revenge clusters or tilt-driven trades before running the simulation, the results better reflect your actual skill.

3. Confusing Backtesting with Monte Carlo

Backtesting tests a strategy against historical data. Monte Carlo tests whether observed results are statistically significant. They answer different questions:
- Backtesting: “Would this strategy have worked in the past?”
- Monte Carlo: “Given my actual results, how confident am I that my edge is real?”

4. Not Using It for Position Sizing

Monte Carlo’s greatest practical application is position sizing. The 95th percentile drawdown tells you the worst-case scenario you should prepare for. If your account can’t survive that drawdown at your current position size, you’re over-leveraged.

Monte Carlo + Behavioral Analytics

Here’s where this gets powerful: combine Monte Carlo with behavioral leak detection.

Before removing leaks: Run Monte Carlo on your full trade history.
After removing leaks: Use the What-If Simulator to exclude revenge trades, worst hours, and symbol traps. Run Monte Carlo on the filtered set.

The difference reveals your true underlying edge — what your results would look like if you consistently avoided your worst behavioral patterns.

TraderDynamiq’s What-If Simulator does exactly this. It filters out specific behavioral patterns and recomputes your equity curve and statistics. Pair this with Monte Carlo analysis, and you know:

  1. Whether your current results are skill or luck
  2. What your results would look like without behavioral leaks
  3. How much improvement is available through discipline alone

Building Your Own Monte Carlo

For traders who want to run their own simulations, here’s a simple Python approach:

import random
import statistics

def monte_carlo(trades, num_simulations=10000):
    results = []
    drawdowns = []

    for _ in range(num_simulations):
        shuffled = random.choices(trades, k=len(trades))
        cumulative = []
        running = 0
        peak = 0
        max_dd = 0

        for trade in shuffled:
            running += trade
            cumulative.append(running)
            if running > peak:
                peak = running
            dd = peak - running
            if dd > max_dd:
                max_dd = dd

        results.append(running)
        drawdowns.append(max_dd)

    results.sort()
    drawdowns.sort()

    return {
        'median_pnl': statistics.median(results),
        'p5_pnl': results[int(0.05 * len(results))],
        'p95_pnl': results[int(0.95 * len(results))],
        'prob_profit': sum(1 for r in results if r > 0) / len(results),
        'median_dd': statistics.median(drawdowns),
        'p95_dd': drawdowns[int(0.95 * len(drawdowns))],
    }

The Bottom Line

Monte Carlo simulation answers the most important question in trading: is my edge real?

If you’ve had a good few months, run the simulation before assuming you’ve found your strategy. If you’ve had a bad stretch, run it before abandoning a potentially profitable approach.

Combined with behavioral analytics — removing your worst patterns and re-simulating — Monte Carlo reveals both your current statistical reality and your potential ceiling.


Related Articles


Want to see the same analysis run on your own trade history? Analyse your trades free — drop your Binance, Bybit or TradingView export and get your own repeating patterns ranked by measured P&L. No account, no email, no card, and your file is never stored. Not ready to upload? Read a real report first.

Import your trade history and see your behavioral analytics with TraderDynamiq. Start your free 14-day trial.

Free tools: Position Size Calculator | Risk/Reward Calculator

See what your own trading mistakes actually cost

Drop your Binance, Bybit or TradingView export and get your own leaks ranked in dollars — no account, no card, file never stored.

Analyse My Trades Free →

Or read a real report first · Start your free trial · See all features