CAGR vs average return: how volatility drags compound growth
On this page
Key takeaways
- CAGR, the compound annual growth rate, is the yearly growth rate that would turn the starting value into the ending value if growth had been perfectly steady, whatever path the value actually took.
- A simple average of returns ignores compounding, so it overstates growth: a gain followed by an equal percentage loss averages zero but leaves less money than at the start.
- The bumpier the ride, the further the compound growth rate falls below the simple average. That gap, called volatility drag, grows much faster than volatility itself: twice the volatility brings about four times the drag.
- Two holdings with similar average returns can end with very different wealth if one is much more volatile.
- MarketHeist compounds monthly total returns, dividends included, over the whole window and quotes the result as a yearly rate.
Definition
The compound annual growth rate (CAGR) is the constant yearly rate that would turn an investment's starting value into its ending value over the same number of years. It sits below the simple average of the yearly returns whenever returns vary, and the gap, called volatility drag, grows with the square of volatility, the variance (uncertainty) of returns.
Also known as: CAGR, geometric mean return, annualized return, volatility drag, variance drain, arithmetic vs geometric return, average return vs CAGR.
How it works
Suppose an investment rises by half in one year and falls by half the next. The average of the two returns is zero, yet the money is down by a quarter: a value of one becomes one and a half, then three quarters. Losses are taken from a larger base than the gains that preceded them, so they weigh more. The average return answers "what was a typical year?"; the compound growth rate answers "what did the money actually do?"
CAGR is the second answer expressed as a yearly rate. Take the ending value over the starting value, take the root for the number of years, subtract one. Every path from the same start to the same end over the same years has the same CAGR, smooth or bumpy.
The gap between the two is not random. For returns that are not too large, the compound rate is close to the average minus half the square of the volatility. The square matters: a holding with modest volatility loses only a sliver of its average to compounding, while a holding with high volatility can lose several times as much. Practitioners call the gap volatility drag or variance drain.
It is like walking up a down escalator that speeds up and slows down at random: the average speed of the steps can look harmless, but the jerks cost more ground than the smooth stretches give back.
The flip side is the diversification return. A portfolio of several volatile holdings, rebalanced back to fixed weights, has lower volatility than its parts, so it loses less to drag. Its compound rate can then exceed the weighted average of its holdings' compound rates, even though its average return is just the weighted average of theirs.
Formula
- V₀, V_T
- value at the start and at the end of the window
- rₜ
- total return of month t (dividends reinvested)
- N
- number of months in the window
- Y
- number of years
- A
- annualized arithmetic average return (simple, not compounded)
- r̄
- arithmetic mean of the monthly returns
- ln
- natural logarithm
- σ
- annualized volatility: the sample standard deviation of monthly returns times √12
- A, N, rₜ
- as above
The left side is exact; the approximation comes from ln(1 + r) ≈ r − r²/2 for small monthly returns. In per-period form it is the textbook rule: geometric mean ≈ arithmetic mean − σ²/2.
- drag
- volatility drag per year
- m̄
- arithmetic mean of the monthly returns
- g
- geometric (compound) mean monthly return, from CAGR
- σ
- annualized volatility, as above
Month by month, the arithmetic mean exceeds the geometric mean by about half the monthly variance; times 12 that is about σ²/2 in annual terms. The figure is close to, but not the same as, the yearly average minus CAGR, because CAGR compounds the twelve monthly geometric returns.
Worked example
Broad commodities (DBC) and intermediate-term US Treasuries (IEF), 500 monthly returns from Feb 1985 to Sep 2026, about 42 years.
By the simple average, commodities and Treasuries earned similar returns: DBC's mean monthly return times 12 was 4.9%, IEF's 5.6%.
Compounded, they were far apart. DBC grew at 3.2% a year and IEF at 5.5%, so the bond fund ended with considerably more money from an average return that was not much different.
The difference is volatility. DBC's volatility was 18.5%, about three times IEF's 6.0%. Its drag, 12 times the gap between the average and the compound monthly return, was 1.7%, close to half the square of its volatility, as the formula predicts. IEF's drag was 0.2%, also close to half the square of its much smaller volatility.
For a calm holding the drag is small. For a volatile one it is a real cost: comparing the two funds by average return shows two similar numbers and hides most of the difference in outcome.
Data through Sep 2026. Reproduce id e9a4874c881f47d6 (this guide, its lab setup and the data month).
Interactive lab
Average return, compound growth rate and the drag between them, beside the volatility that causes it, for both picks over the same months. Switch to a stock fund, gold or a balanced portfolio and watch the drag follow the square of volatility.
| Measure | DBC | IEF |
|---|---|---|
| Sharpe ratio | 0.26 | 0.92 |
| Sortino ratio | 0.39 | 1.59 |
| Probabilistic Sharpe ratio (against 0.00) | 95.5% | 100.0% |
| Skewness of monthly returns | -0.10 | -0.06 |
| Excess kurtosis of monthly returns | 1.59 | 0.73 |
| Downside deviation (annualized) | 12.4% | 3.5% |
| Volatility (annualized) | 18.5% | 6.0% |
| Average return (mean monthly return x 12) | 4.9% | 5.6% |
| CAGR | 3.2% | 5.5% |
| Volatility drag (annualized) | 1.7% | 0.2% |
| Omega ratio (threshold 0%) | 1.22 | 1.99 |
| Months in the window | 500 | 500 |
Risk-free rate 0, 12 periods a year. The probabilistic Sharpe ratio is the probability that the true Sharpe ratio exceeds the benchmark, given the record's length, skewness and kurtosis. Volatility drag: 12 times the arithmetic mean monthly return minus the geometric mean monthly return. Omega ratio: the sum of the monthly gains over the sum of the monthly losses, at a threshold of 0% a month. Feb 1985 to Sep 2026.
How MarketHeist computes it
Every choice an implementation has to make, as the code makes it today. The page is checked against the code each time it is built.
| Choice | How it is computed | In the code |
|---|---|---|
| Data | Monthly total returns (dividends reinvested). Funds younger than the period shown are extended backward with older funds, spliced on returns, not prices. | |
| Window | The worked example and the lab use the common window of the two portfolios compared, Feb 1985 to Sep 2026 (500 months), ending at the data month of this page. Another pick in the lab is read over its own common window. | |
| Portfolio streams | A fund is its proxy-extended monthly return stream. A built-in portfolio is read as the MarketHeist MCP reads it: its composed stream with its own rebalancing rule and overlay. A custom mix is rebalanced yearly. | |
| Ratios | Risk-free rate 0, 12 periods a year. Sharpe: mean of the monthly returns over their sample standard deviation, times the square root of 12. Sortino: the same mean over the downside deviation, the root of the average squared negative return over all N months. The probabilistic Sharpe ratio uses the per-period Sharpe ratio, the skewness and the kurtosis of the monthly returns; the benchmark Sharpe ratio is divided by the square root of 12 first. | |
| CAGR | Final value of one unit compounded through every monthly return, raised to the power 1 / years, minus 1, with years = months / 12. Returns 0 when the window has no years or the final value is 0 or below. | cagrpackages/portfolio/engine/metrics.ts |
| Value series | The running product of (1 + monthly return), starting from one unit before the first month, so the first month's return counts. Portfolios are simulated with their own rebalancing rule before compounding. | equityCurvepackages/portfolio/engine/metrics.ts |
| Years | The number of months in the window divided by 12; calendar days are not used. | buildMetricspackages/portfolio/engine/portfolio.ts |
| Average return and drag on this page | Average return = the arithmetic mean of the monthly returns times 12, not compounded. Drag = 12 × (arithmetic mean monthly return − geometric mean monthly return), with the geometric mean taken as (1 + CAGR)^(1/12) − 1. | ratiosSidecontent-engine/lab/compute.ts |
| Backtester | The same formula on the strategy's bar-by-bar equity curve, with years = number of bars / bars per year (252 daily, 52 weekly, 12 monthly). | runBacktestpackages/shared/engine/backtest.ts |
| Engine functions | The functions the portfolio app and the MarketHeist MCP tools run, called here on the same monthly returns. | sharpepackages/shared/engine/metrics.tssortinopackages/shared/engine/metrics.tsprobabilisticSharpeRatiopackages/shared/engine/metrics.tsskewnesspackages/shared/engine/metrics.tsexcessKurtosispackages/shared/engine/metrics.ts |
Compound annual growth rate (CAGR) compared with its neighbours
| Measure | How it is computed | Effect of volatility | Answers |
|---|---|---|---|
| CAGR (geometric mean) | Root of the total growth over the years | Lowered by about σ²/2 | What rate did the money actually grow at? |
| Arithmetic average (monthly mean × 12) | Simple mean of monthly returns, scaled | None | What was a typical month, scaled to a year? |
| Average of calendar-year returns | Simple mean of each year's return | None, but its gap to CAGR is closer to σ²/2 | What was a typical year? |
| Log growth rate | Mean of ln(1 + r), scaled | Lowered by about σ²/2 | The continuously compounded rate; adds across periods |
| Total return | Ending value / starting value − 1 | Lowered, not annualized | How much did the money grow in all? |
Limitations
- CAGR depends on the start and end months. Starting just before a crash or ending just after one can move it a lot, and it says nothing about the path in between; read it with the maximum drawdown and the volatility.
- The σ²/2 rule is an approximation for small, well-behaved returns. Large negative months and fat tails make the true drag larger than the rule suggests.
- Conventions differ. MarketHeist's average return is the monthly mean times 12 and its drag is measured on monthly returns; sources that average calendar-year returns, or quote the yearly average minus CAGR, report somewhat different figures for the same data.
- Returns are before taxes and fees, with no money added or withdrawn. With withdrawals, the order of returns changes the outcome, and CAGR no longer describes the investor's experience.
- Long histories are extended backward with older funds or indexes where a fund is younger than the window. DBC's history before its 2006 launch uses a broad commodity index, so its early months approximate the fund rather than reproduce it.
Frequently asked questions
- What is the difference between CAGR and average annual return?
- The average annual return adds up the yearly returns and divides by the number of years. CAGR is the steady rate that would have produced the same ending value. Whenever returns vary, CAGR is the lower of the two, and it is the one that matches what happened to the money.
- What is volatility drag?
- The gap between the average return and the compound growth rate. Because a loss is taken from a larger base than the gain before it, ups and downs of equal size leave the value lower. The gap is roughly half the square of the volatility, so it grows quickly as volatility rises.
- Is CAGR the same as annualized return?
- Usually yes: an annualized return over several years normally means the compound rate. Some sources annualize by multiplying an average monthly return by 12 instead, which gives a higher figure; check which one a number is.
- Why can two funds with the same average return end with different amounts?
- Because the more volatile one loses more to compounding. With the same average, the one whose returns swing more widely has the lower compound growth rate and the smaller ending value.
- How does rebalancing relate to volatility drag?
- A rebalanced mix of holdings that do not move together has lower volatility than its parts, so it suffers less drag. That is the source of the diversification return: the portfolio can compound faster than the weighted average of its holdings' compound rates.
References
- Markowitz, H. (1959) Portfolio Selection: Efficient Diversification of Investments. Wiley. Approximations of the geometric mean from the mean and standard deviation.
- Fernholz, R. and Shay, B. (1982) Stochastic Portfolio Theory and Stock Market Equilibrium. Journal of Finance 37(2). Growth rates of portfolios and the excess growth from diversification.
- Booth, D. G. and Fama, E. F. (1992) Diversification Returns and Asset Contributions. Financial Analysts Journal 48(3). The diversification return of a rebalanced portfolio.
- Messmore, T. (1995) Variance Drain. Journal of Portfolio Management 21(4). The gap between arithmetic and geometric returns.
Try it on your own holdings
See DBC's full history, CAGR and worst years →
Or ask an assistant connected to the MarketHeist MCP server (https://marketheist.io/mcp), which computes the same figures:
Using MarketHeist.io, compare DBC and IEF over the same months: the average monthly return times 12, the compound annual growth rate, the gap between them and the volatility, and explain why the gap is so different
Ask an AI assistant
The prompt opens in a new tab, already filled in. An assistant without the MarketHeist connector answers from its own knowledge, not from the figures on this page.
Historical simulation, not advice. Computed by the MarketHeist portfolio engine from monthly total returns, data through Sep 2026. Markdown version of this page: cagr.md.