CalcStocks
Investing maths, shown in full
EN

Monte Carlo Simulation Calculator

Stress-test a stock-investing plan across thousands of possible return paths. See the chance of reaching your target, the downside range and which assumption changes the outcome most — all from inputs you can inspect and edit.

1,000 reproducible paths by default Your assumptions stay in your browser Scenario analysis, not a forecast
Your plan

Use contributions while accumulating and withdrawals while drawing down. You may enter both, but they are applied every month in that order.

$

The investable balance at the start of month one.

$

Fixed nominal amount added at each month end.

$

Set to zero while accumulating. Withdrawals rise with the inflation input.

years
$

The calculator reports the share of paths ending at or above this amount.

Return assumptions

These are scenario inputs, not CalcStocks estimates or predictions.

%
%

The standard deviation of annual returns. Higher volatility widens the range.

Advanced assumptions
%

Used only to increase annual withdrawals over time.

More paths make percentile estimates steadier but do not make the assumptions more certain.

The same inputs and seed produce the same displayed paths.

Downloads stay on your device. Loading a scenario reads a file you choose; CalcStocks does not store or receive these inputs.

Target resilience

—

of simulated paths finish at or above your target

—

10th percentile
—
Median outcome
—
90th percentile
—
Depleted before horizon
—

Outcome range over time

The shaded band is the middle 80% of simulated monthly balances; the cyan line is the median. It is not a confidence interval or prediction.

10th percentileMedian outcome90th percentile

—

Show calculation timing and assumptions

—

Monthly steps
—
Contribution each month
—
First-month withdrawal
—
Seed
—

Which assumption matters most?

Each row changes one input while keeping the remaining plan and seed unchanged. It is a comparison within this model, not advice.

ScenarioTarget chanceMedian ending balance

The result is arithmetic from your assumptions. It cannot tell you what markets will do and it excludes taxes, fees, changing income, shocks and many real-world risks.

Want the constant-return comparison?

Monte Carlo shows the range around a plan. A fixed-return projection makes the same plan easier to audit one assumption at a time.

Open the Compound Interest Calculator with your starting balance, contribution, horizon and expected return carried over. It uses a single constant-return path, so its result is deliberately different from this scenario range.

Compare a constant-return projection

How to use this simulator

1

Enter the plan, not a ticker

Start with the current portfolio, a monthly contribution or annual withdrawal, a horizon and an ending-balance target. Nothing is sent to CalcStocks or a market-data provider.

2

State the return and volatility assumptions

Expected return sets the long-run center of the simulated paths. Volatility controls how widely those paths spread from month to month. Test a range if either is uncertain.

3

Read probability and percentiles together

The target percentage answers how many model paths clear your selected balance. The 10th, 50th and 90th percentile balances show the range behind that single percentage.

4

Stress one assumption at a time

The sensitivity rows immediately test lower return, higher volatility and higher contributions. They help identify the input the plan is most sensitive to without disguising a scenario as certainty.

Method: seeded geometric Brownian motion

For each path, the calculator draws a deterministic sequence of standard-normal monthly shocks from the displayed seed. It applies a lognormal return using your annual expected return and volatility, then adds the monthly contribution and subtracts the inflation-adjusted withdrawal. A path that reaches zero stays at zero.

V(t + Δt) = V(t) × exp((ln(1 + r) − σ² / 2)Δt + σ√Δt × Z)

Here r is your expected annual return, σ is annual volatility, Δt is one twelfth of a year, and Z is a standard-normal draw. The formula makes each monthly return positive in percentage terms, but a sequence can still exhaust a withdrawing portfolio. The code sorts all ending balances to calculate the displayed percentiles.

How to read a resilience result

A 70% target chance means 700 of 1,000 paths under these assumptions finished at or above your target. It does not mean there is a 70% real-world chance. It is useful for comparing the same plan after one clear assumption changes, especially when withdrawals make the order of returns matter.

What the model deliberately leaves out

Markets do not promise stable returns or volatility, and extreme moves occur more often than a simple normal-shock model suggests. The page does not look up stock prices, fit a historic series, rebalance assets, model taxes or fees, or make a suitability judgement.

  • The inputs govern every result; optimistic assumptions produce optimistic paths.
  • Constant return and volatility assumptions can miss regime changes and fat-tail losses.
  • A Monte Carlo percentage is model output, not a retirement-safety threshold or an investment recommendation.
  • Inflation only raises withdrawals here; contributions and the target are nominal inputs unless you change them.

Reproducible worked example

The default example starts with $100,000, adds $500 per month for 25 years, aims for $1,000,000, assumes 7% expected annual return and 15% annual volatility, and uses seed 20260801.

  • Repeat it exactly: leave the default fields and seed unchanged. Reloading the page produces the same target probability, percentiles and chart because the random draws are seeded.
  • Test the return assumption: lower expected return from 7% to 6%. The sensitivity table performs this comparison automatically, while every other input stays unchanged.
  • Test sequence risk: add an annual withdrawal. The depletion measure can rise even where the assumed average return remains positive, because early negative paths matter more once money is leaving the portfolio.
  • Read the target honestly: changing $1,000,000 to $800,000 changes the reported target chance; it does not make the underlying plan safer or markets more predictable.

Monte Carlo simulation questions

Inputs, outcomes, privacy and the limits of scenario modelling.

Basics

What is a Monte Carlo simulation for investing?

It runs many possible return paths from stated assumptions instead of compounding one fixed return. The ending balances form a distribution, which the calculator summarizes with probabilities and percentiles.

Why not use a normal compound-interest calculator?

A fixed-return calculator is still useful, but it hides variation and the order of returns. Variation matters especially when you are withdrawing money, because a poor early sequence can reduce the balance that later returns act on.

Does this predict the stock market?

No. It creates scenarios conditional on the return and volatility you enter. It does not use a ticker, news, analyst forecasts, a live price feed or a claim about where the market will go.

Why does the calculator use a seed?

A seed makes the pseudo-random sequence repeatable. Two people entering the same inputs and seed can check the same calculation, rather than receiving a different result merely because they reloaded the page.

Inputs

What counts as the starting portfolio?

Use the amount you intend to expose to the investment plan at the start of the simulation. Do not include cash you cannot invest or debt that should be considered separately.

How are monthly contributions handled?

The entered amount is added at the end of every simulated month after that month’s market move. It is a fixed nominal amount; the calculator does not automatically raise it with salary or inflation.

How are withdrawals handled?

The annual amount is divided into monthly withdrawals. The first month uses one twelfth of the annual amount, and subsequent withdrawals increase with the entered inflation rate.

What expected return should I use?

There is no universal correct input. Use a documented assumption appropriate for your own planning and test lower alternatives. This page leaves the value editable rather than presenting a default as a forecast.

What is annual volatility?

It is the assumed standard deviation of annual returns. Higher volatility creates a wider range of monthly shocks and therefore a wider range of simulated ending balances.

What does inflation change in this calculator?

It increases the annual withdrawal over time. It does not automatically change contributions, the target, market returns, taxes or fees.

Results

What does the target chance mean?

It is the fraction of simulated paths whose ending balance meets or exceeds the target you entered. It is a property of this model run, not a real-world probability guarantee.

How should I read the 10th, median and 90th percentiles?

The 10th percentile is the balance at or above which 90% of simulated endings fell; the median splits the simulated outcomes in half; the 90th percentile marks an optimistic part of the modelled range.

What does depleted before horizon mean?

It counts paths whose balance reached zero before the final month. Those paths stay at zero afterward, so the measure is especially relevant when withdrawals are entered.

Is the fan chart a confidence interval?

No. It is a visual summary of the 10th, 50th and 90th percentile balances produced by this particular simulation model at each month.

Why does the sensitivity table change only one input?

Changing one input at a time helps show what drives the difference. It is not an optimisation or recommendation, and several assumptions can change together in real life.

Limits & privacy

Does the calculator use historical stock data?

No. It is intentionally browser-only and uses the assumptions you type. A historic backtest or ticker-calibrated simulation is a separate task with data-source and methodology requirements.

Can this model capture crashes?

Not reliably. The model draws normal shocks around constant assumptions, while real markets can have jumps, changing volatility and extreme losses more often than that simple model represents.

Is a high success percentage a recommendation to invest or retire?

No. It is not personalised financial, tax or investment advice and it omits many factors that could matter to a real decision.

Are my financial inputs sent to CalcStocks?

No. The simulation runs in your browser. The share feature puts the values in the URL so you can reproduce a scenario; do not share that link if you do not want to disclose its inputs.

Do more simulations make the result more accurate?

More paths reduce the random sampling noise in the displayed percentiles. They do not validate the return, volatility, inflation or withdrawal assumptions you chose.

Method and source

This calculator implements a transparent geometric-Brownian-motion scenario model with a deterministic pseudo-random generator. The formula, monthly timing, source code and default example are visible or reproducible from this page.

Black and Scholes (1973), The Pricing of Options and Corporate Liabilities — Original academic source for the lognormal, constant-volatility asset-price model. It did not review or endorse CalcStocks or this calculator.

Past performance does not guarantee future results. This educational calculator is not financial, tax or investment advice and does not determine whether a plan is suitable.

Contact

Found a bug, disagree with a formula, or want a calculator that is not here yet? Tell us.

Your message is emailed to us and not stored in a database. Please do not include account numbers, passwords or other sensitive details.