Skip to content
All library documents

Why Component Contributions Do Not Compound Like Portfolio Returns

Article Quant Q&A · Author: mHelpMe

Summary

The discussion explains why daily component contributions that add to a portfolio’s return cannot each be compounded independently and expected to reproduce the portfolio’s compounded performance. Contributions allocate each period’s portfolio gain across components; they are not themselves standalone asset returns. Treating them as returns implicitly assumes weights and denominators that change as component values move, so the initial arithmetic relationship does not persist across periods.

One response recommends summing contributions rather than applying interest on interest. Another presents a logarithmic adjustment that allocates cumulative portfolio growth among securities, with a worked example whose adjusted component amounts add to the portfolio’s cumulative result. That approach is an approximation, and the discussion notes there is no unique exact answer to the attribution problem. Correct attribution depends on how contributions are defined and on the portfolio’s changing weights. The example illustrates the distinction, but does not compare alternative attribution frameworks or establish that one adjustment is universally preferable.

Key ideas

  • Component contributions add across holdings for a period, but they are not standalone returns to compound over time.
  • Changes in asset values shift portfolio weights, which breaks the assumption behind compounding each initial contribution independently.
  • One proposed adjustment uses logarithmic scaling to allocate cumulative portfolio growth across securities.
  • The adjustment is presented as an approximation rather than a uniquely exact attribution method.

Tags

Full text
# compounding component contributions


# compounding component contributions












Say I have a portfolio which contains two components, A & B.

Below are the daily contributions to performance (0.02 equals 2%), where the overall portfolio return is equal to the sum of component contributions (A & B).

```
A     B     Overall portfolio
0.03  0.01  0.04
0.02  0.01  0.03
0.04  0.03  0.07
```

I want to show the compounded contribution for the two components & overall portfolio.

```
Row number          A         B         Overall portfolio   portfolio - sum(a+b)
0                   1         1         1   
1                   1.03      1.01      1.04                0
2                   1.0506    1.0201    1.0712              0.0005
3                   1.092624  1.050703  1.146184            0.002857
```

I am confused as to why (excluding row 1) the compounded component contributions do not equal the overall portfolio compounded returns?

## Answer by Bob Jansen (score 2)

https://quant.stackexchange.com/a/69519

If the numbers are contributions and not returns you should not calculate interest on interest but just add the contributions together.

## Answer by D Stanley (score 1)

https://quant.stackexchange.com/a/69467

Contributions are not returns - they are breaking out the total gain for a portfolio into the gains associated with each component.

So in your example, the portfolio goes up by 0.04 on day 1, 0.01 of which came from the gain in stock B and 0.03 came form the changes in stock A. On day 2, the portfolio goes up by 0.03, etc. Everything sums nicely horizontally and vertically.

But, the contributions don't compound like returns do - your conversion to returns assumes that the stocks are equally weighted and valued, which makes the math nice on the first day, but does not work for the second day because the stocks are no longer equally weighted. Stock B increased in value, which means that its performance accounts for a larger portion of the overall performance. Plus, the change on the second day is not a percent return because the denominators are no longer 1 after the first day, so the traditional compounding rules are not valid.

## Answer by Michael Williamson (score 0)

https://quant.stackexchange.com/a/69526

There is no exact answer to this problem, but there are a few different ways to approximate it.

Here is my preferred approximation method:

$k_i = log(1 + r_{p,i}) / r_{p,i}$

$c_i = \prod_{j=1}^i1 + r_{p,j}$

$t_i = log(c_i)/(c_i-1)$

where $r_{p,i}$ is the return on the portfolio and $i$ is time.

The time series of contributions to returns is then given by:

$rc_{s,i} = r_{s,i} w_{s,i}$

$adj\_rc_{s,i} = \frac{\sum_{j=1}^i { rc_{s,j} * k_j }} {t_i}$

where $rc_{s,i}$ is the return contribution of security $s$ at time $t$, and $adj\_rc_{s,i}$ is the adjusted return contribution such that $\sum_{i=1}^n {adj\_rc_{s,i}} = c_i$

Here is an example calculation for your problem:

```
A        B      c       k       t       rc A    rc B    adjrc A   adjrc B  adj rc A + B
1.000   1.000   1.000   1.0000  1.000   0.000   0.000   0.000     0.000    0.000
1.030   1.010   1.040   0.4258  0.4258  0.030   0.010   0.030     0.010    0.040
1.051   1.020   1.071   0.4279  0.4195  0.020   0.010   0.051     0.020    0.071
1.093   1.051   1.146   0.4198  0.4053  0.040   0.030   0.094     0.052    0.146
```

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.