Historical Backtest
Stress-test your asset allocation and withdrawal plan against every historical period. Uses real annual returns, not simulated numbers.
Start from a preset
Asset allocation
Withdrawal plan
How this works
Instead of assuming a fixed annual return, this calculator replays your portfolio through every possible starting year in history. For each window it applies the actual returns that occurred, deducts your withdrawal, and checks whether the portfolio survived.
The success rate tells you what fraction of historical windows ended with money remaining. Past performance is never a guarantee of future results.
Withdrawal strategies
- Fixed amount — you withdraw the same real income every year regardless of markets. This is the classic 4% rule and it can run out of money, which is what the success rate measures.
- Percentage of balance — you withdraw a set percentage of whatever the portfolio is worth. Because the withdrawal shrinks with the portfolio, it can never hit zero, so its success rate is ~100% by construction. The meaningful risk is how far your income falls.
- Guyton-Klinger — you start from an inflation-adjusted income but apply guardrails: if a slump pushes your withdrawal rate more than 20% above its starting level you cut spending 10%, and if a boom pulls it more than 20% below you raise it 10%. You also skip the inflation raise in the year after a losing one. These dynamic adjustments cushion sequence-of-returns risk, so the portfolio survives more often than a level income — at the cost of a variable paycheck.
Monte Carlo — instead of contiguous history, this mode reshuffles individual historical years at random (bootstrap resampling with replacement) across thousands of simulations, giving a probability of success and a full range of outcomes. Because it samples with replacement it isn't capped by how many non-overlapping windows history holds, though it also breaks up real multi-year momentum and mean-reversion.
Data sources
- S&P 500 (total return) — Damodaran / NYU Stern public dataset, 1928–2026
- US 10-Year Treasury (total return) — Damodaran / NYU Stern public dataset, 1928–2026
- US Total Market (Wilshire 5000) — Wilshire index factsheets, 1971–2026
- Small-Cap (Russell 2000) — FTSE Russell published index returns, 1979–2026
- Nasdaq-100 — Nasdaq published index returns, 1986–2026
- Real Estate (NAREIT All Equity REITs) — Nareit published index returns, 1972–2026
- Gold (spot) — London bullion market reference prices, 1968–2026
- US CPI inflation — US Bureau of Labor Statistics, 1928–2024
- ETF total returns (SPY, QQQ, SOXX, XLK/XLV/XLF, ARKK, SCHD/VIG/VYM, VXUS/VWO, TLT/IEF/BND/LQD, DIA) — Published fund total returns — verify provenance before launch, inception–2026
Known limitations
- Annual rebalancing assumed — no transaction costs, fees, or taxes are modelled.
- Adjacent rolling windows overlap heavily, so the effective sample size is far smaller than the window count and the success rate understates true uncertainty.
- All returns are in nominal USD — no currency conversion is applied.
- Withdrawals are taken at the start of each year, before that year's return is applied.
Index names and ETF tickers are shown for identification only and are not recommendations to buy any product. Disclaimer