Skip to contents

bvhar (development version)

  • Can filter MCMC draws where coefficient is stable when forecasting.

  • Changed Eigen and boost assertion behavior (eigen_assert and BOOST_ASSERT) to give error instead of abort.

  • Transpose the predictive distribution update loop.

  • med = TRUE gives median of forecast draws as point forecast.

  • var_bayes() and vhar_bayes() can choose to use only group shrinkage parameters without global parameter with ggl = FALSE option.

  • SAVS penalty is zero in own-lag.

C++ Header file changes

  • Use template to avoid code duplicates among LDLT and SV models.

  • Can easily conduct MCMC using McmcRun class in C++ source.

  • Can easily implement forecasting for LDLT and SV MCMC using McmcVarforecastRun<> and McmcVharforecastRun<>.

  • Can easily use rolling and expanding forecast for LDLT ans SV MCMC using McmcVarforecastRun<> and McmcVharforecastRun<>.

Removal of deprecated functions

  • Removed bvar_sv() and bvhar_sv().

  • Removed bvar_ssvs(), bvhar_ssvs(), init_ssvs(), choose_ssvs(), sim_ssvs_var(), and sim_ssvs_vhar().

  • Removed bvar_horseshoe(), bvhar_horseshoe(), sim_horseshoe_var(), and sim_horseshoe_vhar().

bvhar 2.1.2

CRAN release: 2024-10-11

bvhar 2.1.1

CRAN release: 2024-10-05

  • When using GIG generation in MCMC, it has maximum iteration numbers of while statement.

  • Defined USE_RCPP macro in the C++ header so that Rcpp source usage works fine.

bvhar 2.1.0

CRAN release: 2024-09-16

  • Use Signal Adaptive Variable Selector (SAVS) to generate sparse coefficient from shrinkage priors.

  • var_bayes() and vhar_bayes() now handle both shrinkage priors and stochastic volatility.

  • bvar_ssvs(), bvar_horseshoe(), bvar_sv(), bvhar_ssvs(), bvhar_horseshoe(), and bvhar_sv() are deprecated, and will be removed in v2.1.0 with their source functions.

  • set_horseshoe() has additional setting for group_shrinkage. Horseshoe sampling now has additional group shrinkage level parameters.

  • set_ssvs() now additionally should specify different Beta hyperparameters for each own-lag and cross-lag.

  • set_ssvs() sets scaling factor and inverse-gamma hyperparameters for coefficients and cholesky factor slab sd.

  • Use full bayesian approach to SSVS spike and slab sd’s instead of semi-automatic approach, in var_bayes() and vhar_bayes().

  • MCMC functions return give $param and $param_names, not individual $*_record members.

  • sim_gig() generates Generalized Inverse Gaussian (GIG) random numbers using the algorithm of R package GIGrvg.

New priors

Internal changes

  • Added regularization step in internal Normal posterior generation function against non-existing LLT case.

  • Added BOOST_DISABLE_ASSERTS flag against boost asserts.

Spillover effects

Forecasting

bvhar 2.0.1

CRAN release: 2024-03-01

  • Fix internal vectorization and unvectorization behavior.

  • Used Eigen 3.4 feature (reshaped()) to solve these (RcppEigen >= 0.3.4.0.0).

bvhar 2.0.0

CRAN release: 2024-02-14

  • Start to implement OOP in C++ source for each model, ready for major update.

  • Add SV specification (sv_spec argument) in bvhar_sv() and bvar_sv() (set_sv()).

  • Prevent SSVS overflow issues by using log-sum-exp trick when computing Bernoulli posterior probability.

  • Add separate constant term prior specification (intercept) in bvhar_sv() and bvar_sv() (set_intercept()).

  • Convert every header file inst/include to header-only format. This enables external inclusion of our classes, structs, and Rcpp functions by using LinkingTo (in R package development) or // [[Rcpp::depends(RcppEigen, BH, bvhar)]].

Parallel Chain MCMC

  • Use OpenMP parallel for loop

  • Progress bar will show the status only for master thread when OpenMP enabled.

  • Interruption detect will just save values and break the loop, not return immediately.

  • Do burn-in and thinning in each returnRecords() method to make pre-process parallel chains easier.

  • Use boost library (BH package) RNG instead of Rf_* RNG of Rcpp for thread-safety.

  • Introduce function overloading to internal Rcpp random generation functions temporarily. It’s for maintaining set.seed() usage of some functions.

bvhar 1.2.0

CRAN release: 2024-01-09

  • Replace progress bar of RcppProgress package with custom header (bvharprogress.h).

  • Replace checking user interruption in the same package with custom header (bvharinterrupt.h).

  • Fix triangular algorithm. Found missing update of some variables (bvar_sv() and bvhar_sv()).

bvhar 1.1.0

CRAN release: 2023-12-18

  • For new research, add new features for shrinkage priors.

  • Add Shrinkage priors SSVS and Horseshoe (bvar_ssvs(), bvhar_ssvs(), bvar_horseshoe(), and bvhar_horseshoe()).

  • bvar_sv(), bvhar_sv() works with SSVS (set_ssvs()) and Horseshoe (set_horseshoe()).

  • Update the shrinkage structure in the spirit of Minnesota. (minnesota = TRUE, minnesota = c("no", "short", "longrun")).

  • Stochastic volatility models implement corrected triangular algorithm of Carriero et al. (2021).

bvhar 1.0.2

CRAN release: 2023-12-06

  • License has been changed to GPLv3.

  • Remove unnecessary Rcpp plugins in source files.

bvhar 1.0.1

CRAN release: 2023-11-10

bvhar 1.0.0

CRAN release: 2023-11-08

  • “Bayesian Vector Heterogeneous Autoregressive Modeling” has been accepted in JSCS 🎉

  • Update to major version before publication.

bvhar 0.14.1

bvhar 0.14.0

  • Add Stochastic Search Variable Selection (SSVS) models for VAR and VHAR (bvar_ssvs() and bvhar_ssvs())

  • Can do corresponding variable selection (summary.ssvsmod())

bvhar 0.13.0

  • Add stochastic volatility models VAR-SV and VHAR-SV (bvar_sv() and bvhar_sv()).

bvhar 0.12.1

  • Fix not working Hierarchical natural conjugate MNIW function (bvar_niwhm()).

  • Use posterior package for summary.normaliw() to improve processing and printing.

bvhar 0.12.0

bvhar 0.11.0

  • Added method = c("nor", "chol", "qr") option in VAR and VHAR fitting function to use cholesky and Householder QR method (var_lm() and vhar_lm()).

  • Now include_mean works internally with Rcpp.

bvhar 0.10.0

bvhar 0.9.0

  • Can compute impulse response function for VAR (varlse) and VHAR (vharlse) models (analyze_ir()).

  • Can draw impulse -> response plot in grid panels (autoplot.bvharirf()).

bvhar 0.8.0

  • Changed the way of specifying the lower and upper bounds of empirical bayes (bound_bvhar()).

  • Added Empirical Bayes vignette.

bvhar 0.7.1

  • When simulation, asymmetric covariance error is caught now (sim_mgaussian()).

bvhar 0.7.0

bvhar 0.6.1

  • Pre-process date column of oxfordman more elaborately (it becomes same with etf_vix).

bvhar 0.6.0

bvhar 0.5.2

bvhar 0.5.1

  • Added facet feature for the loss plot and changed its name (gg_loss()).

bvhar 0.5.0

bvhar 0.4.1

  • Fix Marginal likelihood form (compute_logml()).

  • Optimize empirical bayes method using stabilized marginal likelihood function (logml_stable()).

bvhar 0.4.0

bvhar 0.3.0

bvhar 0.2.0

bvhar 0.1.0

  • Added a NEWS.md file to track changes to the package.