项目作者: nk027

项目描述 :
Toolkit for the estimation of hierarchical Bayesian vector autoregressions. Implements hierarchical prior selection for conjugate priors in the fashion of Giannone, Lenza & Primiceri (2015). Allows for the computation of impulse responses and forecasts and provides functionality for assessing results.
高级语言: R
项目地址: git://github.com/nk027/bvar.git
创建时间: 2018-12-05T19:39:52Z
项目社区:https://github.com/nk027/bvar

开源协议:GNU General Public License v3.0

下载


BVAR: Hierarchical Bayesian Vector Autoregression

CRAN
codecov
month
total

Estimation of hierarchical Bayesian vector autoregressive models following Kuschnig & Vashold (2021). Implements hierarchical prior selection for conjugate priors in the fashion of Giannone, Lenza & Primiceri (2015). Functions to calculate forecasts, and compute and identify impulse responses and forecast error variance decompositions are available. Several methods to print, plot and summarise results facilitate analysis.

Installation

BVAR is available on CRAN. The development version can be installed from GitHub.

  1. install.packages("BVAR")
  2. devtools::install_github("nk027/BVAR")

Usage

The main function to perform hierarchical Bayesian VAR estimation is bvar(). Calls can be customised with regard to the sampling (e.g. via n_draw, or see bv_mh()) or with regard to the priors (see bv_priors()). Forecasts and impulse responses can be computed at runtime, or afterwards (see predict() and irf()). Identification of sign restrictions can be achieved recursively, via sign restrictions, or via zero and sign restrictions.

Analysis is facilitated by a variety of standard methods. The default plot() method provides trace and density plots of hyperparameters and optionally coefficients. Impulse responses and forecasts can easily be assessed with the provided plot() methods. Other available methods include summary(), fitted(), residuals(), coef(), vcov() and density(). Note that BVAR generates draws from the posterior — all methods include functionality to access this distributional information. Information can be obtained directly or more conveniently using the BVARverse package.

BVAR comes with the FRED-MD and FRED-QD datasets (McCracken and Ng, 2016). They can be accessed using data("fred_md") or data("fred_qd") respectively. The dataset is licensed under a modified ODC-BY 1.0 license, that is available in the provided LICENSE file.

Demonstration

  1. # Load the package
  2. library("BVAR")
  3. # Access a subset of the fred_qd dataset
  4. data <- fred_qd[, c("GDPC1", "CPIAUCSL", "UNRATE", "FEDFUNDS")]
  5. # Transform it to be stationary
  6. data <- fred_transform(data, codes = c(5, 5, 5, 1), lag = 4)
  7. # Estimate using default priors and MH step
  8. x <- bvar(data, lags = 1)
  9. # Check convergence via trace and density plots
  10. plot(x)
  11. # Calculate and store forecasts and impulse responses
  12. predict(x) <- predict(x, horizon = 20)
  13. irf(x) <- irf(x, horizon = 20, identification = TRUE)
  14. # Plot forecasts and impulse responses
  15. plot(predict(x))
  16. plot(irf(x))

References

Nikolas Kuschnig and Lukas Vashold (2021). BVAR: Bayesian Vector Autoregressions with Hierarchical Prior Selection in R. Journal of Statistical Software, 14, 1-27, DOI: 10.18637/jss.v100.i14.

Domenico Giannone, Michele Lenza and Giorgio E. Primiceri (2015). Prior Selection for Vector Autoregressions. The Review of Economics and Statistics, 97:2, 436-451, DOI: 10.1162/REST_a_00483.

Michael W. McCracken and Serena Ng (2016). FRED-MD: A Monthly Database for Macroeconomic Research. Journal of Business & Economic Statistics, 34:4, 574-589, DOI: 10.1080/07350015.2015.1086655.