QuantOracle

Monte Carlo Simulation Calculator

Run thousands of random price paths and see the full distribution of where your portfolio could end up. Handles contributions, withdrawals, sequence-of-returns risk, and inflation-adjusted (real) outcomes.

Inputs

Calls the deterministic /v1/simulate/montecarlo endpoint server-side. First 1,000/day free, no signup.

Results

showing nominal future dollars
Median outcome
$356,967
Mean outcome
$502,537
CAGR (median)
8.41%(nom)

Distribution of terminal outcomes

PercentilePortfolio valuevs starting
5th$99,572-0.4%
25th$208,246+108.2%
50th (median)$356,967+257.0%
75th$612,150+512.2%
95th$1,400,521+1300.5%

Probability events

Loss vs start
5.1%
Doubling
76.9%
Ruin (zero)
0.00%

Sample paths

Showing 5 of 1,000 simulated paths · computed in 3999 ms · nominal future dollars
What does this mean?

In the median outcome, your $100,000 grows to $356,967 over 20 years (CAGR 8.41%). But 5.1% of paths end below the starting value, and the worst 5% end at or below $99,572. The best 5% reach $1,400,521 or higher.

Frequently asked questions

Monte Carlo simulation runs thousands of random scenarios for an investment to estimate the full distribution of possible outcomes. Instead of a single point estimate ("you will have $200,000 in 10 years"), it gives you a range with probabilities ("median $200K, 5th percentile $80K, 95th percentile $510K, 18% chance you end below your starting value"). The technique is named after the Monte Carlo casino because it relies on randomness — modern variants use pseudo-random sequences for reproducibility.

Why Monte Carlo, instead of a single expected-return projection?

The simplest way to project a portfolio is to compound the expected return: start with $X, multiply by (1 + r)T, done. It gives a clean number. It is also wrong in a way that matters: two portfolios can have the same expected return but very different risk profiles, and the single-number projection hides the risk entirely.

Monte Carlo simulation runs thousands of random scenarios drawn from the same distribution and reports the full range of outcomes. You see not just "you will probably end at $250,000" but "5% chance you end below $80K, 50% chance you end above $200K, 5% chance you end above $510K." The spread is what informs decisions like whether your retirement plan can survive bad luck.

The math behind the simulation

This calculator uses geometric Brownian motion — log returns are drawn from a normal distribution with mean (μ − σ²/2)·dt and standard deviation σ·√dt. At each timestep, the portfolio is multiplied by exp(drawn_return). Contributions are added at year-end; withdrawals are subtracted as a fixed fraction of the current portfolio. The result is one random path from your starting value to a terminal value.

Repeat that process N times (1,000+ paths) and tabulate the distribution of terminal values. The percentiles of that distribution are the answer. Standard error of the percentile estimates is roughly 1/√N, so 1,000 paths gives ~3% precision and 10,000 paths gives ~1%.

Sequence-of-returns risk and why it matters

With contributions only (no withdrawals), the order of returns barely matters — math is commutative. With withdrawals, order matters enormously. Two retirees with the same average return can end up wildly different just based on whether bad years hit early or late: early bad years deplete the portfolio when withdrawals are largest, leaving nothing to grow. Late bad years happen on a portfolio that has already had decades of compound growth, so they sting less.

This is "sequence-of-returns risk," and it is why the famous "4% rule" for retirement uses 30 years of historical sequences rather than a single average. Monte Carlo simulates the same idea synthetically: by running thousands of random orderings, you see how often early-bad-year scenarios cause ruin even when the long-term mean return is fine.

Limitations to be honest about

  • Assumes log-normal returns. Real markets have fatter tails — extreme moves are more frequent than the model predicts. The simulation under-estimates the probability of catastrophic losses. For institutional risk modeling, use a Student-t or GARCH model. The QuantOracle API exposes GARCH at /v1/stats/garch-forecast.
  • Constant μ and σ. Real return distributions vary across regimes (bull, bear, high-vol, low-vol). The simulation treats them as fixed. For more realism, run multiple simulations under different regimes and weight the results.
  • No correlations across assets. A single-asset model cannot capture diversification. For multi-asset portfolios, you would simulate each asset and combine using a correlation matrix.
  • Garbage in, garbage out. Monte Carlo magnifies your input assumptions. If your expected return is too optimistic, every path will be too optimistic. Forward- looking returns are usually lower than historical — current consensus for US equities is closer to 6-7% real, not the 10% historical average.

Related calculators

For risk-adjusted return analysis on a known return series, use the Sharpe ratio calculator. For tail-risk estimation on historical returns, use the Value at Risk calculator. For optimal position sizing given an edge, use the Kelly criterion calculator.

Related calculators