[R] how to calculate the return?

Gabor Grothendieck ggrothendieck at gmail.com
Sun Nov 25 11:23:21 CET 2007


On Nov 25, 2007 3:25 AM, Denver XU <financialengine at gmail.com> wrote:
> thank you Gabor, I am sure my data is a data.frame and I think you a
> lillte bit misunderstood my question.

Quoting your post:  "data is a matrix"

Also are you sure you want diff(log(x))?  Your x's include negative numbers.

> thank you Patrick, your answer is what I want to find.
>
>
>
>
> 2007/11/24, Denver XU <financialengine at gmail.com>:
>
> > Hi, R-users,
> >   data is a matrix like this
> >          AMR      BS      GE      HR      MO      UK   SP500
> > 1974 -0.3505 -0.1154 -0.4246 -0.2107 -0.0758  0.2331 -0.2647
> > 1975  0.7083  0.2472  0.3719  0.2227  0.0213  0.3569  0.3720
> > 1976  0.7329  0.3665  0.2550  0.5815  0.1276  0.0781  0.2384
> > 1977 -0.2034 -0.4271 -0.0490 -0.0938  0.0712 -0.2721 -0.0718
> > 1978  0.1663 -0.0452 -0.0573  0.2751  0.1372 -0.1346  0.0656
> > 1979 -0.2659  0.0158  0.0898  0.0793  0.0215  0.2254  0.1844
> > 1980  0.0124  0.4751  0.3350 -0.1894  0.2002  0.3657  0.3242
> > 1981 -0.0264 -0.2042 -0.0275 -0.7427  0.0913  0.0479 -0.0491
> > 1982  1.0642 -0.1493  0.6968 -0.2615  0.2243  0.0456  0.2141
> > 1983  0.1942  0.3680  0.3110  1.8682  0.2066  0.2640  0.2251
> > I want  to calculate the return say AMR,so I use
> > re=numeric(10)
> > for (i in 2:nrow(data))
> >     re[1]=0
> >    re[i]=log(data[i]/data[i-1])
> > to my surprise, the result is
> > > re
> >  [1]  0.00000  0.00000  0.00000  0.00000  0.00000  0.00000  0.00000  0.00000
> >  [9]  0.00000 -1.70109
> > I don't know what's wrong with my code, and is there alternative way
> > to do the same?
> > thanks
> >
> > Denver
> >
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



More information about the R-help mailing list