在多个时间序列上循环ADF协整PValue

时间:2013-07-09 19:24:39

标签: r loops oracle-adf

我有以下格式的股票价格数据,我正在尝试测试协整点差的所有可能排列。

我目前的数据格式:

AAPL GOOG IBM ...... 415.89 898.39 191.76 ...... 414.15 899.45 187.55 ...... 417.27 895.62 190.99 ......

我想使用R来计算协整时间序列的所有排列的协整P值(使用ADF / Johansen或其他任何东西),并显示具有按P值排序的对的输出。

例如:

配对:P值: AAPL - GOOG .0196 - 协整 IBM - GOOG .0477 - 协整 AAPL - IBM .0679 - 未整合

我认为这是一个相当简单的循环,但我不是百分百确定如何做到这一点。

以下是一段可能有用的代码:

library(tseries)
cointegration<-function(x,y)
{
   vals<-data.frame(x,y)
   beta<-coef(lm(vals[,2]~vals[,1]+0,data=vals))[1]
   (adf.test(vals[,2]-beta*vals[,1], alternative="stationary", k=0))$p.value
}

0 个答案:

没有答案