如何对两个变量同时进行一些行的迭代执行Johansen协整检验?

时间:2019-01-29 05:43:10

标签: r for-loop

我想使用Johansen协整检验来测试两个时间序列之间的协整。我想逐步执行测试,首先进行120个观察,然后在顶部留1个,在底部增加1个,以进行总共2250个观察。我想使用For循环自动执行此操作,但是代码给出了错误。请帮忙。

library(urca)
x= BDICOM$BDI
y= BDICOM$Soybn
for(i in 1:2666){
A = x[i:i+120]; B = y[i:i+120]
jocot[i] = ca.jo(data.frame(A,B), type = "eigen", ecdet = "none",K = 2, spec = "longrun");i=i+1
}

1 个答案:

答案 0 :(得分:0)

尝试一下,但是没有您的数据样本,我不能确定它是否正确:

library(urca)

x = BDICOM$BDI
y = BDICOM$Soybn

jocot <- vector('numeric', (2000-120))
for(i in 1:(2000-120)){
  A = x[i:(i+120)]
  B = y[i:(i+120)]
  jocot[i] = ca.jo(
    data.frame(A, B),
    type = "eigen",
    ecdet = "none",
    K = 2,
    spec = "longrun"
  )@teststat[2]
}