finterion-logo

Search store

/

DEFINITION:

CAGR (Compound Annual Growth Rate) measures the mean annual growth rate of an investment over a specified period longer than one year. It's essential for comparing trading bot performance across different time horizons.

What Is CAGR (Compound Annual Growth Rate)?

CAGR, or Compound Annual Growth Rate, is a measure of the mean annual growth rate of an investment over a specified period of time longer than one year. It represents one of the most accurate ways to calculate and determine returns for anything that can rise or fall in value over time.

In the context of trading bots, CAGR is particularly valuable because it allows you to compare the performance of different bots that have been running for different lengths of time. Unlike simple returns, CAGR accounts for the compounding effect of gains and provides a smoothed annual rate of return.

Formula and Calculation

The CAGR formula is:

CAGR=(Ending ValueBeginning Value)1n1\text{CAGR} = \left(\frac{\text{Ending Value}}{\text{Beginning Value}}\right)^{\frac{1}{n}} - 1

Where:

  • Ending Value\text{Ending Value} = The final value of the portfolio
  • Beginning Value\text{Beginning Value} = The starting value of the portfolio
  • nn = Number of years

Step-by-Step Calculation

  1. Divide the ending value by the beginning value
  2. Raise the result to the power of (1 / number of years)
  3. Subtract 1 from the result
  4. Multiply by 100 to get the percentage

Example Calculation

A trading bot starts with €10,000 and grows to €18,500 over 3 years:

CAGR=(18,50010,000)131=(1.85)0.3331=1.2271=0.227=22.7%\text{CAGR} = \left(\frac{18{,}500}{10{,}000}\right)^{\frac{1}{3}} - 1 = (1.85)^{0.333} - 1 = 1.227 - 1 = 0.227 = 22.7\%

This means the bot achieved an average annual growth rate of 22.7%, even if individual years varied significantly.

Why CAGR Matters for Trading Bots

1. Fair Comparison Across Time Periods

Trading bots often have different start dates. CAGR normalizes performance to an annual basis:

BotTotal ReturnPeriodCAGR
Bot A150%5 years20.1%
Bot B80%2 years34.2%
Bot C45%1 year45.0%

Without CAGR, Bot A looks best (150% total return). With CAGR, Bot C shows the strongest annual performance.

2. Accounts for Compounding

CAGR reflects the power of compounding, which is how trading bots actually grow wealth:

  • Year 1: €10,000 × 1.20 = €12,000
  • Year 2: €12,000 × 1.20 = €14,400
  • Year 3: €14,400 × 1.20 = €17,280

A 20% CAGR doesn't mean 60% total return over 3 years—it means 72.8% due to compounding.

3. Smooths Out Volatility

CAGR provides a single number that represents the growth rate as if it had been constant:

YearActual ReturnPortfolio Value
Start-€10,000
Year 1+40%€14,000
Year 2-20%€11,200
Year 3+35%€15,120

Total Return: 51.2% CAGR: 14.8%

The CAGR of 14.8% represents what the constant annual return would need to be to achieve the same final value.

CAGR vs. Other Growth Metrics

CAGR vs. Average Annual Return

MetricWhat It MeasuresBest For
CAGRGeometric mean of returnsActual wealth growth
Average ReturnArithmetic mean of returnsUnderstanding volatility

Example:

  • Year 1: +50%, Year 2: -50%
  • Average Return: (50% + -50%) / 2 = 0%
  • Actual Result: €10,000 → €15,000 → €7,500 (25% loss)
  • CAGR: -13.4%

CAGR shows the reality; average return is misleading.

CAGR vs. Total Return

MetricFormulaUse Case
CAGRAnnualized compound rateComparing investments of different durations
Total Return(End - Start) / StartAbsolute performance over a specific period

For comparing a 2-year-old bot with a 5-year-old bot, CAGR is essential.

CAGR in Trading Bot Analysis

Interpreting CAGR for Trading Bots

CAGRCrypto BotsTraditional Market Bots
< 0%Losing moneyLosing money
0-10%Below averageAverage performance
10-25%GoodExcellent
25-50%Very goodOutstanding
50-100%ExcellentExceptional (verify risk)
> 100%Outstanding (high risk likely)Unrealistic (investigate)

CAGR and Risk Considerations

High CAGR often comes with high risk. Always evaluate CAGR alongside:

MetricWhy It Matters
Max DrawdownWhat's the worst decline?
Sharpe RatioIs the return worth the risk?
VolatilityHow bumpy is the ride?
Win RateHow consistent are profits?

A bot with 50% CAGR and 60% max drawdown may be less desirable than one with 25% CAGR and 15% max drawdown.

Calculating CAGR for Trading Bots

With Deposits and Withdrawals

When you add or remove funds, CAGR becomes more complex. Use Time-Weighted Return (TWR) first, then annualize:

CAGR=(1+TWR)365Days1\text{CAGR} = (1 + \text{TWR})^{\frac{365}{\text{Days}}} - 1

For Periods Less Than One Year

For bots running less than a year, you can calculate annualized CAGR, but be cautious:

  • 3 months at 20% return → Annualized CAGR ≈ 107%
  • This assumes the same performance continues, which is rarely the case

Rule of thumb: CAGR is most meaningful for periods of 1+ years.

CAGR Limitations

1. Doesn't Show Volatility

Two bots with the same CAGR can have very different risk profiles:

BotYear 1Year 2Year 3CAGR
Bot A+20%+20%+20%20%
Bot B+80%-30%+30%20%

Same CAGR, but Bot B is much riskier.

2. Assumes Reinvestment

CAGR assumes all returns are reinvested. If you withdraw profits, your actual returns will differ.

3. Past Performance

Historical CAGR doesn't guarantee future results. Market conditions change, and strategies may become less effective.

4. Sensitive to Start/End Dates

Choosing different measurement periods can significantly affect CAGR:

  • Measuring from a market bottom inflates CAGR
  • Measuring to a market top inflates CAGR

Practical Examples

Example 1: Comparing Two Trading Bots

Bot Alpha:

  • Starting value: $10,000
  • Current value: $25,000
  • Running time: 4 years
CAGR=(25,00010,000)141=25.7%\text{CAGR} = \left(\frac{25{,}000}{10{,}000}\right)^{\frac{1}{4}} - 1 = 25.7\%

Bot Beta:

  • Starting value: $10,000
  • Current value: $16,000
  • Running time: 2 years
CAGR=(16,00010,000)121=26.5%\text{CAGR} = \left(\frac{16{,}000}{10{,}000}\right)^{\frac{1}{2}} - 1 = 26.5\%

Despite Bot Alpha having higher total returns (150% vs 60%), Bot Beta has a slightly higher CAGR.

Example 2: Setting Realistic Expectations

If a trading bot has a historical CAGR of 30%, what can you expect in 5 years?

Starting with €10,000:

Future Value=10,000×(1+0.30)5=10,000×3.71=37,100\text{Future Value} = 10{,}000 \times (1 + 0.30)^5 = 10{,}000 \times 3.71 = €37{,}100

But remember: past CAGR doesn't guarantee future performance.

CAGR works best when analyzed alongside other metrics:

  • Growth: Understand different types of growth measurements and how they relate to CAGR
  • Sharpe Ratio: Evaluate risk-adjusted returns
  • Drawdown: Understand the risk of decline
  • Volatility: Measure return consistency

FAQs

What is a good CAGR for a trading bot?

It depends on the market and strategy:

  • Crypto bots: 20-50% CAGR is good; above 50% is excellent but verify risk
  • Stock market bots: 15-25% CAGR is excellent (S&P 500 averages ~10%)
  • Forex bots: 10-20% CAGR is typically good

Always compare CAGR with risk metrics like maximum drawdown.

How is CAGR different from simple average return?

CAGR accounts for compounding and shows your actual annualized growth. Simple average return is the arithmetic mean of yearly returns, which can be misleading. For example, +50% followed by -50% has a 0% average return but results in a 25% loss (CAGR: -13.4%).

Can CAGR be negative?

Yes. A negative CAGR means the investment lost value on an annualized basis. For example, if €10,000 becomes €8,000 over 2 years, the CAGR is -10.6%.

How long should a bot run before CAGR is meaningful?

At least 1 year is recommended for CAGR to be statistically meaningful. For 6 months or less, annualized CAGR can be misleadingly high or low due to short-term volatility.

Does CAGR account for fees and costs?

CAGR is calculated on net returns (after fees) if you use the actual portfolio values. If your portfolio value already reflects fees, your CAGR is net of fees.

The Bottom Line

CAGR is an essential metric for evaluating and comparing trading bot performance over different time periods. It provides a standardized annual growth rate that accounts for compounding, making it the gold standard for comparing investments. However, CAGR should never be used in isolation—always consider risk metrics like drawdown, volatility, and Sharpe ratio to get a complete picture of a trading bot's performance.

Table of Contents
  • What Is CAGR (Compound Annual Growth Rate)?

  • Formula and Calculation

  • Why CAGR Matters for Trading Bots

  • CAGR vs. Other Growth Metrics

  • CAGR in Trading Bot Analysis

  • Calculating CAGR for Trading Bots

  • CAGR Limitations

  • Practical Examples

  • Related Metrics

  • FAQs

  • The Bottom Line


About the Author
Marc van Duyn
Marc van Duyn
Founder & CEO

Marc is the Founder and CEO of Finterion. He is passionate about making algorithmic trading accessible to everyone.


Share this article