用R中的限制性协整向量估计VECM

时间:2014-05-07 18:53:42

标签: r

我想估计一个包含四个变量的VECM,例如:data <- c(v1, v2, v3, v4)

我想强制使用协整向量:v1-v2, v1-v3, v1-v4或矩阵形式:

beta = [ 1 -1 0  0
         1  0 -1 0
         1  0 0  -1]

我已尝试在lineVar包中使用tsDyn,但我在lineVar中使用beta选项指定beta约束时遇到问题。例如:

vecm.eg <- lineVar(data, lag=1, r=3, model='VECM', estim='ML', beta=????????). 

请告知我应该如何指定测试版。我尝试设置beta=matrix.above,但这似乎不起作用。

1 个答案:

答案 0 :(得分:0)

通过查看source code,我看到VECM使用了测试版

ECTminus1 <- Xminus1 %*% c(1,-beta)

,其中

Xminus1 <- embed(data,lag+2)[,(ncol(data)+1):(ncol(data)+ncol(data))]

所以在你的情况下,看起来beta=c(1,1,1)会起作用。但我承认我不太了解这应该如何运作。