1. Calculators
  2. Quant & Algorithmic Trading

Monte Carlo Portfolio Simulator

Run a portfolio and its monthly contributions through thousands of simulated markets. See the range of values year by year, the probability of reaching your target, how deep the worst drawdown is likely to be and how long recovery takes.

Updated Oct 16, 2026Free · no sign-upFormulas tested

Your inputs

Simulates thousands of monthly return paths for a portfolio with regular contributions and shows the range of outcomes, the odds of reaching a target and how deep and long the drawdowns get.

$
$
Added at the end of every month. Enter 0 for none.
%
Arithmetic mean of yearly returns, after fees. An assumption, not a forecast.
%
Standard deviation of yearly returns.
years
$
The balance you want to reach by the end.
%
Probability of a peak-to-trough fall worse than this.
100 to 5,000 (simulations × years up to 100,000).
The same seed always gives the same paths.
Monthly return distribution

Results

Median value after 20 years$563,12390% of paths end between $245,614 and $1,271,236
Chance of ending above $500,000
58.8%
Median time to first reach it: 17 years
Median maximum drawdown
31.5%
90th percentile: 46.9%
Maximum drawdown, 95th percentile
51.8%
1 path in 20 falls this far or further
Chance of a drawdown worse than 30%
56.9%
Median recovery from the worst drawdown
2 years 11 months
From the bottom back to the old high; 25.6% of paths have not recovered by the end
Total contributed
$220,000
$100,000 plus $500 a month
Value, bad case (5th percentile)
$245,614

The typical (median) path ends at $563,123, below the $640,737 you get by compounding the expected return: volatility drags the median under the mean. Along the way, half the paths suffer a peak-to-trough fall deeper than 31.5%, and 56.9% fall more than 30%.

Range of portfolio values over time

95th percentile75th percentileMedian25th percentile5th percentileTotal contributed
$0$500K$1M$1.5M0369121518Target $500,000

Each line is a percentile of all simulated balances at the end of that year, not a single path. Nominal dollars.

Portfolio value by year

YearContributed5th pct25th pctMedian75th pct95th pct
1$106,000$90,313$102,755$112,703$122,998$139,893
2$112,000$92,119$110,118$125,613$141,883$173,357
3$118,000$95,581$119,611$139,287$161,680$203,396
4$124,000$102,213$129,866$153,289$181,853$234,981
5$130,000$109,263$141,251$167,877$204,613$269,821
6$136,000$115,637$154,529$185,307$228,512$308,177
7$142,000$123,483$165,475$204,861$253,405$345,112
8$148,000$128,893$178,193$223,592$276,011$391,253
9$154,000$136,366$191,752$241,064$308,248$441,664
10$160,000$144,229$205,955$261,885$338,032$497,850

Probability of a maximum drawdown worse than

Measured on the portfolio’s return index, like a fund’s unit price, so new contributions do not hide a fall.

Peak-to-trough fallShare of paths
More than 10%100.0%
More than 15%99.7%
More than 20%96.0%
More than 25%80.6%
More than 30%56.9%
More than 40%22.1%
More than 50%6.6%
More than 60%1.4%

Results are estimates from the numbers you enter. They are not financial, tax or legal advice.

How to use the Monte Carlo portfolio simulator

  1. Starting value and monthly contribution. Contributions are added at the end of each month. Enter 0 for a lump sum only.
  2. 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.
  3. Years, target value and drawdown threshold. The target sets the probability of success; the threshold sets the drawdown depth you want the odds for.
  4. 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:

S² = ln(1 + σ² ÷ (1 + μ)²), M = ln(1 + μ) − S² ÷ 2
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:

Vt = Vt−1 × Gt + C, It = It−1 × Gt
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:

E[VT] = V0(1 + i)n + C × ((1 + i)n − 1) ÷ i, with i = (1 + μ)1/12 − 1n is the number of months. The random numbers come from the seeded mulberry32 generator with Box–Muller normals, as on the other Monte Carlo pages of PromtFinance.

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.

Frequently asked questions

What is a Monte Carlo portfolio simulation?
It projects a portfolio many times with random monthly returns drawn from the expected return and volatility you enter, instead of assuming the same return every year. The spread of results shows what could happen, not just the average. With the example inputs, half of 2,000 simulated portfolios end above $563,123 after 20 years, and 58.8% end above the $500,000 target.
Why is the median lower than the expected value?
Returns compound, and losses hurt compounding more than equal gains help. The mean is pulled up by a minority of very good paths, while the typical path grows at roughly the expected return minus half the variance. In the example the expected value is $640,737 but the median is $563,123, and the median growth rate is 5.96% a year against an expected 7%.
How likely is a 30% drawdown over 20 years?
It depends mostly on volatility and the length of the horizon. With 15% annual volatility, 56.9% of the simulated 20-year paths fall more than 30% from a peak at some point; at 10% volatility the figure drops to 5.5%. Over long horizons, a deep drawdown is the normal experience for an equity-like portfolio, not a rare event.
Do monthly contributions reduce drawdowns?
They do not reduce the market loss, but they hide it if you look at the account balance, because new money keeps the balance up. That is why this simulator measures drawdowns on the return index, like a fund's unit price. The drawdown statistics are identical with $0 or $1,000 a month: 31.5% and 31.5% at the median.
What does the fat-tails option change?
It draws monthly shocks from a Student-t distribution with 4 degrees of freedom, scaled to the same volatility, so single extreme months become more frequent. Over many years the sum of monthly returns is still close to normal, so the effect on long-run values is modest: the 95th percentile drawdown moves from 51.8% to 52.8%. Crises that last for months, which come from volatility clustering, are not captured by either option.

Related calculators

All calculators →

This calculator is for education and planning. It uses the formulas described above and the inputs you provide; real results depend on fees, taxes, timing and other details that a general tool cannot know. PromtFinance does not give personal financial advice. Check important decisions with your provider or a qualified professional.