GARCH MCMC

Time Series Volatility

regtvp

Description

Fitting GARCH models via maximum likelihood estimation can sometimes be a bit tricky. Here we offer an alternative using markov chain monte carlo for GARCH(1, 1) and GARCH(2, 1) models.

Model: GARCH(1, 1)

yt=μ+ϵt,ϵtN(0,σt2) y_{t} = \mu + \epsilon_{t}, \epsilon_{t} \sim N(0, \sigma_{t}^{2}) σt2=α0+α1ϵt12+g1σt12 \sigma_{t}^{2} = \alpha_{0} + \alpha_{1} \epsilon_{t-1}^{2} + g_{1} \sigma_{t-1}^{2}

Model: GARCH(2, 1)

yt=μ+ϵt,ϵtN(0,σt2) y_{t} = \mu + \epsilon_{t}, \epsilon_{t} \sim N(0, \sigma_{t}^{2}) σt2=α0+α1ϵt12+g1σt12+g2σt22 \sigma_{t}^{2} = \alpha_{0} + \alpha_{1} \epsilon_{t-1}^{2} + g_{1} \sigma_{t-1}^{2} + g_{2} \sigma_{t-2}^{2}

Input

  • draws: Run the sample this many times.
  • burn-in: Discard these many samples from the beginning draws. Burn-in must be less than draws.
  • timeout: Time limit in minutes.

Returns

  • coef: Coefficient estimates for gg for GARCH parameters and aa for ARCH parameters
  • serr: Standard Errors
  • σt \sigma_{t} : volatility process