Minimum Maximum Drawdown

Minimise the largest peak-to-trough fall of the portfolio's cumulative return over the run window. Drawdowns are measured on uncompounded cumulative returns, which keeps the problem linear.

Overview

Maximum drawdown is the loss a holder who bought at the worst peak and held to the worst trough would have taken. Chekhlov, Uryasev and Zabarankin (2005) showed that, on uncompounded cumulative returns, it can be minimised with a linear programme. It is the limit of CDaR as the confidence level approaches 1.

Uncompounded means the cumulative return is the sum of daily returns, not their product. The headline drawdown in the results tables is compounded, so the two numbers differ slightly, and more on volatile books. The minimized value is max_drawdown_uncompounded, and the result names it in objective_metric. The running peak starts at zero, so a loss on the first day already counts as a drawdown.

FolioLab implements this method with skfolio's mean-risk estimator, usingRiskMeasure.MAX_DRAWDOWN with the objective set to minimise risk. The problem is a linear programme, solved by CVXPY with CLARABEL first, then HiGHS, then SCS. Per-name weight bounds, asset exclusions, and group sum limits such as sector caps pass to the estimator and enter the same programme.

Mathematical Formulation

Drawdown and maximum drawdown

is the vector of daily asset returns on day, and is the number of days in the run window.

Linear programme

u_t carries the running peak. Each day adds one peak variable and three inequalities.

Maximum drawdown vs CDaR

CDaR at 95% averages the worst 5% of daily drawdowns. Maximum drawdown keeps only the deepest one.

Like worst realization, it depends on one episode in the sample, and the solver can return any of several portfolios that share it.

What the result is, and is not

The weights minimise the measure on the returns of the run window, and only on them. They are not a forecast that the measure will be lowest in the future. Like every method on FolioLab, this one is not validated out of sample, and no claim is made that it performs better than any other method.

Before release, FolioLab compared these weights with the weights riskfolio-lib 7.0.1 produces for the same measure on the same returns.

Advantages & Limitations

Advantages

  • The number clients see: Maximum drawdown is the loss figure most mandates state.
  • Path-aware: Captures a sustained fall that one-day measures miss.
  • Linear: Solved as a linear programme on uncompounded returns.

Limitations

  • One episode: The allocation depends on the deepest drawdown in the sample.
  • Uncompounded: Differs slightly from the compounded drawdown in the results.
  • History-bound: A deeper drawdown outside the window is not considered.

References

  • Chekhlov, A., Uryasev, S., & Zabarankin, M. (2005). "Drawdown Measure in Portfolio Optimization." International Journal of Theoretical and Applied Finance, 8(1), 13-58.
  • Goldberg, L. R., & Mahmoud, O. (2017). "Drawdown: From Practice to Theory and Back Again." Mathematics and Financial Economics, 11(3), 275-297.
  • skfolio documentation - skfolio.RiskMeasure.MAX_DRAWDOWN.

Not investment advice. Past performance is not indicative of future results.