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, 2016 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, 2016 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, 2016 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, 2016 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, 2016 at 20:09

2 Answers 2


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 and acknowledge you have read our privacy policy.