Problem statement and knowns/unknowns
Use a two-return business cycle to show why MBA-style “average” return assumptions overstate realized wealth. The template computes both the exact geometric mean and the volatility-drag approximation.
- Compute arithmetic mean, geometric mean, and volatility-drag approximation.
- Quantify drag in basis points.
- Plot theoretical vs realized growth paths.
Assumptions and unit discipline
- Returns are entered as decimal fractions per period.
- CAGR rows assume reinvestment without intermediate external cash flows.
- Approximation rows provide intuition; exact geometric compounding drives final decisions.
- Report outputs coherently in percent and basis points.
Derivation and governing equations
The first line is exact. The second line is an approximation that is best used for intuition or small-period returns.
Template script
# --- VOLATILITY DRAG SIMULATION ---
initial_wealth = 2000000
bull_return = 0.35
bear_return = -0.20
years = 10
avg_return = (bull_return + bear_return) / 2
avg_return_pct = avg_return * 100
two_year_factor = (1 + bull_return) * (1 + bear_return)
cagr = sqrt(two_year_factor) - 1
cagr_pct = cagr * 100
variance = ((bull_return - avg_return)^2 + (bear_return - avg_return)^2) / 2
approx_cagr = avg_return - variance / 2
approx_cagr_pct = approx_cagr * 100
volatility_cost = avg_return - cagr
drag_basis_points = volatility_cost * 10000
wealth_avg = initial_wealth * pow(1 + avg_return, t)
wealth_real = initial_wealth * pow(1 + cagr, t)
plot(wealth_avg, t, 0, years)
plot(wealth_real, t, 0, years)
Accuracy notes
With large discrete swings, the approximation can understate the drag. Use the geometric mean for final projections and the approximation for quick intuition.
Worked example (interpreted)
Step 1: With returns +35% and -20%, arithmetic average is 7.50%.
Step 2: Exact CAGR is 3.923%; volatility drag is 357.7 bps (avg_return-cagr).
Step 3: Over 10 years from USD 2,000,000, arithmetic projection reaches about 4.12M while realized CAGR path is about 2.94M.
Interpretation: compounding penalizes variance more than headline averages suggest, so planning should be based on geometric growth and fee-adjusted variants.
When this model is invalid
| Condition | Why invalid | Use instead |
|---|---|---|
| Non-stationary return regime | Single-cycle assumptions understate structural breaks. | Scenario-specific branches and stress testing. |
| Path-dependent cash flows | CAGR assumes pure reinvested growth without contributions/withdrawals. | Money-weighted IRR / cash-flow models. |
| Large tail-risk or skewed returns | Variance approximation mu - sigma^2/2 can be inaccurate. | Exact geometric compounding or Monte Carlo simulation. |
How to validate your worksheet
cagr_identity_errorshould remain near zero.approx_errorquantifies approximation bias directly.regime_shift_proxycompares baseline and alternate-cycle geometric growth.
Domain-specific variants in this template
Fee-adjusted CAGR (net_cagr) and alternate-volatility branch rows show how small changes in dispersion and fees alter long-horizon wealth.
Practice problems (with answer outlines)
Practice 1
Modify the bull/bear pair to +25%/-15% and recompute drag.
Outline: Recalculate average, exact CAGR, and drag in bps from updated two-period factor.
Practice 2
Add a 0.75% fee and compare terminal wealth after 15 years.
Outline: Use net_cagr=(1+cagr)(1-fee)-1 and evaluate growth path divergence.
References and standards
- Bodie, Kane, Marcus, Investments (geometric vs arithmetic return treatment). Book page.
- CFA Institute GIPS Standards (performance reporting context). GIPS standards.
- Bernstein, The Intelligent Asset Allocator (practical compounding/risk interpretation). Reference page.