r中的矢量误差修正模型

时间:2013-07-07 23:51:34

标签: r error-correction vecmath

我必须使用改编自Joel Hasbrouck的矢量误差修正模型估算纽约(N)和伦敦(L)的价格之间的关系。经过网上的大量研究,我仍然没有取得多大进展,所以我想我会请专家看看我是否可以为完成这个模型找到方向。

我的数据集是一个包含日期,时间,符号,价格的数据框。

返回(r_t)定义为纽约和伦敦(等式1和2)的每十五分钟间隔(p(t) - p(t-1))的价格之间的对数差异。

该模型使用纽约的r_t来模拟纽约和伦敦的2个回报(等式3)。

然后在伦敦的r-t中使用纽约和伦敦的2个回报模型(等式4)。

N和L分别代表纽约和伦敦,在模型中看到任何地方,t代表时间。

r_t^N=∆ log(P_t^N )
r_t^L=∆ log(P_t^L )
r_t^N=α(log(P_(t-1)^N)-log(P_(t-1)^L))+∑_(i=1)to 2(γ_i^(N,N) r_(t-i)^N) + ∑_(i=1)to 2(γ_i^(N,L) r_(t-i)^L)+ ε_t^N
r_t^L=α(log(P_(t-1)^L)-log(P_(t-1)^N))+∑_(i=1)to 2(γ_i^(L,L) r_(t-i)^L) + ∑_(i=1)to 2(γ_i^(L,N) r_(t-i)^N)+ ε_t^L

任何帮助都会受到赞赏。提前感谢您的帮助!!

我是R的新手,在使用SAS和时间序列程序方面有更多经验。我已经看到了使用vars()的参考,但我看过的例子似乎并不适用,所以我几乎被卡住了。我已经完成了DW统计,并且存在协整。

我无法弄清楚如何为此编写代码......

1 个答案:

答案 0 :(得分:5)

您可以在R中使用urca包:(假设您的数据为mydf,LN列为伦敦股票市场的股票回报,NY为NY股票市场的股票回报)。以下是示例代码(未测试):

install.packages("urca")
library(urca)
mysample <- mydf[, c("NY", "LN")]
myvecm <- ca.jo(mysample, ecdet = "const", type="eigen", K=2, spec="longrun")
myvecm.ols <- cajools(myvecm)

注意:我假设您使用了Johansen协同集成测试和eigen统计信息; k表示滞后数,对于您的示例为2,ecdet表示协整有一个常量。有关详细信息,请查看manual