in my series of questions related to GARCH and volatility I finally think I've got a decent grasp on it. You guys have been great help clearing up my questions for me.

My next question is just a confirmation of my suspicion. It's well known that in finance, volatility is typically understood to be the standard deviation of returns. However, GARCH analysis helps you forecast the conditional variance of a process.

Suppose I have an ARIMA-GARCH forecast for the log returns of a series. GARCH gives us the equations:

$$y_t = x'_t + \epsilon_t$$ $$\epsilon_t|\psi_t ~ N(0, \sigma_t^2$$ $$\sigma_t^2 = \omega + \alpha_1\epsilon_{t-1}^2 + ... + \alpha_q\epsilon_{t-q}^2 + \beta_1\sigma_{t-1}^2 + ... + \beta_p\sigma_{t-p}^2$$

These equations define the variance at time $t$, $\sigma^2_t$.

If my forecast returns a value of $0.05$ for the 1 step ahead forecast then I can simply take the square root of the forecast to get the conditional volatility - correct? So in this case the 1 step ahead forecast of volatility is:

$$\sqrt{0.05} = 0.1732$$

This seems correct to me, but I am having trouble finding people who are doing this and I want to make sure that this is sound.

Thank you!

  • 1
    $\begingroup$ I disagree with @Quantuple , No you can't, your forecasts return are differents of your forecast conditional variance process , and your model specification is wrong: the standardized error term ($\eta_{t}$) has a unit variance and the error is defined as the product of the std erros and the volatility process. $ \epsilon_{t} = \sigma_{t} \eta_{t} $ . Also you must include the polynomials of the lag operator (AR and MA terms) in the model specification. I recommend you to read more about the theory. $\endgroup$ – Malick Jun 27 '16 at 13:20
  • $\begingroup$ @Malick if the model is properly specified shouldn't the error terms approximate a white noise process? $\endgroup$ – user20664 Jun 27 '16 at 15:06
  • $\begingroup$ yes the std errors $\eta_{t}$ should be a white noise but not the errors $\epsilon_{t}$ (with my notation) since they have an autoregressive structure implied by $ \sigma_{t} $. The model specification you show does not take into account the ARMA part (the cond. mean proces). This ARMA part has for errors terms $\epsilon_ {t}$ and not $ \eta_{t}$ $\endgroup$ – Malick Jun 27 '16 at 16:00
  • 1
    $\begingroup$ @Malick I finally understand what you mean in the light of Richard's comment. You are of course right. This is a big misunderstanding on my side, sorry for that. $\endgroup$ – Quantuple Jun 27 '16 at 19:06
  • 1
    $\begingroup$ @Quantuple oui la question de l OP n'était pas bien précise. En tt cas, thumbs up pr ta rapidité et pr le clin d' œil en Francais ^^ $\endgroup$ – Malick Jun 27 '16 at 20:09

If your question is: "Given all the information available up to time $t$, if I compute the 1 period ahead forecast $r_{t+1}$, is the conditional volatility over $[t,t+1[$ given by $\sqrt{r_{t+1}}$?", the answer is NO.

To compute the 1 period ahead conditional variance, you should use your model equations (see this post which might help you better understand the ARMA-GARCH paradigm).

Here's an illustrative example. Consider an ARMA(1,1)-GARCH(1,1) model for the returns process: \begin{align} r_t &= a + b r_{t-1} + c \sigma_{t-1} z_{t-1} + \sigma_t z_t \\ \sigma^2_t &= d + e \sigma^2_{t-1} + f r_{t-1}^2 \end{align} with $\{z_t\}_1^\infty$ iid $N(0,1)$ variables such that: $$\mathbb{E}\left[r_t \vert \mathcal{F}_{t-1}\right] = a + b r_{t-1} + \tilde{c} z_{t-1} $$ for the ARMA part (conditional mean model) and $$\mathbb{V}\left[r_t \vert \mathcal{F}_{t-1}\right] = d + e\sigma^2_{t-1} + fr^2_{t-1} $$ for the GARCH part (conditional variance model).

Now assume you observe a series of $N$ returns $\mathbf{r} = \{r_1,...,r_N\}$. You calibrate your model (usually by maximum likelihood estimation) on these returns and you get a bunch of model parameters (here $a, b, c, d, e, f$). At this point, all you need to do is use the GARCH equation to compute the latent conditional variances. For this, you'll need an initial value $\sigma_1$ to initialise the recursion, in which case you'll have: $$ \sigma^2_2 = d + e \underbrace{\sigma^2_1}_{\text{initialisation}} + f \underbrace{r^2_1}_{\text{$1^{st}$ observed return}} $$ $$ \sigma^2_3 = d + e \underbrace{\sigma^2_2}_{\text{computed @ step 1}} + f \underbrace{r^2_2}_{\text{$2^{nd}$ observed return}} $$ $$ \vdots $$ $$ \sigma^2_{N+1} = d + e \underbrace{\sigma^2_N}_{\text{computed @ step N}} + f \underbrace{r^2_N}_{\text{$N^{th}$ observed return}} $$ Now that you have the 1 period ahead conditional variance $\sigma^2_{N+1}$ just take the square root to get the conditional volatility.

The real question is how to get $\sigma_1$? This is usually part of the model specification and there are different ways to do it, see this post, especially the link in the comments of the accepted answer (REM: the notation used is $h_1 := \sigma^2_1$)

You can easily extend this approach to highest order GARCH models.


let' s define a ARMA-GARCH model:

$y_{t} = \mu_{t} + \epsilon_{t}$ where $\mu_{t} $ is the conditional mean process (ARMA(p,q) part, $\mu_{t} = E(y_{t}|\mathcal{F}_{t-1})$) .

The errors (or mean residuals) re defined by:

$\epsilon_{t} = \sigma_{t} \eta_{t}$

where $\eta_{t}$ is a white noise (0,1)

Then :

$Var[\epsilon_{t}]= \sigma_{t}^{2}$.

next see that :

$Var[y_{t} \vert \mathcal{F}_{t-1} ]= E\left[( y_{t} - E(y_{t} ))^{2}\vert \mathcal{F}_{t-1} \right] = E\left[( y_{t} - \mu_{t})^{2}\vert \mathcal{F}_{t-1} \right] = E\left[( \epsilon_{t})^{2}\vert \mathcal{F}_{t-1} \right] = Var[\epsilon_{t}]$


$Var[y_{t}]= \sigma_{t}^{2}$.

see that $Var[y_{t} \vert \mathcal{F}_{t-1} ] \neq E\left[( y_{t})^{2}\vert \mathcal{F}_{t-1} \right] $

Ex: AR(1)-GARCH(1,1)

$y_{t} =AR_{1}y_{t-1}+ \epsilon_{t}$


$\epsilon_{t} = \sigma_{t} \eta_{t}$


$\sigma_{t}^{2} =w+ \alpha \sigma_{t-1}^{2} + \beta \epsilon_{t-1}^{2}$

$Var[y_{t} \vert \mathcal{F}_{t-1} ]= E\left[( y_{t} - E(y_{t} ))^{2}\vert \mathcal{F}_{t-1} \right] = E\left[( y_{t} - AR_{1}y_{t-1})^{2}\vert \mathcal{F}_{t-1} \right] = E\left[( \epsilon_{t})^{2}\vert \mathcal{F}_{t-1} \right] =Var[\epsilon_{t}]= \sigma_{t}^{2}$

now if you only compute the following as you suggest:

$ Var[y_{t} \vert \mathcal{F}_{t-1} ]=E\left[( y_{t} )^{2}\vert \mathcal{F}_{t-1} \right] = E\left[( AR_{1}y_{t-1}+ \epsilon_{t} )^{2}\vert \mathcal{F}_{t-1} \right] =...$

you won't find $Var[y_{t} \vert \mathcal{F}_{t-1} ]= \sigma_{t}^{2}$ (unless $AR_{1}$=0)

To summarize you needs to model explicitly the conditional variance process ( $\sigma_{t}$) to be able to forecast it, there is no way to obtain it only from the cond. mean process, it seems rather logical.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy