The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

bsvars

An R package for Bayesian Estimation of Structural Vector Autoregressive Models

CRAN version R-CMD-check

This package provides efficient algorithms for Bayesian estimation of Structural Vector Autoregressive (SVAR) models via Markov chain Monte Carlo methods. A wide range of SVAR models is considered, including homo- and heteroskedastic specifications and those with non-normal structural shocks. All models include three-level equation-specific local-global hierarchical prior distribution for the estimated level of shrinkage for autoregressive and structural parameters. Additionally, the package facilitates predictive and structural analyses with a variety of tools and methods.

The heteroskedastic SVAR model setup is similar as in Woźniak & Droumaguet (2015) and Lütkepohl & Woźniak (2020). The sampler of the structural matrix follows Waggoner & Zha (2003), whereas that for autoregressive parameters follows Chan, Koop, Yu (2022). The specification of Markov switching heteroskedasticity is inspired by Song & Woźniak (2021), and that of Stochastic Volatility model by Kastner & Frühwirth-Schnatter (2014).

Features

Structural Vector Autoregressions

    Y = AX + E           (VAR equation)
   BE = U                (structural equation)

Simple workflows

Fast and efficient computations

**************************************************|
bsvars: Bayesian Structural Vector Autoregressions|
**************************************************|
 Gibbs sampler for the SVAR-SV model              |
   Non-centred SV model is estimated              |
**************************************************|
 Progress of the MCMC simulation for 1000 draws
    Every 10th draw is saved via MCMC thinning
 Press Esc to interrupt the computations
**************************************************|
0%   10   20   30   40   50   60   70   80   90   100%
[----|----|----|----|----|----|----|----|----|----|
*************************************

Start your Bayesian analysis of data

The beginnings are as easy as ABC:

library(bsvars)                       # upload the package
data(us_fiscal_lsuw)                  # upload data
spec      = specify_bsvar_sv$new(us_fiscal_lsuw, p = 4)     # specify the model
burn_in   = estimate(spec, 1000)      # run the burn-in
out       = estimate(burn_in, 50000)  # estimate the model

Starting from bsvars version 2.0.0 a simplified workflow using the |> pipe is possible:

library(bsvars)                       # upload the package
data(us_fiscal_lsuw)                  # upload data
us_fiscal_lsuw |>
  specify_bsvar_sv$new(p = 4) |>      # specify the model
  estimate(S = 1000) |>               # run the burn-in
  estimate(S = 50000) -> out          # estimate the model

Now, you’re ready to analyse your model!

Installation

Just open your R and type:

install.packages("bsvars")

The developer’s version of the package with the newest features can be installed by typing:

devtools::install_git("https://github.com/bsvars/bsvars.git")

Development

The package is under intensive development. Your help is welcome! Please, have a look at the roadmap, discuss package features and applications, or report a bug. Thank you!

About the author

Tomasz is a Bayesian econometrician and a Senior Lecturer at the University of Melbourne. He develops methodology for empirical macroeconomic analyses and programs in R and cpp using Rcpp.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.