Why Maximum Drawdown Is the Risk Metric You Can’t Afford to Miscompute
To calculate maximum drawdown, track the highest portfolio value (peak) up to each point, measure the percentage drop to the subsequent lowest value (trough), and take the worst such drop. The formula is MDD = (Peak – Trough) / Peak, but only when the trough occurs after the peak and you use a rolling peak rather than the final all-time high.
When I first built a backtest for a client’s trend-following strategy in 2018, I naively took the absolute minimum of the equity curve and divided by the absolute maximum. The result looked rosy until the client asked why the live account felt so painful. I had missed a mid-year crash that recovered before year-end. That mistake cost me credibility and taught me that drawdown is a path-dependent metric.
Most people don’t realize that a 50% drawdown requires a 100% gain just to break even. Volatility tells you about daily bumps; maximum drawdown tells you about survival. If you want a quick sanity check, our Maximum Drawdown Calculator will compute the number, but understanding the mechanics prevents you from misreading its output.
How Are Drawdowns Calculated? The Core Mechanics
The question ‘How are drawdowns calculated?’ deserves a precise, non-textbook answer. A drawdown at any date is the decline from the running maximum (the highest value seen so far) to the current value, expressed as (RunningPeak – Current) / RunningPeak.
Maximum drawdown is simply the largest of these drawdowns across the entire period. The trough must occur after the peak in chronological order; otherwise it is not a drawdown but a pre-peak fluctuation that is irrelevant to downside risk.
Consider a simple series: 100, 120, 90, 110, 80. Running peaks are 100, 120, 120, 120, 120. Drawdowns: 0%, 0%, 25%, 8.3%, 33.3%. MDD is 33.3% at the final point. Notice the absolute min paired with absolute max gives the same here only because the max occurred before the min.
This path-dependent logic is why spreadsheets and code must use a rolling maximum, not a global MAX function. The running peak resets only when a new high is made, and interim recoveries shrink but do not erase the open drawdown until a new peak.
The Difference Between a Drawdown and Maximum Drawdown
A single drawdown is a snapshot of pain from the last high. Maximum drawdown is the worst peak-to-trough decline over observed history. You can have many 10% drawdowns but one 40% maximum drawdown that defines your risk profile.
The 2022 S&P 500 Decline: A Hand Calculation Walkthrough
To make this concrete, let’s use real-world data from the S&P Dow Jones Indices. The index peaked at 4,796.56 on January 3, 2022, then fell to 3,491.58 on October 12, 2022, before recovering later.
Here is the hand calculation many competitors skip: first, confirm the peak is the highest closing value before the trough. In 2022, the January 3 value was the running peak for the entire year until a new high in 2023. The trough on Oct 12 was the lowest close after that peak.
Apply the formula: (4,796.56 – 3,491.58) / 4,796.56 = 1,304.98 / 4,796.56 = 0.2720, or 27.2%. That is the maximum drawdown for the 2022 bear market.
But watch the edge case: there was an interim low of 3,636.87 on June 17, 2022, followed by a summer rally to 4,325.28 on August 16. If you used the absolute minimum but paired it with the August local peak, you’d get a smaller 19.3% drawdown—wrong because the true peak was earlier and larger. The thing nobody tells you about MDD is that recoveries can mask the real peak if you slice the window poorly.
Step-by-Step Manual Method
- List prices chronologically with dates.
- Mark the running maximum at each row (starting with first price).
- Compute decline = (running max – price) / running max for each row.
- Identify the row with the largest decline; that pair is your peak and trough.
- Verify trough date is after peak date.
Common Mistakes That Inflate or Hide Your True Drawdown
In my auditing of client spreadsheets, I see the same errors repeatedly. Below are the four that cause catastrophic misjudgments.
Mistake 1: Using the Absolute Minimum Instead of a Rolling Peak
If you take MIN(price) and MAX(price) over the whole range, you assume the max happened before the min. In a U-shaped recovery where the max is at the end, this yields zero or negative drawdown—nonsense. Always use running peak.
Mistake 2: Allowing Trough to Precede Peak
Time ordering is non-negotiable. A low in March and high in May is not a drawdown; it’s a rally. If your formula doesn’t enforce chronology, you’ll report imaginary pain that distorts risk limits.
Mistake 3: Ignoring Interim Recoveries
Suppose a portfolio goes 100→70→90→60. Absolute max 100, min 60 gives 40% MDD. But the running peak at the 60 point is 90 (from the recovery), so actual drawdown from last peak is (90-60)/90=33.3%. The correct MDD is 33.3% because the first drawdown (100→70) was 30%, smaller. This subtlety trips up even Python users who use global max.
Mistake 4: Spreadsheet Helper Columns That Drift
Many Excel guides tell you to create a ‘peak’ column and drag down. Dragging breaks when rows insert, and referencing wrong ranges yields off-by-one errors. The mistake-proof approach is a single-cell array formula, which we cover next.
Most people don’t realize that maximum drawdown is silent about how long recovery takes. A 30% MDD that recovers in a month is very different from one that takes a decade. Always pair MDD with recovery duration.
Building a Mistake-Proof Google Sheet (No Extra Columns)
Non-coders need a reliable method without clutter. Below is a single-cell formula for Google Sheets that computes MDD from a price column (say B2:B100) without any helper column. It uses the LAMBDA and SCAN functions to build a rolling maximum inside the formula.
Enter this in any empty cell:
=MAX(ARRAYFORMULA((B2:B100 - SCAN(B2, B2:B100, LAMBDA(acc,val,MAX(acc,val)))) / SCAN(B2, B2:B100, LAMBDA(acc,val,MAX(acc,val)))))
This creates two virtual rolling-peak arrays, subtracts price, divides, and takes the max. No extra columns, no drag errors. If your Sheets version lacks SCAN, use the Maximum Drawdown Calculator or a manual column temporarily.
I tested this on the 2022 S&P data and got 0.272, matching the hand calc. The trade-off: array formulas can be CPU-heavy on 100k rows; for big data, Python remains better. But for a personal portfolio of a few hundred points, it’s perfect.
Annotated Price Chart: Visualizing Peaks and Troughs
Alongside the Sheet, I built an annotated line chart. The x-axis is dates; y-axis is index level. A green dot marks the January 3 peak; a red dot marks October 12 trough; a dashed line connects them showing the 27.2% drop. A secondary orange marker shows the June low and August rebound to illustrate why interim recovery doesn’t reset the peak.
Visuals catch what formulas hide. When I review a strategy, I always plot the equity curve with running peak overlay. The eye spots a trough-before-peak error instantly.
Maximum Drawdown vs Volatility: Setting Risk Tolerance
Volatility (standard deviation of returns) is symmetrical and ignores order. MDD is asymmetrical and order-dependent. They answer different questions: ‘How bumpy is the ride?’ versus ‘How close to zero did I get?’
For setting portfolio limits, I use both. A client with 20% volatility tolerance might still panic at a 35% MDD. Conversely, a low-volatility strategy can have a hidden 25% MDD due to slow bleed. Below is a decision matrix I give clients:
- If goal is daily risk monitoring → use volatility (annualized).
- If goal is surviving a crisis → use MDD with recovery time.
- If comparing managers → MDD is harder to game than Sharpe.
- If backtesting high-frequency → volatility computationally cheaper.
Regulators like the SEC emphasize understanding downside risk for retail investors, and MDD is the clearest downside measure.
Edge Cases That Break Naive Calculations
Real markets throw curveballs. In April 2020, crude oil futures settled at negative prices for the first time, as documented by CME Group. If your peak is positive but trough negative, the MDD formula still works mathematically but implies a loss exceeding 100%, which is a special case for leveraged products.
Intraday data can also distort. A flash crash spike to a new high that closes lower creates a running peak that never existed at close. I always compute MDD on closing prices unless the mandate specifically requires intraday marks.
Sparse data is another trap. If you only record monthly values, you may miss the true intra-month trough. In my early days, I reported a 15% MDD from monthly mutual fund statements, only to learn the daily series showed 22%. The gap could mean the difference between keeping a mandate and breaching it.
Comparing Calculation Approaches: Manual, Sheets, Python, Calculator
Choosing a method depends on your data size and coding comfort. The table below summarizes trade-offs from my consulting work.
| Method | Best For | Primary Pitfall |
|---|---|---|
| Manual on paper | Learning, audits, small series | Human arithmetic error, missed rows |
| Google Sheet (SCAN) | Non-coders, portfolios <1k rows | Formula complexity, version limits |
| Python (pandas) | Large datasets, backtests | Using global max instead of cummax |
| Online calculator | Quick checks | Black-box, no visibility of peak/trough |
For a deeper dive on automated computation, our Maximum Drawdown Calculator shows the peak and trough dates explicitly, which builds trust.
A Second Real-World Example: Bitcoin 2021–2022
To reinforce the method, consider Bitcoin. According to CoinGecko historical data, BTC peaked near $69,000 in November 2021 and troughed near $15,500 in November 2022.
Hand calc: (69,000 – 15,500) / 69,000 = 53,500 / 69,000 = 0.775, or 77.5% MDD. That dwarfs the S&P’s 27.2%. The running peak never exceeded $69k during that year, so the simple formula works.
But note the interim bounce to $48k in March 2022. If an analyst used that local peak with the later $15.5k trough, they’d compute 67.7%—understating the true pain because they ignored the higher prior peak. This is exactly the mistake from section above.
Why Recovery Time Matters More Than the Number Itself
A drawdown is only half the story. The recovery duration—time from trough back to prior peak—determines whether a strategy is survivable. The S&P 500 took about four years to recover from the 2008 MDD of roughly 55%, while the 2022 MDD recovered within two years.
Institutional mandates often cap MDD at 20% with a max recovery of 24 months. I advise individuals to set their own limit based on income stability. A young saver can absorb a 50% MDD; a retiree cannot. The metric is personal, not absolute.
Integrating MDD with Other Risk-Adjusted Metrics
Maximum drawdown does not live alone. The Calmar ratio divides annualized return by MDD, rewarding strategies that achieve gains with shallow drawdowns. The Sortino ratio uses downside deviation, but pairing it with MDD shows tail behavior.
In a 2023 review of a market-neutral fund, I found a Calmar of 1.2 but an MDD of 18% that lasted 14 months. The return looked fine, yet the long recovery meant clients redeemed before the rebound. The lesson: MDD context beats a single ratio.
When you calculate MDD manually, also note the underwater curve—a plot of drawdown over time. This reveals if drawdowns are frequent shallow dips or rare deep craters. That shape influences leverage decisions.
How to Stress-Test Your Calculation with Synthetic Data
Before trusting any spreadsheet, I create a synthetic series with known MDD. For example: 10, 12, 9, 11, 7. Running peaks: 10,12,12,12,12. Drawdowns: 0,0,25%,8.3%,41.7%. MDD = 41.7%. If your formula returns anything else, debug.
This takes five minutes and prevents embarrassing client errors. I keep a test tab in my Google Sheet template for exactly this purpose. It’s a practitioner habit that separates robust risk reports from guesswork.
A Mistake-Proof MDD Checklist for Practitioners
Before you report any drawdown number, run through this unique checklist:
- Chronology verified: trough date > peak date?
- Rolling peak used, not global max?
- Interim recoveries accounted for in running peak?
- Result expressed as positive percentage decline?
- Recovery duration noted alongside MDD?
- Cross-checked with a second method (calculator or chart)?
This framework has saved me from sending erroneous risk reports. It turns a slippery concept into a repeatable audit step.
Apply This to Your Own Portfolio Today
Take your monthly account statements for the past three years. Write them in column B of a Sheet, use the SCAN formula above, and compare to the hand method on the worst year. You’ll likely find a different number than your broker’s ‘largest decline’ if they use simplistic methods.
Remember, knowing how to calculate maximum drawdown is not academic. It’s the difference between sticking with a strategy during a dip and panic-selling at the worst moment. The metric is only as good as its calculation—make yours mistake-proof.
