Skip to content
Back to blog
Methodology·15 May 2026·6 min

Reading a Monte Carlo fan chart: P5 to P95 in practice

A Monte Carlo fan chart compresses 10,000 possible futures into five percentile bands. Reading it well means understanding the model assumptions, not just the bands.

A Monte Carlo fan chart shows the distribution of simulated portfolio paths through five percentile bands: P5 (worst 5%), P25, P50 (median), P75, P95. 90% of simulations end inside the P5–P95 envelope; P5 is NOT the worst case but the median of the worst-decile outcomes. The chart is precise about the model and imprecise about reality — under Geometric Brownian Motion (the standard assumption) the band is too tight by roughly 5–10 percentage points compared to empirical equity tails.

It is the most information-dense chart a portfolio report can show — and the most misread in retail analytics. Most readers see "the area where my money will end up" and forget that the chart is a function of two arbitrary choices: the return model and the horizon. The rest of this post reads it correctly.

What the bands actually mean

For each simulated path, the chart records terminal portfolio value at each forward date. The bands are the cross-sectional percentiles at each date:

  • ·P50 — the median path. Half the simulations end above this line, half below.
  • ·P25 / P75 — the inter-quartile range. Half of all simulations end inside this band.
  • ·P5 / P95 — the 5th and 95th percentile. 90% of simulations end inside this band; 5% end above P95 and 5% below P5.

P5 is NOT the worst case. It is the median of the worst-decile outcomes. The actual worst path in 10,000 simulations is roughly 2× worse than P5 at the typical equity volatility level.

The model assumption — read this first

MEDGE and most retail tools use Geometric Brownian Motion (GBM): log-returns are Gaussian with the historical mean and standard deviation. GBM has three known weaknesses:

  • ·Tail under-estimation: real return distributions are leptokurtic. P5 under GBM is more optimistic than the empirical 5th percentile.
  • ·Constant volatility: GBM does not generate vol clusters. Realised drawdown paths are wider than the GBM fan.
  • ·Stationary correlations: a multi-asset GBM uses one covariance matrix for the whole horizon. 2022 broke this for 60/40.

The fan chart is a precise statement about an imprecise model. Read both halves.

The three reading mistakes to avoid

Mistake 1: "I will end up between P5 and P95"

You have a 90% probability of ending between P5 and P95 if and only if GBM is correct. Empirically the band is too tight — perhaps 80-85% of real paths land inside the GBM 90% band.

Mistake 2: "The fan is the range of possible outcomes"

The fan is the range of TYPICAL outcomes. The 1-in-100 path is roughly 1.5× wider in each direction; the 1-in-1000 path roughly 2.5×.

Mistake 3: "P50 is what I expect"

P50 is the median, not the mean. For lognormal returns the mean is HIGHER than the median (skewed to the right) and the mode is LOWER. The "expected" final value depends on which definition you use.

How to read it usefully

  • ·Use P5 as your "bad year" planning anchor — but assume it is somewhat optimistic.
  • ·Track the fan width as a measure of uncertainty: a 60/40 fan is narrower than a 100% equity fan. Diversification is visible.
  • ·Cross-check the simulated CVaR against the historical CVaR on the backtest window. Large divergence → the GBM tail is wrong, prefer historical.
  • ·If the strategy depends on a tactical signal, the fan chart is misleading by construction: GBM does not know your signal exists.

What MEDGE Capital ships

The Portfolio Analyzer runs 10,000 GBM paths on the user-selected forward horizon and reports the five-percentile fan plus the "probability of reaching €X" widget that converts the path distribution into a direct planning answer. Both calibration and the GBM assumption are stated on the report; bootstrap-based and regime-switching simulators are on the roadmap for users who need the tail honesty.

Interested in MEDGE Capital's approach?

Open the platform