Analyst Dojo
Lesson 1 of 6 11–14% of the exam

Portfolio returns over time: buy-and-hold, drift and rebalancing

Each period, a portfolio earns the weighted average of its assets' returns, using weights from the start of that period. Left alone, winners grow into bigger weights (portfolio drift), so compound the period returns, or weight each asset's cumulative return by its starting weight.

5 min cram, 26 min full read. Based on the 2027 CFA® Program Level I curriculum, Quantitative Methods, Learning Module 8.

Tailor this to you: take the self-assessment

Before this: Holding period return, Arithmetic and geometric mean returns

On the exam

  • Calculate, interpret, and evaluate the expected return, variance, standard deviation, covariance, and correlation of portfolio returns

Calculate, interpret and evaluate portfolio returns over time. Expect a period return from start-of-period weights, the weights after a period of drift, a buy-and-hold cumulative return, the geometric versus the arithmetic average, and whether rebalancing would have helped.

How deeply to learn each part
Know the idea
Understand it in general. It frames other topics, but you will not calculate with it.
Use it
Understand it well enough to solve a question with it. Recognize when it applies.
Memorize
Learn it by heart. The exam will not give it to you.

You know this one. The full lesson is folded away. The takeaways, formulas and checkpoint below are your quick refresher, and the checkpoint is a fair test of whether you still do.

You tested strong here. The full lesson is folded away. The takeaways, formulas and checkpoint below are your quick refresher, and the checkpoint is a fair test of whether you still know it.

Cram mode: the one-screen version of this lesson. Switch to Full for the explanations, worked examples and interactives.

What does a portfolio earn in one period?

The portfolio return in a period is the weighted average of the assets’ returns, with each weight measured at the start of the period. The weights are the beginning-of-period weights : each holding’s share of the portfolio’s value at the end of the previous period. They add to 1.

Portfolio return in a period Memorize
rP,t=∑i=1Nwi,t−1 ri,tr_{P,t} = \sum_{i=1}^{N} w_{i,t-1}\, r_{i,t}

Each asset’s return ri,tr_{i,t} is its total return for the period, including any income: (Pi,t−Pi,t−1+Divi,t)÷Pi,t−1(P_{i,t} - P_{i,t-1} + \text{Div}_{i,t}) \div P_{i,t-1}, as in the holding period return lesson.

One running example carries the lesson. An investor puts GBP 100,000 into a mix of 70% in an equity fund and 30% in a bond fund, and never trades. The funds return:

YearEquity fundBond fund
1+18%+3%
2−12%+6%
3+22%−2%

What happens to the weights if you do nothing?

They drift. An asset that beats the rest of the portfolio ends the period with a bigger weight, and one that lags ends with a smaller one. That is portfolio drift : the weights change without any trade. The new weight is the asset’s value divided by the portfolio’s value.

Weight after one period Use it
wi,t=wi,t−1 (1+ri,t)1+rP,tw_{i,t} = \dfrac{w_{i,t-1}\,(1 + r_{i,t})}{1 + r_{P,t}}

What did the portfolio earn over all three years?

For a buy-and-hold return , weight each asset’s cumulative return by its starting weight. Compounding the portfolio’s three period returns gives the same answer. This assumes no money moved between assets and that any distributions were reinvested in the asset that paid them.

Buy-and-hold cumulative return Memorize
rP,T=∑i=1Nwi,0[∏t=1T(1+ri,t)−1]r_{P,T} = \sum_{i=1}^{N} w_{i,0}\left[\prod_{t=1}^{T}(1 + r_{i,t}) - 1\right]

The result is the cumulative portfolio return . The geometric average portfolio return turns it into a constant annual rate.

Geometric average portfolio return Memorize
rˉgP=[∏t=1T(1+rP,t)]1/T−1=(1+rP,T)1/T−1\bar{r}_{gP} = \left[\prod_{t=1}^{T}(1 + r_{P,t})\right]^{1/T} - 1 = (1 + r_{P,T})^{1/T} - 1

The same tool works for a portfolio: enter the portfolio’s period returns.

Rearrange itGeometric mean: find it, or find the missing year
The question asks for
A portfolio returns 20.00%, -10.00% and 5.00% in three years. Its geometric mean annual return is closest to:

(1.2 × 0.9 × 1.05)^(1/3) − 1 = 4.28%

Geometric mean4.28%

On your calculator
  1. 1.2×0.9×1.05=the growth of 1
  2. y^x31/x=the cube root
  3. −1=

y^x power · 1/x reciprocal

  1. 1.2ENTER0.9×1.05×the growth of 1
  2. 31/xy^xthe cube root
  3. 1−

ENTER enter (on the HP, puts the number on the stack) · 1/x reciprocal · y^x power

The arithmetic average portfolio return is the plain mean of the period returns. It is not the cumulative return divided by T.

Arithmetic average portfolio return Memorize
rˉP=1T∑t=1TrP,t\bar{r}_P = \frac{1}{T}\sum_{t=1}^{T} r_{P,t}

Some sources also call the plain sum of the period returns (about 20.95% here, from the unrounded period returns) a “total arithmetic return”. It ignores compounding, so it is not what the investor earned. Ending wealth always comes from the product.

Exam tip Wealth multiplies, so compound the period returns. Averages and sums of returns overstate what was earned.

Four ways to state a portfolio’s return over several periods, and what each one measures:

Portfolio returns over several periods
Portfolio return, T periodsweights at the start of each period
  • Period return Memorize Σ w(i,t−1) × r(i,t)
  • Buy-and-hold cumulative Memorize Σ starting weight × asset cumulative return = product of (1 + r_P,t) − 1
  • Geometric average Memorize (1 + cumulative)^(1/T) − 1; matches ending wealth
  • Arithmetic average Memorize simple mean of period returns; higher, does not compound

Does rebalancing help?

Not automatically. Rebalancing trades the portfolio back to its target weights, which sells part of what just did well and buys what lagged. It pays when the leader then lags (returns reverse). It costs when the leader keeps leading (the trend continues). Its real job is to keep the portfolio’s risk where the investor wants it.

For the same three years rebalanced to 70/30 at every year-end, the period returns are 13.50%, −6.60% and 14.80%. The ending value is GBP 121,698.33, a cumulative 21.70%, with a geometric average of 6.76% and an arithmetic average of 7.23%. Here rebalancing earned about GBP 920 more than buy-and-hold, because it cut equity before the year-2 fall.

Whether it helps depends on what happens next. Take two years, 70/30, GBP 100,000. In both cases year 1 is equity +20%, bonds +2%, which leaves GBP 114,600 with the equity weight at 73.30%.

Rebalancing back to target costs trading, so a common recommendation is a systematic, pre-defined rebalancing frequency (for example once a year), which keeps the portfolio aligned with its strategy and risk without trading on every move.

InteractiveLeft alone for three periods: how do the weights drift?

Try this 0 of 3

  • Make the equity weight pass 80% without any trade
  • Rebalance or not? tab: find returns where rebalancing loses money against doing nothing
  • Make the arithmetic average positive and the cumulative return negative

Returns each period (−40% to +60%)

  • Equity fund weight
  • Bond fund weight
  • Portfolio value (GBP)
0%25%50%75%100%99k110k122k70.0%Start72.8%After 168.9%After 273.4%After 380% equity100.0k113.5k105.4k120.8k
Period 1 return, r_P13.50%
Period 2 return, r_P−7.10%
Period 3 return, r_P14.54%
Buy-and-hold cumulative return20.78%
Geometric average6.50%
Arithmetic average6.98%
Sum of period returns (not the cumulative return)20.95%

GBP 100,000 ends at GBP 120,778.28. The equity weight went from 70% to 73.42% with no trade.

Show working

Period 1: r_P = 0.7 × 18% + 0.3 × 3% = 13.50% (weights from the start of the period). Equity weight after it: 0.7 × 1.18 ÷ 1.135 = 72.78%.

Period 2: r_P = 0.7278 × −12% + 0.2722 × 6% = −7.10% (weights from the start of the period). Equity weight after it: 0.7278 × 0.88 ÷ 0.929004 = 68.94%.

Period 3: r_P = 0.6894 × 22% + 0.3106 × −2% = 14.54% (weights from the start of the period). Equity weight after it: 0.6894 × 1.22 ÷ 1.145448 = 73.42%.

Cumulative (buy-and-hold): 1.135 × 0.929004 × 1.145448 − 1 = 20.78%. Value: GBP 120,778.28.

Geometric average: (1 + 0.207783)1/3 − 1 = 6.50%. Arithmetic average: (13.50% + −7.10% + 14.54%) ÷ 3 = 6.98%, which does not compound.

Adding the period returns gives 20.95%: not the cumulative return.

Cumulative return on your calculator
  1. 1.135×0.929004×1.145448=1.207783, growth of 1
  2. −1=0.207783, the cumulative return
  1. 1.135ENTER0.929004×1.145448×1.207783, growth of 1
  2. 1−0.207783, the cumulative return

ENTER enter (on the HP, puts the number on the stack)

Geometric average on your calculator
  1. 1.135×0.929004×1.145448=y^x(1÷3)=1.065
  2. −1=0.065

y^x power

  1. 1.135ENTER0.929004×1.145448×31/xy^x1.065
  2. 1−0.065

ENTER enter (on the HP, puts the number on the stack) · 1/x reciprocal · y^x power

Left alone, winners take over the portfolio. Compound period returns to see what you earned.

Portfolio drift and style drift

Portfolio drift is about weights. Style drift is about strategy: the portfolio moves away from what it set out to be. Drift in weights can cause it, but it also happens with no portfolio drift at all, when the holdings themselves change. A small company that a fund bought as a small-cap holding can grow into a large company, and the fund’s style shifts while its weights stay put. Sometimes portfolio drift happens to offset style drift, but relying on that is risky.

How drift plays out depends on how the portfolio starts:

Starting weightsWhat drift doesWhat the portfolio becomes
Equal weightsthe best performers grow into bigger weightstilted toward fast-growing or more volatile assets
Unequal weightsthe largest positions grow and dominatemomentum-driven, with concentration risk

When the largest positions keep growing, a few holdings come to dominate the portfolio. That is concentration risk : one bad outcome now moves the whole portfolio.

Two kinds of drift
Drift
  • Portfolio drift Know the idea weights move with relative performance, no trades
  • Style drift Know the idea strategy moves away from plan; can happen with no weight change
    • Remedy systematic, pre-defined rebalancing frequency

Learning Module 3 shows the same effect in equal-weighted and market-capitalization-weighted indexes.

Memorize this

MemorizePortfolio returns over time

MeasureFormula
Period returnrP,t=∑iwi,t−1ri,tr_{P,t} = \sum_i w_{i,t-1} r_{i,t} (start-of-period weights)
Weight after a periodwi,t−1(1+ri,t)÷(1+rP,t)w_{i,t-1}(1 + r_{i,t}) \div (1 + r_{P,t})
Buy-and-hold, T periods∑iwi,0×\sum_i w_{i,0} \times asset cumulative return =∏t(1+rP,t)−1= \prod_t (1 + r_{P,t}) - 1
Geometric average(1+rP,T)1/T−1(1 + r_{P,T})^{1/T} - 1
Arithmetic average1T∑trP,t\frac{1}{T}\sum_t r_{P,t}, higher, does not compound

Memory hook Weights look back one period. Winners grow, losers shrink. Wealth multiplies, never adds.

Know it cold Rebalancing is not automatically better: it wins when returns reverse, loses when the trend continues.

Portfolio returns over several periods
Portfolio return, T periodsweights at the start of each period
  • Period return Memorize Σ w(i,t−1) × r(i,t)
  • Buy-and-hold cumulative Memorize Σ starting weight × asset cumulative return = product of (1 + r_P,t) − 1
  • Geometric average Memorize (1 + cumulative)^(1/T) − 1; matches ending wealth
  • Arithmetic average Memorize simple mean of period returns; higher, does not compound
Two kinds of drift
Drift
  • Portfolio drift Know the idea weights move with relative performance, no trades
  • Style drift Know the idea strategy moves away from plan; can happen with no weight change
    • Remedy systematic, pre-defined rebalancing frequency
Portfolio return in a period Memorize
rP,t=∑i=1Nwi,t−1 ri,tr_{P,t} = \sum_{i=1}^{N} w_{i,t-1}\, r_{i,t}
Quick example

Start-of-period weights 55% in A and 45% in B. A returns 9%, B returns −3%. 0.55 × 9 + 0.45 × (−3) = 4.95 − 1.35 = 3.6%.

On your calculator
  1. 0.55×9+(0.45×3+|-)= 3.6

+|- change sign

  1. 0.55ENTER9×0.45ENTER3CHS×+ 3.6

ENTER enter (on the HP, puts the number on the stack) · CHS change sign

Weight after one period Use it
wi,t=wi,t−1 (1+ri,t)1+rP,tw_{i,t} = \dfrac{w_{i,t-1}\,(1 + r_{i,t})}{1 + r_{P,t}}
Quick example

Start 50/50. A returns 20%, B returns 4%. w_A = 0.5 × 1.20 ÷ (0.5 × 1.20 + 0.5 × 1.04) = 0.60 ÷ 1.12 = 53.57%.

On your calculator
  1. 0.5×1.2=STO1 0.6
  2. 0.5×1.04+RCL1= 1.12, the portfolio's growth
  3. 1/x×RCL1= 0.5357

STO store · RCL recall a stored number · 1/x reciprocal

  1. 0.5ENTER1.2×STO1 0.6
  2. 0.5ENTER1.04×+ 1.12, the portfolio's growth
  3. 1/xRCL1× 0.5357

ENTER enter (on the HP, puts the number on the stack) · STO store · 1/x reciprocal · RCL recall a stored number

Buy-and-hold cumulative return Memorize
rP,T=∑i=1Nwi,0[∏t=1T(1+ri,t)−1]r_{P,T} = \sum_{i=1}^{N} w_{i,0}\left[\prod_{t=1}^{T}(1 + r_{i,t}) - 1\right]
Quick example

Start 30% in X and 70% in Y. Over three years X gains 40% in total and Y gains 10%. 0.3 × 40 + 0.7 × 10 = 19.0%.

On your calculator
  1. 0.3×40+(0.7×10)= 19
  1. 0.3ENTER40×0.7ENTER10×+ 19

ENTER enter (on the HP, puts the number on the stack)

Geometric average portfolio return Memorize
rˉgP=[∏t=1T(1+rP,t)]1/T−1=(1+rP,T)1/T−1\bar{r}_{gP} = \left[\prod_{t=1}^{T}(1 + r_{P,t})\right]^{1/T} - 1 = (1 + r_{P,T})^{1/T} - 1
Quick example

Portfolio returns 12%, −5% and 7%. (1.12 × 0.95 × 1.07)^(1/3) − 1 = 1.13848^(1/3) − 1 = 4.42% a year. The arithmetic average, (12 − 5 + 7) ÷ 3, is 4.67%.

On your calculator
  1. 1.12×0.95×1.07= 1.1385
  2. y^x31/x= 1.0442
  3. −1= 0.0442

y^x power · 1/x reciprocal

  1. 1.12ENTER0.95×1.07× 1.1385
  2. 31/xy^x 1.0442
  3. 1− 0.0442

ENTER enter (on the HP, puts the number on the stack) · 1/x reciprocal · y^x power

Arithmetic average portfolio return Memorize
rˉP=1T∑t=1TrP,t\bar{r}_P = \frac{1}{T}\sum_{t=1}^{T} r_{P,t}
Quick example

Portfolio returns 12%, −5% and 7%. (12 − 5 + 7) ÷ 3 = 4.67%, above the geometric average of 4.42%.

On your calculator
  1. 12−5+7=÷3= 4.67
  1. 12ENTER5−7+3÷ 4.67

ENTER enter (on the HP, puts the number on the stack)

How it is asked

  1. Weight after drift

    Start 60/40; A +26%, B −2%. A's weight now?

    0.60 × 1.26 ÷ (0.756 + 0.392) = 65.85%. Traps: 60% (no drift), 75.6% (forgot to divide by the portfolio's growth).

  2. Buy-and-hold over several years

    Start 40/60; X gains 45% in total, Y 12%.

    0.4 × 45 + 0.6 × 12 = 25.2%. Traps: 28.5% (equal weights), 31.8% (weights swapped).

  3. Geometric versus arithmetic

    Portfolio returns 11%, −7%, 14%. Annual growth?

    (1.11 × 0.93 × 1.14)^(1/3) − 1 = 5.58%. Traps: 6.00% (arithmetic), 5.89% (cumulative ÷ 3).

  4. Would rebalancing have helped?

    Stocks beat bonds in both years.

    No: rebalancing after year 1 sold the asset that kept winning.

Exam traps

  • Using end-of-period weights (or the original weights in every period) for a portfolio that was not rebalanced.
  • Computing the new weight as w × (1 + r) without dividing by the portfolio's growth.
  • Reporting the arithmetic average, or the sum of period returns, as what the investor earned.
  • Dividing the cumulative return by T and calling it the average.
  • Assuming rebalancing always adds return.

Checkpoint

3 exam-style questions. About 90 seconds each.

  1. 1An equally weighted portfolio is never rebalanced. Over time it will most likely become tilted toward the assets that have:

  2. 2A portfolio starts the year with 65% in asset A and 35% in asset B and is not rebalanced. During the year A returns 24% and B returns −4%. At the end of the year the weight of A is closest to:

  3. 3A portfolio returns 15%, −10% and 8% in three successive years. Its geometric average annual return is closest to:

Key takeaways

  • Period portfolio return = Σ start-of-period weight × asset return.
  • Without rebalancing, weights drift toward the winners: new weight = w(1 + r) ÷ (1 + r_P).
  • Buy-and-hold cumulative return = Σ starting weight × asset cumulative return = product of (1 + r_P) − 1.
  • Report the geometric average; the arithmetic average and the sum of period returns overstate what was earned.
  • Rebalancing controls risk; it adds return only when returns reverse.
Portfolio return in a period Memorize
rP,t=∑i=1Nwi,t−1 ri,tr_{P,t} = \sum_{i=1}^{N} w_{i,t-1}\, r_{i,t}
Quick example

Start-of-period weights 55% in A and 45% in B. A returns 9%, B returns −3%. 0.55 × 9 + 0.45 × (−3) = 4.95 − 1.35 = 3.6%.

On your calculator
  1. 0.55×9+(0.45×3+|-)= 3.6

+|- change sign

  1. 0.55ENTER9×0.45ENTER3CHS×+ 3.6

ENTER enter (on the HP, puts the number on the stack) · CHS change sign

Weight after one period Use it
wi,t=wi,t−1 (1+ri,t)1+rP,tw_{i,t} = \dfrac{w_{i,t-1}\,(1 + r_{i,t})}{1 + r_{P,t}}
Quick example

Start 50/50. A returns 20%, B returns 4%. w_A = 0.5 × 1.20 ÷ (0.5 × 1.20 + 0.5 × 1.04) = 0.60 ÷ 1.12 = 53.57%.

On your calculator
  1. 0.5×1.2=STO1 0.6
  2. 0.5×1.04+RCL1= 1.12, the portfolio's growth
  3. 1/x×RCL1= 0.5357

STO store · RCL recall a stored number · 1/x reciprocal

  1. 0.5ENTER1.2×STO1 0.6
  2. 0.5ENTER1.04×+ 1.12, the portfolio's growth
  3. 1/xRCL1× 0.5357

ENTER enter (on the HP, puts the number on the stack) · STO store · 1/x reciprocal · RCL recall a stored number

Buy-and-hold cumulative return Memorize
rP,T=∑i=1Nwi,0[∏t=1T(1+ri,t)−1]r_{P,T} = \sum_{i=1}^{N} w_{i,0}\left[\prod_{t=1}^{T}(1 + r_{i,t}) - 1\right]
Quick example

Start 30% in X and 70% in Y. Over three years X gains 40% in total and Y gains 10%. 0.3 × 40 + 0.7 × 10 = 19.0%.

On your calculator
  1. 0.3×40+(0.7×10)= 19
  1. 0.3ENTER40×0.7ENTER10×+ 19

ENTER enter (on the HP, puts the number on the stack)

Geometric average portfolio return Memorize
rˉgP=[∏t=1T(1+rP,t)]1/T−1=(1+rP,T)1/T−1\bar{r}_{gP} = \left[\prod_{t=1}^{T}(1 + r_{P,t})\right]^{1/T} - 1 = (1 + r_{P,T})^{1/T} - 1
Quick example

Portfolio returns 12%, −5% and 7%. (1.12 × 0.95 × 1.07)^(1/3) − 1 = 1.13848^(1/3) − 1 = 4.42% a year. The arithmetic average, (12 − 5 + 7) ÷ 3, is 4.67%.

On your calculator
  1. 1.12×0.95×1.07= 1.1385
  2. y^x31/x= 1.0442
  3. −1= 0.0442

y^x power · 1/x reciprocal

  1. 1.12ENTER0.95×1.07× 1.1385
  2. 31/xy^x 1.0442
  3. 1− 0.0442

ENTER enter (on the HP, puts the number on the stack) · 1/x reciprocal · y^x power

Arithmetic average portfolio return Memorize
rˉP=1T∑t=1TrP,t\bar{r}_P = \frac{1}{T}\sum_{t=1}^{T} r_{P,t}
Quick example

Portfolio returns 12%, −5% and 7%. (12 − 5 + 7) ÷ 3 = 4.67%, above the geometric average of 4.42%.

On your calculator
  1. 12−5+7=÷3= 4.67
  1. 12ENTER5−7+3÷ 4.67

ENTER enter (on the HP, puts the number on the stack)

All Quantitative Methods formulas, every lesson

Practice exam-style questions on Portfolio Return and Risk

Questions about this lesson?

Where this comes back

Questions candidates ask

What is portfolio drift?

The change in a portfolio's weights caused by the assets' different returns, with no trades. An asset that beats the portfolio grows into a bigger weight. Over time the portfolio can carry more risk, or a different style, than the investor chose.

How do you calculate a buy-and-hold portfolio return over several years?

Multiply each asset's starting weight by its cumulative return and add them up. Compounding the portfolio's yearly returns gives the same answer. Starting 70/30 with cumulative returns of 26.68% and 7.00% gives 20.78%.

Does rebalancing increase returns?

Not by itself. It sells recent winners and buys laggards, so it helps when returns reverse and hurts when the trend continues. Its main purpose is to keep the portfolio's risk in line with the target.

Spotted an error? Tell us and we will fix it.

  1. Portfolio returns over time: buy-and-hold, drift and rebalancing
  2. Portfolio expected return, variance and the role of correlation
  3. How many assets does diversification need?
  4. The minimum-variance portfolio and the efficient frontier
  5. Risk preferences, mean–variance utility and indifference curves
  6. From the capital allocation line to the capital market line and the CAPM

Ask Sensei Listen instead

Questions on Portfolio returns over time: buy-and-hold, drift and rebalancing

Learn with Sensei, out loud The voice tutor, in early access

Sensei teaches the lesson aloud and stops when you interrupt: "wait, why is the geometric mean lower?" It answers with the lesson's own example, then quizzes you by voice. Every account can try Sensei on one module, with one voice question.

USD 149 a month founding price (regular USD 199), kept for as long as you stay subscribed. Everything in Plus included.

In active development and improving every day. Send feedback · Plans and pricing

Analyst Dojo Plus

Your free review list holds 10 items.

Plus keeps everything you save, for USD 19 a month. To make room on the free plan, remove something from your review list.

See Plus

Lessons, checkpoints and the lesson questions in practice stay free. Compare plans