Matthieu,
Thank you for the suggestion.We are going to revise the code.
Best regards
Adrian
On 05/04/2013 05:38 PM, Matthieu Stigler wrote:
Hi Adrian!
Well spotted! Indeed, the issue comes from the fact that diff.xts
keeps the first NA (as has na.pad=TRUE), while diff.zoo does not
(na.pad=FALSE), as well as na.ts ...
A simple solution seems to be to add then:
diff(y, na.pad=FALSE)
or simply:
y<- y[!is.na <http://is.na>(y)]
which seems to lead to correct results in both cases, but I haven't
tested thoroughly...
Best
2013/5/4 Adrian Trapletti <[email protected]
<mailto:[email protected]>>
Hi Matthieu
For me it looks like adf.test does not correctly handle xts and/or
zoo inputs due to the subsetting code:
> adf.test(stock2[,1])
Augmented Dickey-Fuller Test
data: stock2[, 1]
Dickey-Fuller = 2.7174, Lag order = 12, p-value = 0.99
alternative hypothesis: stationary
Warning message:
In adf.test(stock2[, 1]) : p-value greater than printed p-value
> adf.test(unclass(stock2[,1]))
Augmented Dickey-Fuller Test
data: unclass(stock2[, 1])
Dickey-Fuller = -2.4579, Lag order = 12, p-value = 0.3845
alternative hypothesis: stationary
At the time when adf.test was written neither xts nor zoo existed.
A quick fix is to revise the documentation of adf.test: "x: a
numeric vector."
Best regards
Adrian
Date: Fri, 3 May 2013 10:25:31 +0200
From: Matthieu Stigler<[email protected]
<mailto:[email protected]>>
To: "Brian G. Peterson"<[email protected]
<mailto:[email protected]>>,[email protected]
<mailto:[email protected]>,
[email protected] <mailto:[email protected]>
Cc:"[email protected]
<mailto:[email protected]>"
<[email protected]
<mailto:[email protected]>>
Subject: Re: [R-SIG-Finance] Using adf.test to test time series
stationarity of stock price
Message-ID:
<CAEYvig+hrDqKGXaetr=H=vy1fysxiub60hskzodt6l3l31o...@mail.gmail.com
<mailto:[email protected]>>
Content-Type: text/plain
Hi
With our stated background in stats, we should have realised
that the
result you obtain is indeed surprising, since your t-stat is
large, but
positive! A positive t-stat implies actually that your rho is
bigger than
1... So in this case, you will not reject the alternative of
stationarity,
but that of explosivity, try:
adf.test(stock2[,1], alternative="explosive")
That said, we should have also realised that results in
adf.test seem to be
incorrect, since they do not correspond to the ones in:
library(urca)
ur.df(stock2[,1], lags=12, type="trend")
# or the corresponding "ADF" regression from tsDyn:
library(tsDyn)
ar_ts <- linear(stock2[,1], m=12, include="both", type="ADF")
summary(ar_ts)$coef["phi.1",]
Both urca and tsDyn agree closely on the t-stat, at -2.4578550
for urca,
and -2.466884912 <tel:2.466884912> for tsDyn (differences come
from the way of counting
degrees of freedom, urca discards the initial values, while
tsDyn does not,
as in ar()). Looking closer at the code of adf.test(), it
looks like the
regression is \Delta y_t = const + trend + y_t while I would
have expected
a y_{t-1}. I guess code should be corrected as:
xt1 <- x[(k-1):(n-1)]
instead of
xt1 <- x[k:n]
once this done, adf.test does correspond to the others. And
now Brian's
point that prices are usually non-stationary holds.
I am ccing the maintainer of tseries on this.
Best
Matthieu
2013/4/22 Brian G. Peterson<[email protected]
<mailto:[email protected]>>
On 04/21/2013 06:28 PM, Yitao Zhang wrote:
Hey guys,
I'm trying to do a augmented Dickey-Fuller test to
test the stationarity
of a stock price.
With your stated economics background, one would assume
that you'd realize
that price is almost never stationary.
Perhaps try on returns?
--
Brian G. Peterson
http://braverock.com/brian/
Ph: 773-459-4973 <tel:773-459-4973>
IM: bgpbraverock
______________________________**_________________
[email protected]
<mailto:[email protected]> mailing list
https://stat.ethz.ch/mailman/**listinfo/r-sig-finance<https://stat.ethz.ch/mailman/listinfo/r-sig-finance>
-- Subscriber-posting only. If you want to post, subscribe
first.
-- Also note that this is not the r-help list where
general R questions
should go.
--
Dr. Adrian Trapletti
Steinstrasse 9b
CH-8610 Uster
Switzerland
Phone : +41 (0) 44 9945630 <tel:%2B41%20%280%29%2044%209945630>
Mobile : +41 (0) 79 1037131 <tel:%2B41%20%280%29%2079%201037131>
Email : [email protected] <mailto:[email protected]>
WWW : www.trapletti.org <http://www.trapletti.org>
_______________________________________________
[email protected] <mailto:[email protected]>
mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-finance
-- Subscriber-posting only. If you want to post, subscribe first.
-- Also note that this is not the r-help list where general R
questions should go.
--
Dr. Adrian Trapletti
Steinstrasse 9b
CH-8610 Uster
Switzerland
Phone : +41 (0) 44 9945630
Mobile : +41 (0) 79 1037131
Email : [email protected]
WWW : www.trapletti.org
_______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-sig-finance
-- Subscriber-posting only. If you want to post, subscribe first.
-- Also note that this is not the r-help list where general R questions should
go.