脉冲响应函数 - R 上的负冲击

数据挖掘 r 统计数据 时间序列
2021-10-07 13:45:50

我有两个关于如何使用 R 产生脉冲响应的问题

(1)对自变量(货币供给)负冲击的脉冲响应

(2) 2 个标准差的脉冲响应

我用来生成对 1 个标准偏差的正冲击的脉冲响应的代码如下:

m1 <- read.csv("m1.csv", header=T)

m1

varm1 <- VAR(m1, p=8, type="cons")

irfm1 <- irf(varm1, impulse="m1", response= c("gdp"), boot = FALSE)

plot(irfm1)

irfm1
1个回答

这是一个应该有效的简单示例:

library(vars)
data("Canada")
var.2c=VAR(Canada,p=2,type="const")
# 1 SD impulse reponse function
irf.rw.e=irf(var.2c,impulse="rw",response=c("e"))
# gamma is the number of standard deviations for the irf
gamma=-0.25
irf.rw.e_gamma = irf.rw.e
n=length(irf.rw.e_gamma$irf$rw)
for(i in 1:n){
    irf.rw.e_gamma$irf$rw[i]   = irf.rw.e_gamma$irf$rw[i]*gamma
    irf.rw.e_gamma$Lower$rw[i] = irf.rw.e_gamma$Lower$rw[i]*gamma
    irf.rw.e_gamma$Upper$rw[i] = irf.rw.e_gamma$Upper$rw[i]*gamma
} 
plot(irf.rw.e)
plot(irf.rw.e_gamma)

来源