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 and structs -
minnesota.h: Minnesota prior classes and structs -
mcmcsv.h: Classes and structs for stochastic volatility models. It includes- Minnesota prior
- SSVS prior
- Horseshoe prior
-
mcmchs.h: Horseshoe prior classes -
mcmcssvs.h: SSVS prior classes -
olsforecaster.h: Forecasting class for each VAR and VHAR -
minnforecaster.h: Minnesota prior forecaster classes -
svforecaster.h: SV models forecaster classes -
olsspillover.h: FEVD and spillover class for each VAR and VHAR -
minnspillover.h: FEVD and spillover class for Minnesota prior -
svspillover.h: FEVD and spillover class for SV models -
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)]]
// [[Rcpp::plugins(bvhar)]]
You need to add plugins attribute because the header in
this package should define USE_RCPP macro. Or you can use
instead:
Sys.setenv("PKG_CPPFLAGS" = "-DUSE_RCPP")without using plugins attribute.
MCMC headers
mcmc*.h has classes that can conduct MCMC. Since it is
designed thread-safe, you can OpenMP for parallel multiple chain
loop.
- 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.
-
doPosteriorDraws()updates MCMC draws, so use this inside loop. -
returnRecords(burn, thin)returnsRcpp::Listof every MCMC record.
In case of SV model, you can define your own prior by defining a derived class.
