/SV-comparison

Comparison of different implementations of the same stochastic volatility model (stochvol, JAGS, Stan)

Primary LanguageRMIT LicenseMIT

Archived repo.

SV-comparison

Comparison of different implementations of the same stochastic volatility model (stochvol, JAGS, Stan). The goal is to see when and why one needs to develop a model-specific algorithm even if fast prototyping is easy using existing software packages.

The model in its standard parameterization is

y[t] ~ N(0,exp(h[t])),
h[t] ~ N(mu+phi*(h[t-1]-mu),sigma^2),

where, in order to be able to do Bayesian inference, one needs to put a prior distribution on the parameters mu, sigma, and phi, and on the initial latent state h[0].

The R package stochvol uses several tricks to improve the sampling efficiency of the latent vector, most notably ASIS (ancillarity-sufficiency interweaving strategy) and AWOL (all without a loop). Stan is the state-of-the-art probabilistic programming language, and JAGS is a language for graphical models.

References:

  • Kastner, Gregor. "Dealing with stochastic volatility in time series using the R package stochvol." Journal of Statistical software 69.5 (2016): 1-30.
  • McCausland, William J., Shirley Miller, and Denis Pelletier. "Simulation smoothing for state–space models: A computational efficiency analysis." Computational Statistics & Data Analysis 55.1 (2011): 199-212.
  • Yu, Yaming, and Xiao-Li Meng. "To center or not to center: That is not the question -- an Ancillarity–Sufficiency Interweaving Strategy (ASIS) for boosting MCMC efficiency." Journal of Computational and Graphical Statistics 20.3 (2011): 531-570.