Equity Research Lab · Instrument 04 of 07
Drawdown and historical VaR
How far the stock has fallen from its peaks, how bad a bad day has been, and whether a risk forecast built from history would have earned its confidence level.
Return distributions in the buildout are wide, and the width matters more than the average to anyone who has to hold through it. This instrument measures the width from the record: the drawdowns the stock has actually delivered, the size of its bad days at two confidence levels, and whether a forecast of those bad days made from the trailing window would have been right about how often they came.
What it measures
Drawdown is the fraction below the running peak on each day; the table lists the deepest episodes with their peak, trough, recovery, and length. One-day value at risk at the ninety-five and ninety-nine percent levels is the loss the stock exceeded on five and one percent of days in the sample, stated as a positive number; expected shortfall is the average loss on those days. Block-bootstrap intervals show how uncertain those figures are. The backtest rolls a five-hundred-day window forward, forecasts the next day's VaR from it, counts breaches, and applies the Kupiec test for the number of breaches and the Christoffersen test for their clustering.
Assumptions
Historical VaR assumes the past distribution describes the near future well enough to forecast from; the backtest exists to check that assumption rather than to trust it. The block bootstrap preserves short-range dependence but not regime shifts. Stress windows are fixed lab-wide in advance so they cannot be chosen to make a company look good.
When it misleads
A short history has no room for a five-hundred-day warm-up plus a forecast period; the artifact then says the backtest could not run and gives the reason, instead of shrinking the window until a number appears. Historical VaR is silent about losses larger than any in the sample, which is why expected shortfall and the drawdown table sit beside it. A backtest that passes says the forecast was calibrated in that sample, nothing more.
How the lab uses it
The risk section tells the reader what holding the thesis has cost in the past and how much of that a simple risk model would have anticipated. When the scenario tree gives a wide distribution, this section is where its width is checked against what the market has already delivered. The demo below runs a rolling backtest on a synthetic series so the reader can watch breaches cluster and the tests react.
Backtest a rolling VaR through a volatility shock
Illustrative inputs — not a company's figuresReturns are seeded noise at a base volatility, with a stretch of higher volatility you control. The rolling forecast only knows the trailing window, so it is late into the shock and late out of it.
- Full-sample VaR, 95%3.08%Expected shortfall 4.60%
- Breaches62 of 95047.5 expected
- Maximum drawdown−60%
| Test | Statistic | p-value |
|---|---|---|
| Kupiec unconditional coverage | 4.268 | 0.0388 |
| Christoffersen independence | 2.190 | 0.1390 |
| Conditional coverage | 6.458 | 0.0396 |
| Transitions (00 · 01 · 10 · 11) | 833 · 54 · 55 · 7 |
Read the figure as a table
| Point | Realized return | Loss threshold (−VaR) |
|---|---|---|
| day 250 | −2.4% | −2.1% |
| day 386 | 0.9% | −2.4% |
| day 521 | −1.6% | −2.7% |
| day 657 | 0.7% | −2.8% |
| day 792 | −6.3% | −5.0% |
| day 928 | −0.6% | −5.2% |
| day 1063 | −2.4% | −2.4% |
| day 1199 | −0.3% | −2.3% |
Read the figure as a table
| Date | Below peak |
|---|---|
| day 0 | 0% |
| day 171 | -18% |
| day 343 | -10% |
| day 514 | -23% |
| day 686 | -22% |
| day 857 | -48% |
| day 1029 | -34% |
| day 1200 | -20% |
With a 250-day window at 95%, the forecast was breached 62 times over 950 days against 47.5 expected; Kupiec p 0.039, independence p 0.139, conditional coverage rejected at 5%.