1. Have you looked at "cumsum"?
2. What do you think you are computing when adding 100 to
cumsum(log.returns)? To compute cumulative returns in percent from
log.returns [or cumusum(log.returns)], compute exp(log.returns) or
expm1(log.returns) = (exp(log.returns)-1). Similarly, to compute
log.returns from simple.returns, compute log1p(simple.returns) =
log(1+simple.returns) [making the obvious conversions between
percentages and proportions]. Or am I missing something?
hope this helps,
spencer graves
Gottfried Gruber wrote:
> hi,
>
> i calculate the log-returns in return1 and i want to get the performance
for
> the security. with only one security i have the following code
>
> # create matrix to keep performance
> return100=matrix(rep(100,length(return1)+1))
> # matrix for the sum
> z1=matrix(rep(0,length(return1)+1))
> # suming up the returns from current index to start
> for (i in 1:length(return1)) {z1[i+1]=sum(return1[c(1:i)]) }
> #adding both matrices
> return100=return100+z1*100
>
> this works fine for a 1 x n matrix, but if i want the same for a n x m
matrix
> i assume the above code will get time-consuming. is there a trick to
> linearize the for-loop or any other solution?
>
> thanks for any solution & effort,
> tia gg