Skip to content
Back to formatted view

Raw Message

Message-ID: <CAPPM_gQyH2+iqxFYBKdUmvi1fRFS=3EthNj8qCJB8kfwwVa8tg@mail.gmail.com>
Date: 2013-06-19T11:42:37Z
From: Joshua Ulrich
Subject: how to get growth rate of a (time series) data?
In-Reply-To: <CAAmySGMbo3Hp2CA6UAXFko58UKdG_2s08fgOvORGosFgiKAf5Q@mail.gmail.com>

On Wed, Jun 19, 2013 at 6:24 AM, R. Michael Weylandt
<michael.weylandt at gmail.com> wrote:
> On Wed, Jun 19, 2013 at 12:04 PM, Yanyuan Zhu <yyz at tongji.edu.cn> wrote:
>> Hello all, now I'm trying to switch from Excel to R to deal with the data,
>> and as a newbie i got the problem as follows.
>>
>> suppose I have a data named "test"
>> test<- data.frame(year=c(1996:2011),
>> Y=c(74163.6,81658.5,86531.6,91125.0,98749.0,109028.0,120475.6,136613.4,160956.6,187423.5,222712.5,266599.2,315974.6,348775.1,402816.5,465731.3))
>> in which Y means the GDP of a country
>>
>> If i want to get Delta Y = Y(t)-Y(t-1) , i could use diff() in R
>> diff(test$Y)
>>
>> but what if i want to get gY=(Y(t)-Y(t-1))/Y(t-1)?
>> seems diff(test$Y)/(test$Y)[-1] doesnt work ...
>
> Odd, I would have thought it did.
>
> No matter anyways: if you are using time series data, I'd strongly
> recommend that you place your data in an object of the "xts" class and
> use all of the time series functionality available for those objects.
>
> Notably, you'll also want to load the "TTR" package (all of these are
> available through the install.packages() function off the CRAN mirror
> system) and to use its ROC function.
>
But note that TTR::ROC uses continuous, not discrete, compounding by default.

So you need:
ROC(test$Y, n=1, type="discrete")

Best,
--
Joshua Ulrich  |  about.me/joshuaulrich
FOSS Trading  |  www.fosstrading.com