A friend of mine and myself are having an argument on how to correctly determine cumulative return.

The dataset has monthly return data and we are trying to determine the 6-month cumulative return.

I proposed the following: Cumulative return for 6 months is a product of monthly returns:

(1) Ri=(1+ri_1)∗ ... ∗(1+ri_6)−1

He mentioned just adding up the different return values:

(2) Ri=(ri_1)+ ... (ri_6)

Now I am pretty sure my way of calculating this is correct, although differences can be small.

Question Am I correct that when academic papers talk of cumulative return they calculate this with equation (1)

Thank you in advance. S Gontscharoff

  • $\begingroup$ if you can give the expression of the monthly returns r_i, then you and your friends can reconcile. Indeed, there log returns (log(r2/r1)) and simple returns (r2/r1 - 1). Which one is it ? $\endgroup$
    – musa_mn
    Dec 29, 2023 at 17:23

2 Answers 2


To expand on my comment, consider the following R code:

returns <- runif(1000, 0.95,1.055) #Extremely simple return generation with a slight drift. 
plot(cumprod(returns), type = "l")
lines(cumsum(returns-1)+1, col = "blue")

Which gives the following result: enter image description here As you can see the effect is not linear, as the difference nearly disappears around index 300 and is greatly reduced at 900, but increases again as the compounding effect increases. So, you will most likely not see major differences in 6 month data, but as soon as you go to larger time scales the effect become noticeable.

  • $\begingroup$ Thank you! Was thinking that as well, but this illustrates it very nicely. I think I will have to switch from stata to R soon, since it seems everyone is using R!. But thank you both @dm63 ,Forgottenscience $\endgroup$ Jun 2, 2016 at 13:11

If the dataset contains arithmetic returns where 1+r(i)= S(i)/S(i-1) then you are correct. If the dataset contains logarithmically defined returns where r(i) = log (S(i)/S(i-1)) then your friend is correct.

  • $\begingroup$ Thank you for your quick response. The data is indeed in the first form you indicated, it is the return data from CRSP database. One final thing; could using one method or the other cause results to vary widely? $\endgroup$ Jun 2, 2016 at 12:40
  • $\begingroup$ Over time the differences accumulate, as compounding becomes a force. $\endgroup$ Jun 2, 2016 at 12:53
  • $\begingroup$ Consider just (the first) two months. Then your first method gives $r_1+r_2+r_1r_2$. This shows that the difference is due to sceond order effects. These might indeed sum up to a larger difference over time. $\endgroup$
    – Dr_Be
    Jun 3, 2016 at 14:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.