Module 4 — Portfolio Construction

Drawdown — The Risk That Stops You Trading

From Markowitz to drawdown-aware sizing. The math behind every allocator's spreadsheet.

Learning objectives

  • Compute drawdown series and max drawdown.
  • Understand recovery time and Calmar ratio.
  • Reason about leverage relative to historical max DD.

FORMULA

Drawdown at time t

Peak_t = max(NAV_0 ... NAV_t)
DD_t   = (NAV_t - Peak_t) / Peak_t   (≤ 0)
MaxDD  = min over t of DD_t

TEXT

Why DD matters more than σ

Investors will pull capital after a 25% drawdown long before they will pull it after a year of 20% annualised volatility with positive returns. Drawdown is a path-dependent measure that captures the worst psychological experience an investor will have. Most fund redemptions trigger around -15% to -25%.

FORMULA

Calmar ratio

Calmar = annualised return / |max DD|

CODE

Drawdown from an equity curve

import numpy as np
import pandas as pd

equity = pd.Series([100, 102, 101, 110, 95, 108])
peak = equity.cummax()
dd = equity / peak - 1
max_dd = dd.min()
print(f'Max DD = {max_dd:.2%}')