R/Return.cumulative.R
Return.cumulative.RdThis is a useful function for calculating cumulative return over a period of time, say a calendar year. Can produce simple or geometric return.
Return.cumulative(R, geometric = TRUE)product of all the individual period returns
$$(1+r_{1})(1+r_{2})(1+r_{3})\ldots(1+r_{n})-1=prod(1+R)-1$$
Bacon, Carl. Practical Portfolio Performance Measurement and Attribution. Wiley. 2004. p. 6
data(managers)
Return.cumulative(managers[,1,drop=FALSE])
#> HAM1
#> Cumulative Return 3.126671
Return.cumulative(managers[,1:8])
#> HAM1 HAM2 HAM3 HAM4 HAM5 HAM6
#> Cumulative Return 3.126671 4.348599 3.706732 2.52944 0.2650197 0.9858675
#> EDHEC LS EQ SP500 TR
#> Cumulative Return 2.051197 1.761619
Return.cumulative(managers[,1:8],geometric=FALSE)
#> HAM1 HAM2 HAM3 HAM4 HAM5 HAM6 EDHEC LS EQ SP500 TR
#> Cumulative Return 1.4682 1.7679 1.643 1.4542 0.3148 0.7075 1.1454 1.143825