Skip to contents

For Package Developers

This package provides public C++ headers. Some might be implement these useful.

  • bvharsim.h: Rcpp random generation functions that are widely used in Bayesian statistics.
  • ols.h: OLS classes
  • minnesota.h: Minnesota prior classes
  • mcmcsv.h: Classes for stochastic volatility models. It includes
    • Minnesota prior
    • SSVS prior
    • Horseshoe prior
  • mcmchs.h: Horseshoe prior classes
  • mcmcssvs.h: SSVS prior classes
  • bvharprogress.h: Simple progress bar classes
  • bvharinterrupt.h: Interruption handler classes

You can use these by writing in your R package DESCRIPTION:

LinkingTo: 
    BH,
    Rcpp,
    RcppEigen,
    bvhar

Also, you can use in your single C++ source:

// [[Rcpp::depends(BH, RcppEigen, bvhar)]]

MCMC headers

mcmc*.h has classes that can conduct MCMC. Since it is designed thread-safe, you can OpenMP for parallel multiple chain loop.

  1. Initialize using smart pointer (in this package: std::unique_ptr)
    • Since each class requires other structure as its parameter, you first initialize it.
    • Each struct is inside the same header.
  2. doPosteriorDraws() updates MCMC draws, so use this inside loop.
  3. returnRecords(burn, thin) returns Rcpp::List of every MCMC record.

In case of SV model, you can define your own prior by defining a derived class.