[R] how to calculate the return?
Denver XU
financialengine at gmail.com
Sun Nov 25 09:25:45 CET 2007
thank you Gabor, I am sure my data is a data.frame and I think you a
lillte bit misunderstood my question.
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
>
More information about the R-help
mailing list