Definition
Drawdown measures how far the account has fallen below its last equity peak. Formally, for a point in time t:
DD_t = (equity_t − max(equity_{0..t})) / max(equity_{0..t})
The max drawdown is the minimum of this curve over the observation period — i.e. the deepest valley relative to the prior high.
Why this matters
Return alone is uninteresting — anyone can produce big numbers with high leverage, as long as they survive. The drawdown tells you how close to insolvency you were.
- 30% DD needs +43% to get back to zero.
- 50% DD needs +100%.
- 80% DD needs +400%.
The curve is not linear — which is why minimising DD matters more than maximising return.
Variants
- Max drawdown — worst percentage decline.
- Time-under-water — how long the account was underwater (days).
- Average drawdown — average DD across all DD phases.
- Ulcer Index — weighted sum of squared DDs, emphasises longer phases.
How Botty uses it
backtesting/runner.py computes max_drawdown_pct per experiment. The mega-sweep penalises DD directly via the Calmar ratio (return / DD). Live mode: config.py → MAX_DAILY_LOSS_USD caps the daily loss; once it is hit, the RiskManager shuts the strategy down.
Psychology
The most dangerous drawdown is not the largest but the longest. Weeks without a new equity high make traders break their rules. Set a realistic DD expectation up front — and be aware that a 20% DD in the backtest often becomes 30% live.