How to use the Monte Carlo portfolio simulator
- Starting value and monthly contribution. Contributions are added at the end of each month. Enter 0 for a lump sum only.
- Expected annual return and volatility. Use the arithmetic mean of yearly returns after fees, and the standard deviation of yearly returns. For a mix of assets, the portfolio volatility calculator turns weights, volatilities and correlations into one figure. The defaults are example assumptions, not forecasts.
- Years, target value and drawdown threshold. The target sets the probability of success; the threshold sets the drawdown depth you want the odds for.
- Number of simulations, seed and distribution. The seed fixes the random draws, so the same inputs always reproduce the same paths.
This page builds wealth; it does not draw money out. For withdrawals in retirement, use the retirement Monte Carlo simulator.
How the simulation works
Monthly returns are lognormal. Their parameters are set so that the gross annual return has exactly the expected return μ and volatility σ you enter:
Monthly gross return G = exp(M/12 + (S/√12) × ε)ε is a standard normal draw, or a Student-t with 4 degrees of freedom divided by √2 so that its variance is 1. The median annual growth rate is eM − 1.
Each month the balance earns its return and then receives the contribution, while a separate return index tracks the portfolio’s performance without the new money:
Drawdownt = 1 − It ÷ max(I0, …, It)C is the monthly contribution. The maximum drawdown of a path is its largest drawdown; recovery time runs from the bottom of that drawdown to the month the index regains the previous peak.
Because the expected monthly gross return is exactly (1 + μ)1/12, the expected value of the portfolio has a closed form, which the simulated mean should approach:
A worked example
You start with $100,000 and add $500 a month for 20 years, $220,000 in total. The portfolio is assumed to return 7% a year on average with 15% volatility.
Across 2,000 simulated paths, the median value at the end is $563,123, and 90% of paths end between $245,614 and $1,271,236. The expected value is $640,737; the simulated mean of $638,258 is close to it. 58.8% of paths end above the $500,000 target, and half of all paths have touched it by the 17 years mark.
The road is rough. The median maximum drawdown is 31.5%, 1 path in 10 falls 46.9% or more, and 1 in 20 falls 51.8%. 56.9% of paths suffer a fall worse than 30%. Recovering from the worst drawdown takes a median of 2 years 11 months, and 25.6% of paths are still below their old high when the 20 years end.
Volatility costs twice
| Annual volatility | Median value | Chance of the target | Median max drawdown | Fall worse than 30% | Median recovery |
|---|---|---|---|---|---|
| 10% | $606,487 | 69.9% | 18.2% | 5.5% | 1 year 9 months |
| 15% | $563,123 | 58.8% | 31.5% | 56.9% | 2 years 11 months |
| 20% | $506,991 | 50.6% | 44.4% | 93.7% | 4 years 8 months |
The expected value is the same $640,737 in all three rows, because the expected return does not change. Volatility lowers the typical outcome (the median falls as volatility rises) and deepens and lengthens the drawdowns at the same time. A lower expected return hurts in a different way: at 5% the median drops to $410,296 and only 35.3% of paths reach the target.
Contributions change the destination but not the ride. Raising the monthly amount to $1,000 lifts the median to $795,378 and the chance of the target to 82.6%, while the drawdown figures, measured on returns, stay exactly where they were.
How to read drawdowns and recovery times
A deep drawdown is likely, not exceptional. Over 20 years, the median path’s worst fall is 31.5%, and over 30 years it is 35.8%: the longer you are invested, the worse the worst stretch you are likely to meet. If a fall of that size would make you sell, the plan needs a lower-volatility mix, not a better forecast.
Recovery times are censored. Some paths are still below their old high when the simulation ends. Instead of dropping them, the simulator counts them as “not yet recovered”, so the median recovery time is honest when most paths recover. The 90th percentile here is longer than the horizon, which the result says in words rather than as a number. The drawdown recovery calculator shows the gain needed to climb out of a given hole.
Sampling noise is small but visible. With seed 2 instead of 42, the median value is $549,595 and the chance of the target is 57.5%; with 5,000 simulations the default inputs give $555,739 and 57.5%. Differences of a point or two between runs are noise, not information.
What this simulator does not include
- Independent months with constant parameters. Returns have no momentum, mean reversion or volatility clustering, and the expected return and volatility never change. Real markets have calm years and turbulent ones, and drawdowns that unfold over several months can be deeper than an independent model suggests. Compare with the drawdowns in your own history using the maximum drawdown calculator.
- One aggregate return. The portfolio is treated as a single asset with one return and volatility; rebalancing between assets and changing correlations are not modeled.
- Nominal dollars, no taxes or fees. Enter a real (after-inflation) return to read the results in today’s dollars, and an after-fee return if fees apply.
- No withdrawals or changes in contributions. Contributions are fixed in dollars. For income in retirement, use the retirement Monte Carlo simulator.
- The Student-t option is a simple fat-tail check. It keeps the same median path and log-volatility, so it shows the effect of more extreme months alone. The exact mean of an exponentiated Student-t is not finite, so with that option the closed-form expected value applies to the normal model only.