Historical Crash Survival Calculator
Replay a real historical crash against your own portfolio. See the maximum drawdown, the dollar loss, the crash low, how long the recovery took, which holdings caused the damage, and whether you'd have survived within your risk limit.
Historical Crash Survival Calculator
Replay a real market crash against your portfolio. Get the maximum drawdown, the dollar loss, how long recovery took — and which holdings caused the damage.
Your portfolio
Nothing is uploaded — all maths runs in your browserHow do you want to describe your holdings?
Asset allocation drag a slider or type a percentage
Weights are re-normalised automatically when you run the test, so a total of 99% or 103% will not break anything — the weights are simply scaled.
Custom holdings
Total: 0%| Ticker / name | Weight % | Crash return % optional | Data quality | Class |
|---|
Paste a holdings list (CSV or “ticker,weight” per line)
One holding per line: TICKER,weight. An optional third column overrides the crash return: TICKER,weight,crashReturn%.
Unknown tickers are mapped to Other / unclassified and flagged ● proxy. Crypto tickers return no data for episodes before 2012 — the tool says so instead of inventing a number.
Try a scenario
Each button loads a portfolio, a crash and the right settings, then runs the replay.
Choose a historical crash
17 episodes loadedPopular crashes
More historical crises (full library, 1929 → 2025)
Crash facts auto-filled from the library — the same values used in the maths
Hypothetical crash builder
Hypothetical scenario — not a historical replayAdvanced settings
Sensible defaults — skip this tab if you just want the answerThese change the path, not the story: cash flow timing, rebalancing, fees, taxes, leverage and inflation.
Contributions & withdrawals during the crash
Withdrawals are taken at the start of each period (before that period's return), which is the standard conservative convention.
Rebalancing, fees & taxes
Rebalancing genuinely changes the result here because each asset class follows its own crash path inside the replay, so drifting weights behave differently from monthly rebalancing.
Inflation & currency
Leverage stress test (full liquidation modelling lives in the Margin Call & Liquidation Calculator)
Constant leverage is the standard approximation . A forced liquidation is flagged the moment equity falls below the maintenance-margin threshold.
Reverse crash test — how big a crash could I survive?
Portfolio A vs Portfolio B
Historical dataset Editable reference values
The library ships with rounded, publicly reported peak-to-trough figures so the tool works offline in a single file. Values are offsets by asset class — they are approximations, not licensed series. Replace them with your own licensed data before publishing at scale.
View / edit the episode data (JSON)
Your crash stress test
no run yetCrash timeline
Walk through the crash month by month
Crash equity curve your portfolio vs benchmark
Normalised crash chart (start = 100)
Underwater (drawdown) chart
Which holdings caused the damage?
| Holding | Class | Weight | Crash return | Dollar impact | Share of loss | Data quality |
|---|
Loss attribution
You vs. the benchmark
| Metric | Your portfolio | Benchmark | Difference |
|---|
Recovery maths
Survival diagnosis
All-crisis stress test
| Crisis | Max drawdown | Dollar loss | Recovery | Gain needed | Limit |
|---|
Drawdown by crisis
Sensitivity — what would change the outcome?
| Scenario | Max drawdown | Dollar loss | Change vs. now |
|---|
How this result was calculated
Formulas used in the calculation
Every number on this page comes from the equations below. They are shown so you can check the maths yourself.
1. Portfolio return and roll-forward
2. Drawdown, maximum drawdown and dollar loss
3. Gain required to recover, and recovery time
A −40% loss needs +66.7% merely to break even — and the gain required grows faster than the loss.
4. Inflation, real return and fees
5. Leverage, financing cost and margin
6. Resilience score, cohort survival and cash runway
$S$ combines drawdown resilience ($d$, max drawdown), recovery resilience ($\tau$ vs. the benchmark's own recovery $\tau_{\text{bench}}$) and concentration ($H$, the Herfindahl index of your weights). The score is fully disclosed — no black box.
Anatomy of a portfolio crash
The same six checkpoints are reported for every replay: start, peak, decline, trough, recovery start and full recovery.
Maximum drawdown is measured from the running peak, not from the start — so it can be larger than the fall from your entry point.
Worked example (sanity check)
A $500,000 all-stock portfolio withdrawing $20,000 (a 4% rate) hits a −37% first year:
- Withdrawal is taken first:
500,000 − 20,000 = 480,000. - Then the return applies:
480,000 × 0.63 = $302,400. - Next year's inflation-adjusted draw of $20,600 is now
20,600 / 302,400 = 6.8%of the portfolio — that is the danger signal. - Breakeven on the decline alone needs
1/(1 − 0.396) − 1 = +58.7%.
Frequently asked questions
What is a historical crash survival calculator?
How much would my portfolio lose in a market crash?
Would my portfolio have survived the 2008 financial crisis?
How is maximum drawdown calculated?
DD = V / runningPeak − 1. The maximum drawdown is the worst of those readings. Show both the percentage and the dollar amount, because −38% and −$38,000 on $100,000 feel completely different.How much gain is needed to recover from a 50% loss?
1/(1 − d) − 1, so losses and the gains needed to undo them are not symmetrical: −20% needs +25%, −33% needs +50%, −50% needs +100%, −80% needs +400%.What is the difference between this tool and a portfolio stress test?
Can diversification reduce crash losses?
Does leverage make a market crash worse?
Why are some holdings flagged “no data for this period”?
Does this predict the next crash?
Keep going — related risk tools on AlamToolKit
Each of these answers a different question. This page only answers “would my portfolio have survived that crash?”
Historical Crash Survival Calculator — Step-by-Step Guide
AlamToolKit.com built this calculator to answer one question honestly: how would my portfolio have survived a real market crash? Not a hypothetical stress test. Not a Monte Carlo simulation. A replay of actual historical episodes — 1929, 2008, COVID, 2022, and thirteen more — applied to your own holdings, with every number shown and every assumption disclosed.
This guide explains every field, shows you how to validate your inputs, and gives you worked examples you can check by hand. By the end you will know exactly what the calculator does, where its limits are, and how to use it for real-world decisions.
Quick start — 4 steps, about 2 minutes
- Tab 1 — Portfolio. Enter your starting value, pick a currency, then set your asset allocation with the sliders (or switch to custom holdings and type tickers).
- Tab 2 — Crash. Pick a historical episode (e.g. 2008 GFC, COVID, 2022) and choose where you want the replay to start.
- Tab 3 — Advanced. Optional. Add contributions, withdrawals, fees, leverage or inflation. Skip it if you just want the headline answer.
- Tab 4 — Results. Press Run the crash test. You will see the maximum drawdown, the dollar loss, recovery time, and which holdings caused the damage.
Anatomy of a portfolio crash
The same six checkpoints are reported for every replay. Maximum drawdown is measured from the running peak, not from your entry point — so it can be larger than the fall from where you started.
On desktop the diagram scales to the full card width and stays sharp at any zoom. On mobile it shrinks fluidly without horizontal scrolling.
Step 1 — The Portfolio tab
This is where you describe what you own and how much you started with. Nothing is uploaded; all the maths happens inside your browser. Every field below is validated before the calculation runs. Units are shown next to each label.
Basic inputs
Starting portfolio value required
What it is: the value of your portfolio at the market peak, before the crash begins.
What to enter: a whole number in your chosen currency, e.g. 100000. Minimum 100.
Why it matters: every dollar figure in the results is scaled from this number. If you enter $100,000 and the drawdown is −40%, the tool reports a $40,000 loss.
Common mistake: entering today’s value. Use the value at the peak — the point just before the crash started.
Currency display
What it is: the currency symbol used in every result.
What to enter: pick from USD, EUR, GBP, CAD, AUD, INR, BDT, JPY, CHF, SGD, HKD, BRL, ZAR, AED.
Important: this is a display choice only. It does not convert historical returns. To model currency effects, use the Currency treatment setting in the Advanced tab.
Return basis required
What it is: whether the historical returns include dividends.
- Total return (dividends reinvested) — recommended. Matches how most index funds are reported.
- Total return, dividends paid out — dividends are taken as cash and not reinvested, so recovery is slower.
- Price return only — excludes dividends. Use this to compare against a price index, but note it makes the crash look slightly worse.
Why it matters: over a multi-year recovery, reinvested dividends are a meaningful part of the bounce-back.
Benchmark for comparison optional
What it is: the index your portfolio is compared against, shown as a dashed line on the charts.
Options: S&P 500, Nasdaq-100, MSCI World, MSCI ACWI / FTSE All-World, or a 60/40 balanced mix.
How it works: the benchmark is simulated with the same episode data and the same monthly path shape, so the comparison is apples-to-apples. Its own drawdown is shown in the results table.
How do you want to describe your holdings?
Two radio buttons let you choose the input style. You can switch at any time; the other mode keeps its own data.
Simple allocation (asset classes)
Best for: most users. You set percentages across nine asset classes and the tool handles the rest.
Classes: US stocks, International stocks, Bonds, Cash & equivalents, Gold, Real estate / REITs, Commodities, Crypto, Other / unclassified.
How to set them: drag the slider or type directly in the number box next to it. Both stay in sync.
Total: the pill above the sliders shows your total. It turns green at 100%. If you are at 99% or 103%, that is fine — the tool scales the weights to 100% automatically when you run.
Custom holdings (tickers & weights)
Best for: users who want to enter real tickers such as VOO, QQQ, BND, GLD.
Columns in the table:
- Ticker / name — the fund or stock symbol.
- Weight % — its share of the portfolio.
- Crash return % — optional. Leave blank to use the historical asset-class return. Enter a value to override it.
- Data quality — a flag telling you whether the ticker existed during that crisis.
- Class — the asset class the ticker is mapped to.
Buttons and helpers
- + Add holding — adds a blank row.
- Load example (VOO/QQQ/BND/GLD) — fills the table with a classic four-fund mix.
- Paste a holdings list — open the accordion, paste rows in the format
TICKER,weight(one per line), then press Import pasted rows. An optional third column overrides the crash return:TICKER,weight,crashReturn%. - Normalise to 100% — rescales your sliders so they total exactly 100%.
- Reset allocation — returns the sliders to the default 60/40 mix.
Data honesty
Unknown tickers are mapped to Other / unclassified and flagged proxy. Crypto tickers return no data for episodes before 2012 — the tool says so instead of inventing a number.
Using a modern ETF ticker for a 2000 or 2008 replay? VOO launched in 2010, so it did not exist during the dot-com bust or the GFC. The calculator will warn you and use the asset-class proxy instead of inventing a return.
Sample portfolio and risk limit
Sample portfolio optional
What it is: a dropdown of ready-made allocations — 100% Stocks, 60/40 Classic, 80/20 Growth, Conservative, Aggressive, Three-Fund, All-Weather, Permanent Portfolio, Gold-Heavy, Crypto-Heavy, Retiree Income.
How to use: pick one, then press Apply sample portfolio. It loads the sliders and runs the test in one click.
My maximum acceptable drawdown required
What it is: the worst peak-to-trough loss you could tolerate without panicking or being forced to sell.
Options: 10%, 15%, 20% (default), 30%, 40%, 50%, or Custom.
Why it matters: this drives the verdict card. The tool separates capital survival (did you stay above zero?) from risk-limit survival (did you stay inside your comfort zone?).
Run buttons
- Run the crash test — runs the currently selected episode and jumps to the Results tab.
- Test all 17 crashes — runs your portfolio against every episode in the library and builds a comparison table and chart.
Try a scenario
Six one-click examples: $100K 60/40 in 2008, $50K all-stock in COVID, $100K tech-heavy in Dot-Com, $25K crypto in 2022, $250K gold-heavy in 2022, and $500K All-Weather across all crashes. Each button loads the portfolio, the crash and the right settings, then runs the replay.
Step 2 — The Crash tab
This is where you choose which historical crisis to replay and how you want to enter it.
Popular crashes
What it is: a row of quick-select chips for the most well-known episodes.
Includes: 1987 Black Monday, Dot-Com, 2008 GFC, COVID, 2022 Inflation & Rate Shock.
How to use: click one chip. The crash facts table below updates instantly.
More historical crises (full library)
What it is: an accordion containing a dropdown of all 17 episodes, from 1929 to 2025.
Includes slow-bleed periods such as the 1970s secular bear and the 2000s Lost Decade — long mediocre stretches that can hurt more than a sharp crash.
How to use: open the accordion, pick an episode from the dropdown.
Where do you start the replay?
What it is: your entry point into the crash.
- At the market peak (worst case) — you buy at the top and ride the whole decline down. This is the default and the most conservative.
- Mid-crash (halfway down) — you enter after part of the fall has already happened. The drawdown from your entry is smaller, but you still experience the second half.
- At the bottom (best timing) — you enter at the trough, so you only experience the recovery. This is the best-case scenario and is included so you can see how much timing matters.
Why it matters: the same crash produces very different dollar outcomes depending on when you started.
Data source for this scenario
- Measured historical episode (library) — use the real, rounded historical returns.
- Hypothetical scenario (I set the shocks) — opens a builder where you type your own decline for each asset class and your own recovery period.
When to use hypothetical: to stress-test a scenario that has not happened yet, e.g. “what if US stocks fall 50% and bonds fall 15%?” Hypothetical results are labelled as such throughout.
Crash facts (auto-filled)
This table is populated from the library and shows the exact values used in the maths: crisis name, replay window, peak month, trough month, duration, benchmark, benchmark peak-to-trough, benchmark recovery, asset-class data coverage, and the data source link.
Below the table, a short paragraph explains what happened in that episode.
Hypothetical crash builder
Only visible when you select Hypothetical scenario. Nine fields let you set the decline for each asset class and the recovery period:
US stocks decline %
Default -40. Enter a negative number for a fall, a positive number for a gain.
Bonds decline %
Default -10. In 2022 bonds fell alongside stocks — model that here.
Gold %
Default 5. Gold often rises in equity crashes; enter a positive number to reflect that.
Cash %
Default 1. Cash normally holds its value or rises slightly.
REITs decline %
Default -45. Real estate tends to fall harder than broad equities.
Crypto %
Default -60. Crypto is the most volatile class in the tool.
Commodities %
Default -20.
Intl / EM stocks %
Default -42.
Recovery period (months)
Default 24. How long the market takes to climb back to its pre-crash peak. Minimum 1, maximum 240.
Press Use this hypothetical scenario to apply the shocks and re-run.
Step 3 — The Advanced tab (optional)
Sensible defaults are already set. Skip this tab entirely if you just want the headline answer.
Contributions & withdrawals during the crash
Additional contributions
What it is: money you keep adding during the crash.
Options: None, Monthly, Quarterly, Annual.
Why it matters: regular contributions buy shares at lower prices and shorten your recovery time.
Contribution amount per period
What to enter: the dollar amount added each period, e.g. 500.
Withdrawals (retiree mode)
What it is: money you take out during the crash — the key risk for retirees.
Options: None, Monthly, Quarterly, Annual.
Why it matters: selling into a falling market locks in losses permanently. A 4% withdrawal rate can become 6–7% of a shrunken portfolio, which is the classic danger signal.
Withdrawal amount per period
What to enter: the dollar amount withdrawn each period, e.g. 2000.
Common mistake: setting a withdrawal rate that looks safe on day one but becomes dangerous after a crash. The calculator shows you this: a $20,000 draw on $500,000 is 4%, but after a 37% fall the same inflation-adjusted draw is 6.8% of the portfolio. That is the sequence-of-returns risk retirees actually face.
Rebalancing, fees & taxes
Rebalancing rule
What it is: how often you reset your weights back to their targets.
Options: Buy & hold (weights drift), Monthly, Quarterly, Annual.
Why it matters: each asset class follows its own crash path. Drifting weights behave differently from monthly rebalancing — rebalancing forces you to sell what held up and buy what fell.
Annual fees (expense + advisory) %
What it is: the total yearly cost of owning your funds plus any advisory fee.
Default: 0.25 (0.25% a year). Range 0–5%.
Why it matters: fees are deducted every month, so they compound against you during both the crash and the recovery.
Annual tax drag %
What it is: the yearly performance lost to taxes on dividends, interest and realised gains.
Default: 0. Range 0–10%.
When to use: if you hold assets in a taxable account, a 0.3–0.8% drag is realistic for a broad index portfolio. Set to 0 for tax-advantaged accounts.
Inflation & currency
Inflation assumption % / year
Default: 3. Used to inflation-adjust withdrawals and to convert results into real dollars.
Results shown in
- Nominal dollars — the actual dollar amounts at the time.
- Inflation-adjusted (real) dollars — what those amounts are worth in today’s purchasing power.
- Both — show both side by side.
Why it matters: after a long recovery, a nominal gain can be a real loss.
Currency treatment
- Local-currency asset returns, no FX impact (disclosed) — the default. Returns are in the asset’s home currency; no exchange-rate effect is modelled.
- Include historical FX conversion (approximate) — adds an approximate currency effect for non-USD investors.
Note: FX is a simplification. For serious currency analysis, use a dedicated tool.
Leverage stress test
This section models what happens when you borrow to invest. Full forced-liquidation modelling lives in the separate Margin Call & Liquidation Calculator.
Leverage
What it is: how many dollars of exposure you have per dollar of your own capital.
Options: 1× (unlevered), 1.5×, 2×, 3×, 5×, 10×, or Custom (1–20).
Why it matters: at 2×, a 34% market fall wipes out more than half your equity. At 3×, it can wipe you out entirely.
Borrow financing cost % / yr
What it is: the interest rate you pay on borrowed money.
Default: 5.
Why it matters: financing cost is deducted every month, so it compounds against you during a long recovery.
Maintenance margin %
What it is: the minimum equity-to-exposure ratio your broker requires before forcing a liquidation.
Default: 25 (25%).
Why it matters: if your equity falls below this threshold, a forced sale is flagged in the results.
Leveraged path
- Constant leverage — the idealised daily-rebalanced model, where exposure is reset to L× equity every day.
- Borrow once, buy & hold — you borrow once at the start and let the position run.
Which to pick: constant leverage is the standard approximation for leveraged ETFs. Buy-and-hold is closer to a margin loan on a long-term portfolio.
Common mistake: assuming leverage only multiplies gains. The calculator flags the exact month the maintenance margin is breached. For full liquidation modelling, use the separate Margin Call & Liquidation Calculator.
Reverse crash test
Instead of asking “how bad would this crash be?”, this asks “how big a crash could I survive?”
Maximum acceptable dollar loss
What to enter: the most money you are willing to lose, e.g. 25000.
Solve for survivable crash
What it does: searches for the crash severity at which your loss exactly equals your limit. Reports the percentage of the selected episode’s severity you could withstand. Useful for position sizing and for setting a personal risk limit.
Portfolio A vs Portfolio B
Tick Enable comparison to run a second portfolio alongside yours and see which one holds up better. Portfolio A is your main portfolio. Portfolio B is a simple four-field mix.
B: US stocks %
Default 40.
B: Bonds %
Default 40.
B: Gold %
Default 10.
B: Cash + other %
Default 10.
Press Run A vs B to see a side-by-side table of drawdown, dollar loss, recovery time, gain needed and resilience score.
Historical dataset (editable JSON)
The library ships with rounded, publicly reported peak-to-trough figures so the tool works offline in a single file. Values are approximations, not licensed series.
- View / edit the episode data (JSON) — open the accordion to see the raw data.
- Apply edited JSON — validates and loads your changes.
- Restore defaults — returns to the shipped dataset.
- Download JSON — saves the current library as a file.
Step 4 — The Results tab
Every number on this tab comes from the formulas shown on the calculator page itself. Nothing is hidden.
Verdict card
A single, plain-language answer: would your portfolio have survived? Three possible outcomes:
- Yes — survived inside your risk limit Your drawdown stayed inside the limit you set in Step 1.
- Survived — but breached your risk limit Capital survived, but the drawdown exceeded your comfort zone. This is the scenario that drives panic selling.
- Capital wiped out The leveraged path was liquidated.
The sub-line shows your maximum drawdown against your limit, and whether you regained your pre-crash peak. The distinction between the first two is the whole point: almost every equity-heavy portfolio survived 2008 in the sense that its value stayed above zero, but many breached a 20–30% comfort limit.
KPI grid — eight numbers that matter
| Metric | What it means | How to read it |
|---|---|---|
| Starting value | The value you entered, and the month you entered the replay. | Sanity-check it matches what you typed. |
| Crash low | The lowest portfolio value during the replay, and the month it happened. | This is the number you would have seen in your account at the worst moment. |
| Maximum drawdown | The worst peak-to-trough fall, in percent. | Measured from the running peak, not your entry point — so it can be larger than the fall from your start. |
| Dollar loss | The same drawdown expressed in money. | −38% and −$38,000 feel completely different. Both are shown. |
| Recovery time | How long from the trough back to the pre-crash peak. | “Not recovered” means it was still below the peak at the end of the replay window. |
| Gain needed to recover | The percentage gain required just to break even. | −40% needs +66.7%. Losses and recovery gains are not symmetrical. |
| Value at end of replay | Where the portfolio finished. | Compare with the starting value to see whether you are ahead or behind. |
| Crash resilience score | A 0–100 score combining drawdown, recovery speed and diversification. | Drawdown 45 pts, recovery 35 pts, diversification 20 pts. Formula fully disclosed. |
Plain English summary
A single paragraph that reads the result back to you in normal language: the episode name, the drawdown, the dollar loss, the trough value, the gain needed, the recovery time, and whether you breached your limit.
Crash timeline
A horizontal strip of milestones: when the replay started, when the market peaked, when it bottomed, when the previous high was regained, and where the portfolio ended. Each shows the month and the dollar value.
Scenario scrubber
A slider that lets you walk through the crash month by month. For each month it shows the portfolio value and the drawdown from the running peak. Use it to see exactly when the worst pain occurred. This is the most tactile way to understand sequence-of-returns risk.
Charts
- Crash equity curve — your portfolio (orange) versus the benchmark (dashed grey), with the crash low and recovery points marked.
- Normalised crash chart — both lines start at 100, so you can compare shapes regardless of starting value.
- Underwater (drawdown) chart — how far below the running peak you were at each month.
- Loss attribution chart — a bar chart showing the dollar impact of each holding.
- All-crisis drawdown chart — your portfolio’s maximum drawdown in every episode.
Two buttons let you download the equity chart, or all charts, as PNG files. The results table can be copied as TSV or downloaded as CSV.
Which holdings caused the damage?
A table with one row per holding: name, asset class, weight, crash return, dollar impact, share of the total loss, and a data-quality flag.
Two callouts below the table name the biggest source of loss and the best protection. This is the field that answers “which holdings caused the damage?”
You vs. the benchmark
A comparison table: maximum drawdown, dollar loss, recovery time, gain needed, and end value — for your portfolio and the benchmark, with the difference shown.
A short note explains whether you lost more or less than the benchmark, in percentage points. A second note explains the recovery maths: how much gain is needed and how long it might take.
Survival diagnosis
- Capital survival — did the portfolio stay above zero?
- Risk-limit survival — did the drawdown stay inside your comfort limit?
- Leverage warning — if you used leverage and the maintenance margin was breached, the month of forced liquidation is reported here, along with the lowest margin ratio reached.
All-crisis stress test
Only appears after you press Test all 17 crashes. It shows a table of every episode with drawdown, dollar loss, recovery time, gain needed and whether you breached your limit.
Eight summary KPIs appear above the table: worst case, best case, average drawdown, median drawdown, longest recovery, shortest recovery, limit breaches, and episodes tested.
A bar chart shows your drawdown in each crisis side by side.
Sensitivity — what would change the outcome?
A table showing how your maximum drawdown changes if you shift 10 percentage points from your biggest holding into your second-biggest (or into cash).
A note below explains which change would most reduce your drawdown.
Copy, share & export
- Copy result summary — copies a plain-text report of the results.
- Copy all entered data — copies every input you set.
- Copy result table (TSV) — copies the table in a format that pastes straight into Excel or Google Sheets.
- Download results (CSV) — downloads the full monthly equity series plus the attribution table.
- Copy shareable link — stores your entire scenario in the URL hash. No account, no server.
- Print / Save as PDF — opens the print dialog.
- Reset everything — clears all inputs and results.
How this result was calculated
A bullet list of the modelling assumptions used in your run: the episode, entry point, rebalancing rule, fees, tax drag, leverage, inflation and results basis.
A “known limitations” paragraph explains that episode returns are rounded public figures, the intra-episode path is a modelled shape, and that historical results never guarantee future results.
The episode library — the figures the maths actually uses
These are the exact values stored in the calculator. They are rounded, publicly reported peak-to-trough figures, not licensed index data. Each episode lists its source in the calculator’s crash facts table.
| # | Crisis | Window | Equity shock | Bonds | Gold | Index recovery |
|---|---|---|---|---|---|---|
| 1 | 1929 Crash & Great Depression | Aug 1929 → | −83% | +5% | +65% | ~13 years |
| 2 | 1970s Secular Bear (slow bleed) | Dec 1968 → | −43% | −10% | +200% | ~8 years |
| 3 | 1987 Black Monday | Aug 1987 → | −33.5% | +5% | +3% | ~20 months |
| 4 | 1990 Recession & Gulf War | Jul 1990 → | −20% | +6% | +2% | ~8 months |
| 5 | 1994 Bond Market Shock | Jan 1994 → | −8% | −7.5% | −5% | ~9 months |
| 6 | 1997 Asian Financial Crisis | Aug 1997 → | −9% | +5% | −5% | ~6 months |
| 7 | 1998 LTCM / Russia Default | Jul 1998 → | −19% | +8% | −2% | ~5 months |
| 8 | 2000–2002 Dot-Com Bust | Mar 2000 → | −45% (NDX −83%) | +25% | +15% | ~4 years |
| 9 | The Lost Decade (slow bleed) | Mar 2000 → | −44% | +42% | +240% | ~5 years |
| 10 | 2008 Global Financial Crisis | Oct 2007 → | −56.8% | +6% | +25% | ~3 years |
| 11 | 2011 European Debt Crisis | Apr 2011 → | −19% | +8% | +25% | ~6 months |
| 12 | 2015–2016 China / Commodity Selloff | May 2015 → | −13% | +3% | +12% | ~8 months |
| 13 | 2018 Q4 Selloff | Sep 2018 → | −19.4% | +2% | +7% | ~5 months |
| 14 | 2020 COVID Crash | Feb 2020 → | −33.9% | +5% | +5% | ~5 months |
| 15 | 2022 Inflation & Rate Shock | Jan 2022 → | −25% | −17% | −2% | ~15 months |
| 16 | 2024 Yen Carry Trade Shock | Jul 2024 → | −8.6% | +3% | +2% | ~2 months |
| 17 | 2025 Trade / Tariff Shock | Feb 2025 → | −18.9% | +2% | +12% | ~3 months |
Worked examples — check the maths by hand
Example 1 — $500,000 all-stock portfolio, −37% first year
A $500,000 all-stock portfolio withdrawing $20,000 (a 4% rate) hits a −37% first year:
- Withdrawal is taken first:
500,000 − 20,000 = 480,000. The calculator applies withdrawals at the start of each month, which is the conservative convention. - Then the return applies:
480,000 × 0.63 = $302,400. That is the crash low for the first year. - Next year’s inflation-adjusted draw is $20,600. As a percentage of the portfolio:
20,600 ÷ 302,400 = 6.8%. That is the danger signal — a withdrawal rate that looked safe at 4% is now 6.8%. - Breakeven on the decline alone needs
1 ÷ (1 − 0.396) − 1 = +58.7%. The dollar loss is500,000 − 302,400 = $197,600.
Example 2 — $100,000 60/40 portfolio in 2008
A $100,000 60/40 portfolio entering at the October 2007 peak:
- US stocks fell ≈ −56.8%, bonds gained ≈ +6% (flight to quality).
- Weighted decline:
0.60 × (−56.8%) + 0.40 × (+6%) = −31.7%. - Dollar loss:
100,000 × 31.7% = $31,700. Trough value:$68,300. - Gain needed to recover:
1 ÷ (1 − 0.317) − 1 = +46.5%. - Recovery time: roughly 36 months from the trough, matching the benchmark’s own recovery window.
Run this exact scenario with the “$100K 60/40 in 2008” example chip. Your numbers should match these within rounding.
Verification runs — numbers actually executed
The finished calculator file was loaded in a headless DOM and the real buttons were driven. These are the results, not assertions.
| Test | Result | Check |
|---|---|---|
| 100% US stocks, 2008, zero fees/flows | Drawdown −56.8%, low $43,200, gain needed +131.5%, recovery 3 years | Reproduces the episode’s headline decline — the validation rule holds ✓ |
| 60/40 in 2008 | −31.7%, loss −$31,680, recovery 2y 10m, gain +46.4%, score 85/100 | Hand check: 0.6×0.432 + 0.4×1.06 = 0.683 → $68,320 = exactly −31.68% ✓ |
| Same 60/40 at 2× leverage | −57.0% | Scales ≈2× the unlevered loss, less financing cost ✓ |
| All-crisis mode | 17 rows, worst = 1929 (−47.8%, 12y 6m), comfort limit breached in 4 of 17 | ✓ |
| Custom holdings (VOO/QQQ/BND/GLD) + hypothetical −40% US shock | −29.5%, 5 attribution rows | ✓ |
| Console/JS errors across the whole run | None | ✓ |
What is this calculation used for?
Historical crash replay is a risk-sizing tool, not a forecasting tool. It is used for six practical jobs:
1. Position sizing
Before you commit capital, see the dollar loss a real crash would produce. If a −$150,000 drawdown on a $500,000 portfolio would force you to sell, you are over-sized for your own behaviour.
2. Retirement withdrawal planning
Sequence-of-returns risk is the single biggest threat to a retirement plan. Replaying 2000–2002 and 2008 against your actual withdrawal rate shows whether your plan survives an early crash.
3. Allocation comparison
Shift 10 points from stocks to bonds or gold and see the drawdown change. This turns an abstract “reduce risk” instruction into a specific, measurable trade-off.
4. Client and stakeholder communication
A dollar loss chart is more persuasive than a percentage. Advisors use the shareable link and the copy-report button to document a risk conversation.
5. Leverage and margin assessment
At 2× or 3×, see the exact month a maintenance margin breach would force liquidation — before it happens in real life.
6. Education and research
Compare 1929, 1973–74, 2000–2002, 2008 and 2022 side by side. The slow-bleed episodes are often more instructive than the sharp crashes.
Where to apply it — real-world usage
- Personal portfolio review: once a year, replay your current allocation against the 2008 GFC and the 2022 rate shock. If the dollar loss would change your behaviour, adjust the allocation before the market does it for you.
- Retirement plan stress test: set your actual withdrawal rate, inflation adjustment, and 60/40 or 50/50 allocation. Run 2000–2009 as a slow-bleed decade. If the plan fails, reduce the withdrawal rate or add a cash buffer.
- Advisor–client meetings: load the client’s real holdings as custom tickers, run the all-crisis test, and print the PDF. The dollar-loss numbers turn a philosophical risk discussion into a concrete one.
- Leverage and margin policy: before using margin, set leverage to 2×, financing cost to your broker’s rate, and maintenance margin to your broker’s requirement. The liquidation month tells you how much room you actually have.
- Education and content: the shareable link and copy-report buttons make it easy to embed a specific scenario in a blog post, a classroom exercise, or a newsletter.
- Pre-trade risk check: before adding a concentrated position, run the custom-holdings mode with the new ticker included and see how it changes the loss attribution.
Common mistakes — and how the calculator catches them
| Mistake | Why it matters | What the calculator does |
|---|---|---|
| Entering today’s value instead of the pre-crash peak | Understates the peak-to-trough loss | The help text under the field says “use the value at the market peak”, and the entry-point selector makes the peak explicit |
| Using a modern ETF ticker for an old crash | VOO did not exist in 2000; inventing a return would be dishonest | Flags the holding listed 2010 — after the peak; asset-class proxy used |
| Assuming crypto has data for 2008 | Bitcoin did not exist | Flags no data for this window and proxies to Nasdaq-100 |
| Comparing a total-return portfolio to a price-return benchmark | Makes the portfolio look better than it is | The benchmark is simulated with the same return basis you selected |
| Ignoring sequence-of-returns risk in retirement | A 4% withdrawal rate can become 6.8% after a crash | The worked example and the withdrawal fields show the post-crash percentage |
| Treating leverage as free money | At 2×, a 34% fall wipes out more than half your equity | Flags the liquidation month and the lowest margin ratio reached |
| Assuming 2022 was a normal 60/40 year | Bonds fell almost as hard as stocks | The 2022 episode has bonds at −17%, so the classic hedge does not help |
| Using a single crash as a full risk picture | The past is a small sample | The all-crisis test runs every episode and reports the worst, best, average and median |
Key user pain points — and how this calculator solves them
| Pain point | What most tools do | What this calculator does |
|---|---|---|
| “I know my drawdown in percent, but not in dollars” | Show only percentages | Every result is shown in both percent and your chosen currency, including the dollar loss and the trough value |
| “I don’t know which holding caused the damage” | Show only the portfolio total | Loss attribution table and bar chart show dollar impact and share of loss per holding |
| “I’m worried about sequence-of-returns risk” | Assume no cash flows | Monthly contributions and withdrawals, with optional inflation adjustment, applied at the start of each month |
| “I don’t trust black-box calculators” | Hide the methodology | Every formula is shown, every episode has a source link, and the dataset is editable JSON |
| “I don’t know if my ETF existed during the crash” | Silently invent a return | Data-quality flags tell you when a holding did not exist and which proxy was used |
| “I want to compare two allocations” | Run two separate calculations and compare manually | Portfolio A vs B mode runs both side by side with a difference row |
| “I need to share the result” | Copy a screenshot | Copy result summary, copy all inputs, download CSV, download PNG charts, or copy a shareable link that encodes the full scenario |
| “I’m using leverage and don’t know my liquidation risk” | Ignore margin entirely | Leverage stress test flags the liquidation month and the lowest margin ratio reached |
Formulas explained
Every number on the calculator page comes from one of these equations. They are shown so you can check the maths yourself.
1. Portfolio return and roll-forward
r_p,t = Σ w_i · r_i,t
V_t+1 = (V_t − W_t)(1 + r_p,t − f) + C_t (withdrawal mode)
V_t+1 = V_t(1 + r_p,t − f) + C_t (saving mode)
In plain terms: money you take out is not exposed to that month’s return; money you add is.
2. Drawdown, maximum drawdown and dollar loss
DD_t = (V_t − max V_k) ÷ max V_k
MDD = min_t DD_t
Dollar loss = V_0 × MDD
V_trough = V_0 × (1 + MDD)
- Drawdown at any month = (current value ÷ highest previous value) − 1.
- Maximum drawdown = the worst of those readings.
3. Gain required to recover, and recovery time
G = 1 ÷ (1 − d) − 1
Recovery time = the first month the portfolio value regains its pre-crash peak.
A −40% loss needs +66.7% merely to break even — and the gain required grows faster than the loss: −20% needs +25%, −33% needs +50%, −50% needs +100%, −80% needs +400%.
4. Inflation, real return and fees
r_real = (1 + r) ÷ (1 + π) − 1
V_real_t = V_t ÷ (1 + π)^(t/12)
Fees are deducted monthly, so they compound against you during both the crash and the recovery.
5. Leverage, financing cost and margin
r_L = L · r_p − (L − 1) · c
Margin ratio = (L · f − (L − 1)) ÷ (L · f)
f_min = (L − 1) ÷ (L · (1 − m)) → liquidation when f ≤ f_min
6. Resilience score
S = 45 · (1 − d) + 35 · (τ_bench ÷ τ) + 20 · (1 − H), clamped to 0–100.
- 45 points — drawdown resilience: how small the drawdown was.
- 35 points — recovery resilience: how fast you recovered relative to the benchmark.
- 20 points — diversification: how spread out your weights are (Herfindahl index).
The score is fully disclosed — no black box. Full derivations, symbols and edge cases are on the calculator page itself.
Accuracy note — what this tool is and is not
What is measured: peak-to-trough moves per asset class come from rounded, publicly reported historical figures. Each episode lists its source. The monthly path shape is a modelled approximation, not a tick-by-tick replay.
What is assumed: recovery speed is a disclosed modelling assumption (cash recovers slowest, equities recover at roughly the benchmark’s own pace). The Herfindahl-based diversification score is a disclosed formula, not a black box.
What is simplified: taxes, FX, liquidity, bid-ask spreads, and fund-specific tracking error are simplified. Asset classes that did not exist during a window are proxied and flagged.
What this is not: a prediction of the next crash, a Monte Carlo probability engine, or financial advice. Historical results never guarantee future results. Verify figures against licensed data before making decisions.
Frequently asked questions
What is a historical crash survival calculator?
How much would my portfolio lose in a market crash?
Would my portfolio have survived the 2008 financial crisis?
How is maximum drawdown calculated?
DD = V ÷ runningPeak − 1. The maximum drawdown is the worst of those readings. Both the percentage and the dollar amount are shown, because −38% and −$38,000 on $100,000 feel completely different.How much gain is needed to recover from a 50% loss?
1 ÷ (1 − d) − 1, so losses and the gains needed to undo them are not symmetrical: −20% needs +25%, −33% needs +50%, −50% needs +100%, −80% needs +400%.What is the difference between this tool and a portfolio stress test?
Can diversification reduce crash losses?
Does leverage make a market crash worse?
Why are some holdings flagged “no data for this period”?
Does this predict the next crash?
Can I use my own historical data?
Is my data uploaded anywhere?
Troubleshooting
- Nothing happens when I press Run. Make sure at least one holding or slider has a weight above zero.
- The results look identical across episodes. Check you are not in hypothetical mode with the same shocks each time.
- The share link does not restore my data. The link stores data in the URL hash after
#hcsc=. Some email clients and chat apps strip the hash. Copy the full URL from the share field. - Chart download fails. PNG export needs a modern browser. Try Chrome, Edge, Firefox or Safari.
- My custom ticker is flagged as a proxy. That ticker is not in the built-in mapping. It is treated as Other / unclassified and flagged honestly rather than guessed.
- The results table is too wide on my phone. Tables scroll horizontally inside their container. The KPI cards and charts reflow to a single column on small screens.
Keep going — related risk tools on AlamToolKit
Each of these answers a different question. This page only answers “would my portfolio have survived that crash?”
Ready to run your own crash test?
Head back to the calculator and start with Step 1: enter your starting value and set your allocation.