Learn R Programming

BVAR: Hierarchical Bayesian Vector Autoregression

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.

install.packages("BVAR")
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

# Load the package
library("BVAR")

# Access a subset of the fred_qd dataset
data <- fred_qd[, c("GDPC1", "CPIAUCSL", "UNRATE", "FEDFUNDS")]
# Transform it to be stationary
data <- fred_transform(data, codes = c(5, 5, 5, 1), lag = 4)

# Estimate using default priors and MH step
x <- bvar(data, lags = 1)

# Check convergence via trace and density plots
plot(x)

# Calculate and store forecasts and impulse responses
predict(x) <- predict(x, horizon = 20)
irf(x) <- irf(x, horizon = 20, identification = TRUE)

# Plot forecasts and impulse responses
plot(predict(x))
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.

Copy Link

Version

Install

install.packages('BVAR')

Monthly Downloads

1,033

Version

1.0.5

License

GPL-3 | file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Nikolas Kuschnig

Last Published

February 16th, 2024

Functions in BVAR (1.0.5)

density.bvar

Density methods for Bayesian VARs
logLik.bvar

Log-Likelihood method for Bayesian VARs
companion

Retrieve companion matrix from a Bayesian VAR
par_bvar

Parallel hierarchical Bayesian vector autoregression
coef.bvar

Coefficient and VCOV methods for Bayesian VARs
plot.bvar_fcast

Plotting method for Bayesian VAR predictions
bv_fcast

Forecast settings
plot.bvar

Plotting method for Bayesian VARs
bvar

Hierarchical Bayesian vector autoregression
hist_decomp.bvar

Historical decomposition
coda

Methods for coda Markov chain Monte Carlo objects
rmse.bvar

Model fit in- and out-of-sample
fred_qd

FRED-MD and FRED-QD: Databases for Macroeconomic Research
irf.bvar

Impulse response and forecast error methods for Bayesian VARs
fitted.bvar

Fitted and residual methods for Bayesian VARs
fred_transform

FRED transformation and subset helper
plot.bvar_irf

Plotting method for Bayesian VAR impulse responses
summary.bvar

Summary method for Bayesian VARs
predict.bvar

Predict method for Bayesian VARs
bv_minnesota

Minnesota prior settings
bv_dummy

Dummy prior settings
BVAR-package

BVAR: Hierarchical Bayesian vector autoregression
bv_metropolis

Metropolis-Hastings settings
WAIC.bvar

Widely applicable information criterion (WAIC) for Bayesian VARs
bv_irf

Impulse response settings and identification
bv_priors

Prior settings