Performance metrics: CAGR, drawdown, Sharpe and profit factor
Calculate and interpret CAGR, maximum drawdown, the Sharpe ratio, the Calmar ratio and profit factor from a backtest.
What you will learn
- How to calculate the compound annual growth rate (CAGR) and why it differs from the average return.
- How to annualise volatility and the Sharpe ratio from monthly returns.
- How the Calmar ratio links return to the worst drawdown.
- Which metric answers which question, and what each one hides.
Explanation
Win rate, expectancy, profit factor and maximum drawdown from a trade journal were covered in the course "Risk & Trade Management". A backtest also gives you an equity curve over time, so you can add time-based metrics. No single number is enough; read them together.
CAGR
The compound annual growth rate is the constant yearly return that turns the start value into the end value:
CAGR = (end value ÷ start value)^(1 ÷ years) − 1
It is lower than the simple average of returns whenever returns fluctuate. This gap is called volatility drag: a −10% month followed by +10% leaves you at 0.9 × 1.1 = 0.99, not at the start.
Maximum drawdown
The maximum drawdown (max DD) is the largest percentage fall from a running peak to a later low. Note also its duration: how many months the system needed to make a new high. A long duration tests your patience as much as the depth tests your capital.
Volatility and the Sharpe ratio
Volatility here means the standard deviation of periodic returns. The Sharpe ratio measures excess return per unit of volatility:
Sharpe = (average return − risk-free rate) ÷ standard deviation
The risk-free rate is the return on a very safe short-term investment, such as a money-market rate. Calculate the ratio per period, then annualise it by multiplying by √(periods per year): √12 ≈ 3.46 for monthly data, √252 ≈ 15.87 for daily data (about 252 trading days). Volatility is annualised the same way. The Sharpe ratio treats upside and downside swings alike and assumes returns are roughly normal, which trend and option-selling systems often are not.
Calmar ratio
The Calmar ratio (also called MAR ratio in some sources; definitions of the period vary) is:
Calmar = CAGR ÷ |maximum drawdown|
It answers: "How much yearly growth do I get for each percentage point of worst-case pain?"
Profit factor and exposure
Profit factor = gross profits ÷ gross losses of all trades. It says nothing about time or drawdown. Exposure is the share of time the system is invested. A system with 8% CAGR and 40% exposure uses capital very differently from one with 8% CAGR and 100% exposure.
Which metric for which question?
| Question | Metric | Blind spot |
|---|---|---|
| How fast did capital grow? | CAGR | Ignores the path and the risk |
| How bad did it get? | Max DD, duration | Based on one single worst episode |
| How smooth was the return? | Sharpe | Hides rare large losses |
| Return for the pain? | Calmar | Very sensitive to the test period |
| Do wins outweigh losses? | Profit factor | No time dimension |
Worked example
Hypothetical example: a backtest over 12 months, starting with €10,000. Monthly returns: +3%, −2%, +4%, +1%, −5%, −3%, +6%, +2%, −1%, +3%, +2%, −4%. Assumed risk-free rate: 2% per year, so 2% ÷ 12 ≈ 0.167% per month. Returns are after the system's assumed trading costs; taxes are excluded.
- End value (compounding month by month): ≈ €10,547.83. Return over 1 year: +5.48%, so CAGR = 5.48%.
- Simple average × 12: (sum of returns 6%) ÷ 12 = 0.50% per month → 6.0% per year. The difference to 5.48% is volatility drag.
- Max DD: peak after month 4 at €10,602.74, low after month 6 at €9,770.42. €9,770.42 ÷ €10,602.74 − 1 ≈ −7.85%.
- Monthly standard deviation (sample): ≈ 3.45%. Annualised volatility: 3.45% × 3.46 ≈ 11.95%.
- Monthly Sharpe: (0.50% − 0.167%) ÷ 3.45% ≈ 0.097. Annualised: 0.097 × 3.46 ≈ 0.33.
- Calmar: 5.48% ÷ 7.85% ≈ 0.70.
- Profit factor from the trade list (hypothetical): gross profits €6,000 ÷ gross losses €4,000 = 1.5.
Twelve monthly values are far too few for reliable estimates; the same formulas are applied to 10 or more years of data in practice.
Multi-year CAGR: €10,000 growing to €13,310 in 3 years gives (1.331)^(1/3) − 1 = 10.0% per year, not 33.1% ÷ 3 ≈ 11.0%.
Common mistake
Practice activity
Hypothetical system: start €20,000, end €29,282 after 4 years, maximum drawdown −20%, average monthly return 0.8%, monthly standard deviation 4.0%, risk-free rate 0.2% per month, gross profits €14,000, gross losses €8,000. Calculate CAGR, annualised Sharpe, Calmar and profit factor on paper.
Show solution
CAGR: €29,282 ÷ €20,000 = 1.4641; 1.4641^(1/4) = 1.10, so CAGR = 10.0%.
Sharpe: (0.8% − 0.2%) ÷ 4.0% = 0.15 per month; 0.15 × 3.46 ≈ 0.52 per year.
Calmar: 10.0% ÷ 20% = 0.50.
Profit factor: €14,000 ÷ €8,000 = 1.75.
Limitations: annualising by √12 assumes monthly returns are independent; with streaks the true risk is higher.
Key takeaways
- CAGR = (end ÷ start)^(1/years) − 1; it is below the simple average when returns fluctuate.
- Annualise Sharpe and volatility with √(periods per year) and state frequency and risk-free rate.
- Calmar relates growth to the worst drawdown; also record drawdown duration.
- Read all metrics together, because each one hides something.
Next step
In the next lesson you will learn why the best-looking metrics often come from overfitting, and how to tell a robust rule from a lucky one.
Self-check
Answer the questions, then check your answers. You can retry as often as you like.
Automatic self-check for your own revision. Your answers are checked in your browser and are not seen or assessed by us. It is not an exam and not a qualification.
Your progress
“Complete” only means you marked the lesson as done. It is not a test of your understanding. Progress and notes are saved only in this browser on this device — not in an account.