Scenario and stress testing your allocation
Historical replay versus hypothetical shock versus reverse stress testing, the six modelled episodes, and why daily bars miss an intraday liquidity event.
A backtest tells you how an allocation performed over the specific history it was run on. It does not tell you what would happen to that same allocation on a day the market fell 9%, or in a quarter where correlations that were 0.3 in the backtest window became 0.9. Answering that second question is what stress testingStress test Applying a hypothetical shock or replaying a real historical episode against a portfolio to see how it would have behaved, distinct from a forecast. is for, and there are three distinct ways to ask it, each with a different failure mode.
Three ways to ask “what if”
Historical replay takes a named historical episode and replays the returns securities actually printed during it, applied to the current portfolio’s holdings. This is the least speculative of the three methods: it uses realised prices, not a model’s guess about what would happen, so the result is a fact about what did occur to those specific instruments over those specific dates, reweighted to today’s allocation. Its limitation is exactly its strength — it can only ever replay a history that happened, and the next crisis rarely has the identical correlation structure, sector composition or duration of the last one.
Hypothetical shock specifies a market move — say, a 15% single-day decline in a broad index — and propagates it through each asset’s betaBeta A security or portfolio's sensitivity to benchmark returns, estimated by regressing its returns on the benchmark's., rescaling the covariance matrix to be consistent with the shocked state. This lets a researcher test moves that have never happened, or combinations that no historical episode captures cleanly. It is explicitly not a forecast: it says “if this move occurred and each asset responded in proportion to its historical beta, here is the resulting loss,” not “this move is likely.” The beta-propagation mechanism is also a simplification — it assumes each asset’s relationship to the shocked factor is linear and stable, which is precisely the assumption that breaks down hardest during genuine crises, when correlations spike and betas shift.
Reverse stress testing runs the logic backwards: instead of specifying a shock and computing the resulting loss, it starts from an unacceptable loss level and searches for what combination of market moves would produce it. This is useful for a different question than the first two methods answer — not “how bad could a known scenario get” but “what scenario would actually break this portfolio,” which can surface exposures a researcher was not explicitly testing for.
The six historical episodes
Six real historical episodes are available for replay, each applied to the user’s own loaded price history for its exact dates:
| Episode | Dates |
|---|---|
| Global financial crisis | 2008-09-01 to 2009-03-31 |
| Flash crash | 2010-05-06 to 2010-05-07 |
| Euro sovereign-debt selloff | 2011 |
| China devaluation | 2015 |
| February 2018 volatility spike | 2018 |
| COVID crash | 2020 |
A worked illustration. Suppose a portfolio holds 60% in a broad equity index and 40% in a diversified bond allocation, and the global financial crisis episode is replayed against it. If the equity sleeve fell 45% peak-to-trough over that window and the bond sleeve gained 6% (a plausible flight-to-quality outcome for high-grade government debt over the same period), the portfolio-level result is approximately , a 24.6% decline. This arithmetic is the entire mechanism of historical replay: apply realised returns to today’s weights and sum. No model of asset behaviour is invoked — the numbers are what those instruments actually did.
Replay refuses rather than approximates when the loaded data does not cover the named dates. This matters in practice: a universe built entirely from securities that listed after 2015 cannot be tested against the global financial crisis, and a workspace that silently substituted a proxy or interpolated a result would be worse than one that says the test cannot run.
Reading a shock result correctly
A hypothetical shock result is only as informative as the beta estimate behind it. If a portfolio holds an asset whose beta was estimated at 0.6 over a calm two-year window, and the shock scenario represents genuine market stress, using that calm-period beta will understate the loss — betas are not constant, and they typically rise during stress precisely because correlations across assets rise together when liquidity dries up. This is the same instability discussed for beta estimation windows and alpha calculations more generally: a coefficient estimated in one regime does not automatically transfer to another.
A second worked example. Take a portfolio with an estimated aggregate beta of 0.85 to a broad market index, and a hypothetical shock scenario specifying a 10% single-day market decline. The propagated loss is approximately of portfolio value, before any second-order effects from rescaled covariances between individual holdings. If the true crisis-regime beta is closer to 1.1 — a realistic increase given how correlations behave under stress — the actual loss could be closer to , a meaningful understatement from using the calm-period estimate.
Reverse stress testing in practice
Reverse stress testing is most useful when a portfolio has already passed the ordinary checks — acceptable VaR, a diversified-looking covariance matrix, a benign historical-replay result — because it is designed to find the scenario that a forward-looking test would not have thought to ask about. Given a loss threshold, say a 30% portfolio decline, the search works backwards through the combination of asset moves and correlation shifts that could produce it, then reports which factor combination is most plausible given the portfolio’s actual holdings. A portfolio concentrated in securities that share an unmodelled common exposure — the same supplier, the same regulatory regime, the same funding source — can surface a much smaller and more specific shock than a generic market-wide decline as its break point, which is information a hypothetical shock built around a broad index move would never reveal.
What stress testing is not
None of the three methods described here places a trade, adjusts a position, or hedges an exposure automatically. A stress test produces a number — a projected loss under a scenario — that a researcher then has to act on manually, if they choose to act on it at all. This distinction matters because it is easy to read a stress-test dashboard and assume the underlying platform is managing risk in real time; it is not. The workspace is a research and analysis tool, not an execution or order-management system, and nothing in a scenario result triggers a trade.
Stress testing sits downstream of the allocation decision, not upstream of it: the weights being stressed came from whatever construction method was used, whether mean-variance, risk parity or equal weight, as covered in portfolio optimisation from first principles. A well-diversified allocation by ordinary covariance measures can still concentrate risk in a stress scenario if the assets that looked uncorrelated in calm markets move together under stress — which is exactly the gap these three methods exist to expose.