AdvancedQuant / Risk

Monte Carlo Simulation

Using random sampling from distributions to model complex outcomes that can't be solved analytically.

What it is

Monte Carlo simulation is a computational technique for estimating the probability distribution of outcomes for a complex system by running many random samples. Rather than solving for the answer analytically — which may be impossible when many uncertain variables interact — a Monte Carlo simulation draws random inputs from assumed distributions, computes the resulting output, and repeats thousands or millions of times. The collection of outputs approximates the true probability distribution of the result.

The technique is named after the Monte Carlo Casino in Monaco — a reference to randomness — and was developed by physicists Stanislaw Ulam and John von Neumann while working on the Manhattan Project in the 1940s, where it was used to model neutron diffusion.

What it's used for in finance

Monte Carlo simulation appears throughout quantitative finance wherever analytical solutions are unavailable or impractical:

Option pricing: For options with path-dependent payoffs — Asian options (payoff depends on average price), barrier options (payoff depends on whether price crossed a level), or options on multiple correlated underlyings — no closed-form solution exists. Monte Carlo simulates many price paths and averages the payoffs.

Portfolio simulation: Given assumed return distributions and correlations for N assets, simulate thousands of portfolio outcomes over a specified horizon to estimate the probability distribution of terminal wealth, Value at Risk, or probability of reaching a funding target.

Stress testing: Banks and risk managers simulate thousands of economic scenarios — rate rises, credit spread blowouts, equity crashes — and aggregate their impact on a portfolio to understand tail risk.

Retirement planning: Financial planning software uses Monte Carlo to simulate thousands of market sequences to estimate the probability of portfolio depletion across different withdrawal rates.

The law of large numbers and convergence

Monte Carlo works because of the law of large numbers: as the number of random samples grows, the sample average converges to the true expected value. Error in a Monte Carlo estimate falls as 1/√N — to reduce error by 10×, you need 100× as many samples.

A simulation with 1,000 paths gives reasonable estimates of average outcomes and moderate estimates of tail probabilities. A simulation with 100,000 paths gives good estimates of the 99th percentile. A simulation with 1,000,000 paths is needed for reliable estimates of the 99.9th percentile.

This is why tail risk estimation from Monte Carlo requires large sample sizes: if you run 10,000 paths and care about events with 0.1% probability, only about 10 of your 10,000 paths will exhibit those events. The estimate of the tail is based on only 10 data points and will be noisy.

False precision from wrong input distributions

The primary weakness of Monte Carlo simulation is that the outputs are only as reliable as the input assumptions. A Monte Carlo model that assumes normally distributed returns and stable correlations will produce output claiming, with precise-looking percentages, that a 30% annual portfolio drawdown has a probability of 0.03%. The real probability may be 2% if returns are fat-tailed and correlations spike in crises.

The simulation gives an exact-looking answer — "there is a 0.03% chance of a 30% drawdown" — that is precisely wrong. The false precision is insidious: the number sounds authoritative, the mathematics is correct given the inputs, and the wrong assumption is buried in a distributional choice that is easy to overlook.

This is why stress testing with historically-calibrated or fat-tailed input distributions is crucial: changing the input assumption from normal to fat-tailed can change a tail probability estimate by 10-100×, which changes every downstream risk decision.

One thing most people get wrong

Monte Carlo results are presented as probability estimates, but they are really conditional probability estimates: conditional on the assumed input distributions being correct. A well-run Monte Carlo gives you a distribution of outcomes given your model of the world. It does not protect against being wrong about the model.

In a world of fat tails and correlated crises, the most important tail events are precisely the ones that require correct input distributions to capture. The simulation tells you what would happen if the world were Gaussian and correlations were stable. The events you most need to plan for are the ones where it is not. The fix is not better simulation — it is scenario analysis: manually constructing the three or four crisis scenarios you are most worried about and analyzing the portfolio's behavior in each, rather than trusting a probability distribution to generate them organically at the right frequency.