Quant Terminal
A2-01A2·intro·~16 min

The mean — what "average return" actually is

statisticsmeanreturnsarithmetic-geometric

▸ Pretest — guess, even if you don't know

A strategy returns +50% one year and −50% the next. What's its overall performance?

Two different "averages"

The mean comes in two flavors that quants need to distinguish:

Arithmetic mean

rˉarith=1Nt=1Nrt\bar{r}_{\text{arith}} = \frac{1}{N} \sum_{t=1}^{N} r_t

In words: "r-bar" — the bar over the rr means "the average of" — equals the sum of all NN returns, divided by NN. It's the plain average you already know: add up the returns, divide by how many there are.

Concrete: returns of +2%, −1%, +2% give (0.020.01+0.02)/3=1%(0.02 - 0.01 + 0.02)/3 = 1\%. This is what most people mean by "average return."

Geometric mean

rˉgeom=(t=1N(1+rt))1/N1\bar{r}_{\text{geom}} = \left(\prod_{t=1}^{N} (1 + r_t)\right)^{1/N} - 1

In words: one new symbol here. The big \prod is a capital pi, and it is the multiplication cousin of Σ\Sigma: where Σ\Sigma says "loop and add," \prod says "loop and multiply." So the recipe is: turn each return into a growth factor (1 plus the return), multiply all NN factors together, take the NN-th root (that's what raising to the power 1/N1/N does), then subtract 1 to turn the result back into a return.

This is the compounded average. It tells you what constant return, repeated every period, would produce the same final wealth.

For the 50% / −50% example: arithmetic = 0%. Geometric = the square root of 1.5×0.51.5 \times 0.5, minus 1 — that is 1.50.5113.4%\sqrt{1.5 \cdot 0.5} - 1 \approx -13.4\% per year — which compounds over 2 years to −25%. (The square root is just the NN-th root with N=2N = 2.) Both numbers are correct; they answer different questions.

When to use which

A useful identity (for small returns):

rˉgeomrˉarithσ22\bar{r}_{\text{geom}} \approx \bar{r}_{\text{arith}} - \frac{\sigma^2}{2}

In words: the geometric mean is approximately the arithmetic mean minus half the variance — sigma squared, divided by 2. (The \approx sign reads "approximately equals.")

This is the famous variance drag — volatility itself eats into compounded growth. Concrete: a strategy with a 10% arithmetic mean and 20% volatility compounds at roughly 0.100.202/2=8%0.10 - 0.20^2/2 = 8\% per year. The more volatile your returns, the more the arithmetic mean overstates true growth.

Sample mean as an estimator

When we compute the mean of N observed returns, we're estimating the true (population) mean μ\mu — the average of the whole underlying process, which we never get to see directly. Our data is just a sample from it. The sample mean is:

μ^=1Nt=1Nrt\hat{\mu} = \frac{1}{N} \sum_{t=1}^{N} r_t

In words: "mu-hat" — the hat over a symbol means "our estimate of" — equals the sum of the NN observed returns, divided by NN. Same recipe as the arithmetic mean above. The hat just flags that this number is an estimate of the true μ\mu, not the truth itself.

Two facts that will dominate everything else in this track:

  1. The sample mean is unbiased. Its expected value equals the true mean: E[μ^]=μE[\hat{\mu}] = \mu, read "the expected value of mu-hat equals mu." Unbiased means no systematic lean: the estimate is noisy, but it doesn't run high or low on average.
  2. It's noisy. Its standard error — the standard deviation of the estimate itself, i.e. how much μ^\hat{\mu} would wobble if you could redo the sample many times — is σ/N\sigma / \sqrt{N}, "sigma divided by the square root of N." The noise shrinks as NN grows, but only at square-root speed: 4 times the data buys you only half the noise.

This matters in trading because estimating the true mean of stock returns is shockingly hard.

Numerical example. Suppose SPY's true monthly mean return is 0.7%0.7\% with σ=4.5%\sigma = 4.5\% (realistic numbers). With 5 years of data (60 monthly observations):

SE(μ^)=4.5%600.58%\text{SE}(\hat{\mu}) = \frac{4.5\%}{\sqrt{60}} \approx 0.58\%

In words: the standard error of our estimated mean is 4.5% divided by the square root of 60, which is about 0.58%.

So a 95% confidence interval — the range that would capture the true mean in 95 out of 100 repeat samples — is about μ^±1.16%\hat{\mu} \pm 1.16\% (the estimate plus or minus 1.16%). That range is wider than the true mean itself! We can barely tell from 5 years of data whether the true mean is positive.

This is why backtests on a few years of data tell you almost nothing about expected return. The mean is buried in noise. We can measure volatility (variance) reasonably well from short samples. We cannot measure mean returns well from anything less than decades. This asymmetry is foundational.

Code snippet (for laptop session later)

import numpy as np

monthly_returns = np.array([0.012, -0.034, 0.021, ...])  # 60 months
arith_mean = monthly_returns.mean()
std_err = monthly_returns.std(ddof=1) / np.sqrt(len(monthly_returns))

# Annualized arithmetic
arith_annual = (1 + arith_mean)**12 - 1   # one common convention
# Annualized geometric
geom_monthly = np.prod(1 + monthly_returns)**(1/len(monthly_returns)) - 1
geom_annual = (1 + geom_monthly)**12 - 1

Try this on real data in your own environment to build intuition. But first, prove the arithmetic-vs-geometric gap to yourself right here:

▮ EXERCISE · a2-01-ex1

Implement arith_and_geom(returns): given a NumPy array of simple returns, return a tuple (arithmetic mean, geometric mean). The geometric mean is the compounded average: prod(1 + r) ** (1/N) - 1.

⧉ Review card
What's the difference between arithmetic and geometric mean of returns?
Arithmetic = simple average per period (unbiased estimator of expected return). Geometric = compounded average (matches actual realized growth). Arithmetic > geometric, and the gap ≈ σ²/2 (variance drag).
⧉ Review card
What is variance drag?
The fact that arithmetic mean overstates compounded growth by ~σ²/2. Volatility eats returns. A strategy with 10% arithmetic mean and 20% volatility realizes only ~8% geometric growth.
⧉ Review card
What is the standard error of the sample mean?
σ/√N, where σ is the volatility of individual observations and N is the sample size. To halve the uncertainty, you need 4× the data.
⧉ Review card
Why can't you reliably estimate expected return from a few years of data?
Standard error of the mean shrinks only as √N. For stocks, even 5–10 years of data has SE of the mean comparable to the mean itself. Mean returns are hard to estimate; volatility is easier.

Predict before the next lesson

Tomorrow we cover volatility (the sample standard deviation). Predict:

◈ Calibration check

Could you explain why arithmetic and geometric means differ, and which to use when?

1 = guessing · 5 = could teach it

⏻ End of lesson

Mark it read to book its 4 review cards into your deck.

Sources & further reading