Skip to content
Learn
Sign up

Quantitative Methods & RiskRisk Measures: Volatility, Drawdown, VaR & CVaR

Volatility & Drawdown as Risk

12 min read

Two ways to measure pain

Risk is not one number. Volatility measures the typical day-to-day wobble; drawdown measures the cumulative pain from a peak to the subsequent trough. They answer different questions. Volatility tells you how bumpy the ride is; drawdown tells you how far underwater you went and, just as importantly, how long you stayed there. An investor's tolerance is usually governed by drawdown, not volatility — people redeem at the bottom of a deep, long drawdown regardless of the strategy's Sharpe.

Formula

Maximum drawdown

MDD = max_t [ (peak_{≤t} − value_t) / peak_{≤t} ]

Drawdown vs. volatility

Term

Volatility is the standard deviation of returns — a symmetric, per-period dispersion measure. Drawdown is the cumulative peak-to-trough decline — a path-dependent, downside-only measure. A strategy can have modest volatility and still suffer a brutal drawdown if its losing days cluster (which, per Module 1, they tend to).

Note

Recovery is non-linear — the drawdown trap

A 50% drawdown requires a 100% gain to get back to even, not 50%. A 20% loss needs a 25% gain; a 33% loss needs a 50% gain. This asymmetry is why capital preservation matters more than chasing returns: the deeper the hole, the disproportionately harder the climb out.

DrawdownGain needed to recoverWhy
10%11.1%1 / 0.90 − 1
20%25.0%1 / 0.80 − 1
33%49.3%1 / 0.67 − 1
50%100%1 / 0.50 − 1
75%300%1 / 0.25 − 1
90%900%1 / 0.10 − 1
drawdown.py
python
1import numpy as np
2
3def max_drawdown(equity):
4 equity = np.asarray(equity, dtype=float)
5 running_peak = np.maximum.accumulate(equity)
6 drawdowns = (running_peak - equity) / running_peak
7 return drawdowns.max()
8
9curve = [100, 120, 90, 110, 80, 130]
10print(f"max drawdown = {max_drawdown(curve):.1%}") # 33.3%
np.maximum.accumulate gives the running peak in one pass; the worst gap below it is the maximum drawdown. Always report drawdown alongside return — return without drawdown is half the story.
Heads up

Max drawdown is a sample-dependent single point

Because maximum drawdown is the single worst realized episode, it is an unstable statistic: a longer history will almost always produce a larger maximum drawdown, and the number tells you nothing about how likely an even deeper one is in future. Pair it with the full drawdown distribution and with VaR/CVaR rather than treating one realized MDD as the ceiling on your risk.

Knowledge check

Your account falls 40% from its peak. What gain is required to return to the previous high?