[R] Linearize a Function

Spencer Graves spencer.graves at pdf.com
Sun Jan 29 01:18:44 CET 2006


	  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




More information about the R-help mailing list