example5_sv: Parameter estimation in a simple stochastic volatility model

Description Usage Arguments Details Value Note Author(s) References Examples

View source: R/example5-sv.R

Description

Minimal working example of parameter estimation in a stochastic volatility model using the particle Metropolis-Hastings algorithm with a bootstrap particle filter providing an unbiased estimator of the likelihood. The code estimates the parameter posterior for three parameters using real-world data.

Usage

1
2
example5_sv(noBurnInIterations = 2500, noIterations = 7500,
  noParticles = 500, initialTheta = c(0, 0.9, 0.2))

Arguments

noBurnInIterations

The number of burn-in iterations in the PMH algorithm. Must be smaller than noIterations.

noIterations

The number of iterations in the PMH algorithm. 100 iterations takes about a minute on a laptop to execute.

noParticles

The number of particles to use when estimating the likelihood.

initialTheta

The initial guess of the parameters theta.

Details

The Particle Metropolis-Hastings (PMH) algorithm makes use of a Gaussian random walk as the proposal for the parameters. The data are scaled log-returns from the OMXS30 index during the period from January 2, 2012 to January 2, 2014.

This version of the code makes use of a proposal that is tuned using a pilot run. Furthermore the model is reparameterised to enjoy better mixing properties by making the parameters unrestricted to a certain part of the real-line.

Value

The function returns the estimated marginal parameter posteriors for each parameter, the trace of the Markov chain and the resulting autocorrelation function. The data is also presented with an estimate of the log-volatility.

The function returns a list with the elements:

Note

See Section 6.3.2 in the reference for more details.

Author(s)

Johan Dahlin <uni (at) johandahlin.com.nospam>

References

Dahlin, J. & Sch<c3><b6>n, T. B. "Getting started with particle Metropolis-Hastings for inference in nonlinear dynamical models." pre-print, arXiv:1511.01707, 2017.

Examples

1
    example5_sv(noBurnInIterations=500, noIterations=5000)

pmhtutorial documentation built on Oct. 7, 2017, 5:02 p.m.