| irf.varx | R Documentation |
Calculates impulse response functions.
## S3 method for class 'varx'
irf(x, ..., n.ahead = 20, normf = NULL)
x |
VAR object of class ' |
... |
Currently not used. |
n.ahead |
Integer. Number of periods to consider after the initial impulse, i.e. the horizon of the IRF. |
normf |
Function. A given function that normalizes the |
A list of class 'svarirf' holding the impulse response functions as a 'data.frame'.
Luetkepohl, H. (2005): New Introduction to Multiple Time Series Analysis, Springer, 2nd ed.
Jentsch, C., and Lunsford, K. G. (2021): "Asymptotically Valid Bootstrap Inference for Proxy SVARs", Journal of Business and Economic Statistics, 40, pp. 1876-1891.
data("PCIT")
names_k = c("APITR", "ACITR", "PITB", "CITB", "GOV", "RGDP", "DEBT")
names_l = c("m_PI", "m_CI") # proxy names
names_s = paste0("epsilon[ ", c("PI", "CI"), " ]") # shock names
dim_p = 4 # lag-order
# estimate and identify proxy SVAR #
R.vars = vars::VAR(PCIT[ , names_k], p=dim_p, type="const")
R.idBL = id.iv(R.vars, iv=PCIT[-(1:dim_p), names_l], S2="MR", cov_u="OMEGA")
colnames(R.idBL$B) = names_s # labeling
# calculate and plot normalized IRF #
R.norm = function(B) B / matrix(-diag(B), nrow(B), ncol(B), byrow=TRUE)
plot(irf(R.idBL, normf=R.norm))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.