How to Add Student-t Errors to a Stochastic Volatility Model

Guide 3 of 4 in the series Stochastic Volatility

Based on Chan and Grant (2016)
[ Journal Version | Working Paper | Code | Full guide on GitHub ]

In the stochastic volatility (SV) model of the first two guides, the errors are normal, so a large observation can only come from a high volatility. With Student-t errors, it can also come from the tail of the error distribution. We add Student-t errors to the sampler of How to Estimate a Stochastic Volatility Model by Gibbs Sampling. The new model, SV-t, needs two new blocks: a latent scale for each period and the degrees of freedom. On data with Student-t errors, SV-t estimates the volatility more accurately than the SV model.

The steps

  1. Add Two Blocks
  2. Derive the New Conditional Distributions
  3. Write the Loop
  4. See What the Student-t Errors Change

The data and the volatility under SV-t and SV

Figure 1: SV-t and SV on data generated with Student-t errors, ν = 5, and the log-volatilities of the first guide. Top, the data. Bottom, the true volatility eht/2, its posterior means under SV-t and SV, and the 90 percent pointwise credible intervals of SV-t.

Try it

In MATLAB, from the root of a copy of statespace-toolkit, run the script that prints every number and draws every figure of the guide:

run guides/sv_t/guide.m

In this series

Previous: How to Estimate a Stochastic Volatility Model by Gibbs Sampling
Next: How to Compare Stochastic Volatility Models by the Marginal Likelihood