Skip to content
All library documents

Calculate Monthly Returns by Compounding Daily Returns

Article Quant Q&A · Author: Jorisdrees

Summary

The document explains why a monthly return computed from the first and last account values can differ from the sum of the daily percentage returns. The monthly holding-period return is found by dividing the ending value by the starting value and subtracting one. Equivalently, daily simple returns must be linked through a cumulative product of one plus each return, then reduced by one.

Adding daily returns ignores compounding, so the sum generally does not equal the return over the full period. The replies identify compounding as the source of the discrepancy and note that data integrity is a separate consideration. The example supplies daily values and returns, but the answers do not verify whether the reported figures are internally consistent or discuss complications such as external cash flows, fees, or different return conventions. The method applies to a sequence of linked simple returns over a period.

Key ideas

  • A period return from account values is the ending value divided by the starting value, minus one.
  • Daily simple returns combine through multiplication of one plus each return.
  • Summing daily percentage returns generally differs from the compounded period return.
  • Data quality should be checked separately from the choice of return aggregation method.

Tags

Full text
# Daily returns to monthly basic question


# Daily returns to monthly basic question












I am currently a little bit puzzled. I am trying to compute the monthly returns from a set of data.

```
30-Sep-18   175.9790658  Performance
29-Sep-18   175.9790658 0.000%
28-Sep-18   175.9790658 0.000%
27-Sep-18   174.9712013 0.576%
26-Sep-18   175.4530194 -0.275%
25-Sep-18   173.5249863 1.111%
24-Sep-18   173.6253172 -0.058%
23-Sep-18   175.9311682 -1.311%
22-Sep-18   175.9311682 0.000%
21-Sep-18   175.9311682 0.000%
20-Sep-18   171.6433724 2.498%
19-Sep-18   170.5624874 0.634%
18-Sep-18   167.1542002 2.039%
17-Sep-18   164.9153843 1.358%
16-Sep-18   168.1403232 -1.918%
15-Sep-18   168.1403232 0.000%
14-Sep-18   168.1403232 0.000%
13-Sep-18   167.0250094 0.668%
12-Sep-18   162.2830264 2.922%
11-Sep-18   163.2663355 -0.602%
10-Sep-18   163.7415407 -0.290%
09-Sep-18   166.8650865 -1.872%
08-Sep-18   166.8650865 0.000%
07-Sep-18   166.8650865 0.000%
06-Sep-18   165.9631283 0.543%
05-Sep-18   168.6782507 -1.610%
04-Sep-18   172.9814277 -2.488%
03-Sep-18   171.6316528 0.786%
02-Sep-18   172.3265548 -0.403%
01-Sep-18   172.3265548 0.000%
31-Aug-18   172.3265548 0.000%
```

For calculating the monthly performance (X2/X1)-1 has been used giving us a performance of 2.12% but the sum of individual daily returns is 2.31%

I don't see where discrepancy could come from is it because of the compounding? Are there perhaps any papers on this subject to read up on since google was to no avail.

Thanks for the help advance and kind regards!

## Answer by numerairX (score 1, accepted)

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

it's the difference between $\sum_{i=1}^n \frac{X_i}{X_{i-1}} -1$ and $\frac{X_n}{X_0}-1$ and has nothing to do with your data integrity

## Answer by Évariste Galois (score 0)

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

Returns are cumulated, not summed. Run a cumulative product on your performance column (this looks like a pandas DataFrame; pandas has build in functions for that), which is the actual monthly return you are looking for.

Whether or not this is 2.12% is up to the integrity of your data set.

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.