An embedded and charset-unspecified text was scrubbed... Name: not available Url: https://stat.ethz.ch/pipermail/r-help/attachments/20060828/6d01fe99/attachment.pl
Help on function adf.test
2 messages · Spiros Mesomeris, Gabor Grothendieck
Put your time series into a ts or zoo object. Now using EuStockMarkets which is builtin data set in R. (You might want to use align = "right" in rollapply.) library(tseries) library(zoo) eu91 <- window(EuStockMarkets, end = 1992) # use portion for test data eu91.p.value <- rollapply(eu91, 61, function(x) adf.test(x)$p.value)
On 8/28/06, Spiros Mesomeris <mesomeris at yahoo.co.uk> wrote:
Hello everybody,
I've got a matrix called EUROPEDATA and I want to calculate the adf test statistic (part of the tseries package) on a rolling basis for window my.win on each column; i.e. each column of EUROPEDATA represents a particular variable; for the first column I calculate the adf test statistic for window my.win = 60 for example, roll forward one observation, calculate the adf again, and so on, until the end of the first column is reached and then I jump to the second column etc. The code for doing this is given below:
adfroll <- sapply(1:(ncol(EUROPEDATA)), function(i, my.data, my.win)
{
sss <- sapply(1:(nrow(my.data)-my.win), function (j, my.data, my.win)
{ my.data <- as.matrix(my.data)
ans <- adf.test(na.omit(my.data[j:(j+my.win)]))
return(ans$p.value)
},my.data=my.data[,i],my.win=my.win)
},my.data=EUROPEDATA,my.win=60,simplify=T)
The problem is that the adf test does not calculate this way. There is an error saying:
"Error in embed(y, k) : wrong embedding dimension"
This error is generated from within the adf.test function. The embed function is part of the stats package, which I load before doing the adf.test.
I would be very obliged if anybody were to explain to me why this happens and how I can correct it/ estimate what I want in a different way that will not invoke this error.
P.S. the function works fine if the adf.test on each column of the dataset is calculated, that is, without the rolling window for each column:
summaryadf <- sapply(1:ncol(EUROPEDATA),function(i,my.data)
{
tt <- adf.test(na.omit(my.data[,i]))
return(tt$p.value)
},my.data=EUROPEDATA)
Please note that the same error is generated with the pp.test function of the tseries package
Thanks in advance,
Spyros
---------------------------------
[[alternative HTML version deleted]]
______________________________________________ R-help at stat.math.ethz.ch 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.