Compounding Monthly Returns into a Six-Month Investment Return
Summary
The document explains how to calculate the total return from a sequence of monthly stock returns. For an initial investment, each month’s growth factor is one plus that month’s return; multiplying those factors gives the ending value relative to the starting value. The example compares this compounded result with adding the monthly percentages and shows why the two calculations differ.
The method applies when returns are sequential and each period’s gains or losses affect the capital exposed in later periods. Adding returns is only an approximation in some settings, not the general way to find a multi-period investment return. The document also derives an average monthly rate from the cumulative growth factor. Its example covers one six-month period and does not discuss cash flows, fees, or how returns should be adjusted for them.
Key ideas
- Multiply monthly growth factors to calculate cumulative investment growth.
- Adding periodic returns ignores the effect of compounding.
- The ending portfolio value is the starting value times cumulative growth.
- An equivalent average periodic return can be derived from the cumulative growth factor.
Tags
Full text
# Compute 6 Month Returns using Monthly Returns data # Compute 6 Month Returns using Monthly Returns data I have data containing 6 months returns of a stock. ``` +-------------+-------------+ | Date | Return | +-------------+-------------+ | 31/Jan/2016 | -0.06861672 | | 29/Feb/2016 | -0.02187975 | | 31/Mar/2016 | 0.01420873 | | 30/Apr/2016 | 0.01858721 | | 31/May/2016 | 0.02648122 | | 30/Jun/2016 | -0.04780486 | +-------------+-------------+ ``` If I invested $100 at 31st Dec 2015 what would be my return at 30th Jun 2016? The way I computed is I took the sum of returns which turns out to be `0.07902`. `Returns = 100 * (0.07902+1) = 92.09758` I am confused with the second approach where I've computed position each month using returns and than the last position that I have is my cumulative return. If I liquidate my position using this calculation than at 30th Jun 2016 I would have `91.9867`. I am confused which one is the correct approach? ``` +-------------+-------------+ | Date | Position | +-------------+-------------+ | 31/Jan/2016 | 93.138328 | | 29/Feb/2016 | 91.10048467 | | 31/Mar/2016 | 92.39490686 | | 30/Apr/2016 | 94.11227039 | | 31/May/2016 | 96.60447813 | | 30/Jun/2016 | 91.98631458 | +-------------+-------------+ ``` ## Answer by Sergei Rodionov (score 0, accepted) https://quant.stackexchange.com/a/60675 Calculate the product of (100+monthly_return), i.e. multiply all numbers in the second column: ``` | return | return*100 | |------------:|-----------:| | -0.06861672 | 0.931383 | | -0.02187975 | 0.978120 | | 0.01420873 | 1.014209 | | 0.01858721 | 1.018587 | | 0.02648122 | 1.026481 | | -0.04780486 | 0.952195 | ``` The cumulative return is 0.919863. Average monthly return is `0.919863^1/6-1 = -0.006937`. ## Answer by Hamish Gibson (score 0) https://quant.stackexchange.com/a/60668 The reason for the difference is that you haven’t taken into account the impact of compounding. Summing the returns at each time period is not the correct approach here. To do this, you should multiply the returns together, not add them.
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.