0

我正在估计 R 中的 SVAR,但 AB 形式的结果与 Eviews 中的结果非常不同,我不确定它为什么会发生。另外,我认为正确的选项会给我错误消息。有人可以帮我吗?这是我正在使用的 R 代码:

resA <- matrix(NA, nrow = 5, ncol = 5)
resA[2,4]=resA[2,5]=resA[3,4]=resA[3,5]=resA[4,2]=resA[4,3]=resA[4,5]=0
resA[5,2]=resA[5,3]=resA[5,4]=0
resA[1,1]=resA[2,2]=resA[3,3]=resA[4,4]=resA[5,5]=1
resA
model=VAR(vardata, p=2, type="const")
summary(model)
stt=matrix(0.1, nrow = 1, ncol = 10)
model1=SVAR(model, Amat=resA, lrtest=TRUE, estmethod="scoring", start=stt, conv.crit=0.0001, max.iter=500)
summary(model1)

irf.gap=irf(model1, impulse="gap", boot=FALSE, n.ahead=15, runs=100)
plot(irf.gap)

问题是最后一个命令 IRF。它给了我比Eviews相反的形状。我认为,由于 Eviews 只提到它正在使用调整 df 的 Cholesky 分解(这件事应该与 CI 相关)和“对 Cholesky 一个 SD 创新 +/- 2 SE 的响应”,我想问题应该来自一个 SD 和 2SE,仍然不确定 R 命令“irf”是怎么做的......

顺便说一句,我使用的 R 包是library(vars),对于 Eviews,我使用了 IRF 的默认设置。

更新:问题发生是因为命令 irf 计算的结构脉冲响应函数与 Eviews 的 Cholesky 分解不同。任何人都会分享任何手动计算 IRF 的 Eviews 版本的步骤的链接,非常感谢!

4

0 回答 0