Skip to content
All instruments

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 figures

Returns 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%
Likelihood-ratio tests on the rolling forecast.
TestStatisticp-value
Kupiec unconditional coverage4.2680.0388
Christoffersen independence2.1900.1390
Conditional coverage6.4580.0396
Transitions (00 · 01 · 10 · 11)833 · 54 · 55 · 7
Realized return against the loss threshold: The dashed reference is zero; days below the gold threshold line are breaches.
Realized return against the loss threshold. The dashed reference is zero; days below the gold threshold line are breaches.
Read the figure as a table
Realized return against the loss threshold, sampled rows
PointRealized returnLoss threshold (−VaR)
day 250−2.4%−2.1%
day 3860.9%−2.4%
day 521−1.6%−2.7%
day 6570.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%
Drawdown of the synthetic price path: How far the path sits below its running peak.
Drawdown of the synthetic price path. How far the path sits below its running peak.
Read the figure as a table
Drawdown of the synthetic price path, sampled rows
DateBelow peak
day 00%
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%.