r - 如何为多元时间序列的 Johansen 协整检验制作循环并在 Rstudio 中获得所有可能的组合?
问题描述
我是 R 和统计的新手。我想使用循环对 75 列执行 Johansen 协整检验。然后将结果作为数据框或列表整理跟踪测试和置信水平 90% 95% 99% 到数据框。
我有一个格式的时间序列data.frame
。正如我所说,有 75 个不同名称的列(包含每日数据的公司)和 495 行。
根据 ADF 测试,时间序列是平稳的。
所以基本上我的数据看起来像:(
Name Name2 Name3 Name4 Name5 Name6 Name7 Name8 ... Name75
所有名称都不同)
我知道要获得我必须使用的所有可能组合combn()
,所以我认为我的代码应该如下所示:
combn(seq_len(ncol(myData)), 2,
FUN=function(x) ca.jo(Farm2[, x[1]], Farm2[, x[2]]), simplify=FALSE)
或者可能是这样的:
for (col in colnames(myData)) {
print(col)
data <- myData[, col]
print(data)
Jo <- ca.jo(data, type="trace", K=2, ecdet="none", spec="longrun")
summary(Jo)
}
但没有任何工作。
有人可以帮助我理解和纠正我的循环吗?
解决方案
请记住,仅针对少于 11 个变量的系统报告临界值,并且取自 Osterwald-Lenum,如果您想在urca
包中使用 Johansen 检验进行协整,也许您应该考虑重组您的输入数据。
在这里阅读更多。