This 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)

Arguments

R

an xts, vector, matrix, data frame, timeSeries or zoo object of asset returns

geometric

utilize geometric chaining (TRUE) or simple/arithmetic chaining (FALSE) to aggregate returns, default TRUE

Details

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$$

References

Bacon, Carl. Practical Portfolio Performance Measurement and Attribution. Wiley. 2004. p. 6

See also

Return.annualized

Examples

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