[R-SIG-Finance] Bug in chart.CumReturns (PerformanceAnalytics)

Peter Carl peter at braverock.com
Wed Aug 22 22:55:50 CEST 2012


The "arithmetic" and "geometric" tags (indicated as geometric=TRUE or
FALSE) are used not for the returns themselves, but the *chaining method*
used in the calculation.  (I think the documentation says "simple" instead
of "arithmetic").  Part of the confusion is that the language people are
using in the literature is slightly different than what I adopted at the
beginning, and it could be changed to be more clear.  Also, geometric ==
compound.

Perhaps we should use chaining.method=c("geometric", "simple") for all of
these functions in a future version.  Alternatively, we could use
returns.type=c("simple", "log") and provide the transformed returns from
the "log" case, although somewhat I'm reluctant to do that across the
whole package.

pcc
-- 
Peter Carl
http://www.braverock.com/peter

> Hi,
>
> If you have a look to the function chart.CumReturns, the line
>
>   column.Return.cumulative = na.skip(z,FUN = function(x, one, geometric)
> {if(geometric) cumprod(x)-one else (1-one) + cumsum(x-1)},one=one,
> geometric=geometric)
> should be
>   column.Return.cumulative = na.skip(z,FUN = function(x, one, geometric)
> {if(!geometric) cumprod(x)-one else (1-one) + cumsum(x-1)},one=one,
> geometric=geometric)
> where z = 1 + x[,column]
>
>
> because, for discrete return, the cumulative return should be
> cumprod(1+R)-1 and for the continuous one is exp(cumsum(R)) ( R =
> na.omit(R))
>
> Chris.
>
> 	[[alternative HTML version deleted]]
>
> _______________________________________________
> R-SIG-Finance at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
> -- Subscriber-posting only. If you want to post, subscribe first.
> -- Also note that this is not the r-help list where general R questions
> should go.



More information about the R-SIG-Finance mailing list