Skip to content
All library documents

Evaluating GARCH Density Forecasts at Realized Returns

Article Quant Q&A · Author: Masher

Summary

The document clarifies how to calculate a one-step-ahead density forecast from an estimated ARMA-GARCH model with Gaussian errors. At each forecast origin, estimate or update the model using information available so far, then obtain the forecast conditional mean and variance for the next return. The predictive distribution is a normal distribution centered on that forecast mean, with the forecast variance governing its spread.

To evaluate the forecast after the next return is observed, calculate the density at that realized return, equivalently at its forecast error under a correspondingly centered normal distribution. This is a predictive likelihood contribution and differs from simply evaluating the density at the point forecast. The answer also notes that its earlier explanation used residual and distribution-parameter notation that may be confusing. The guidance is specific to the one-step Gaussian case; it does not explain multi-step densities, non-Gaussian errors, or broader calibration tests.

Key ideas

  • A one-step density forecast uses the conditional mean and variance forecast for the upcoming period.
  • The forecast density is evaluated at the realized return after that return becomes available.
  • Equivalently, evaluate the forecast error under a zero-mean normal distribution with the forecast variance.
  • Repeated one-step predictive density values can be used as likelihood contributions.
  • The explanation assumes Gaussian errors and does not cover multi-step density forecasts.

Tags

Full text
# Density forecast of a GARCH model


# Density forecast of a GARCH model












I am currently working on developing a series of density forecasts and I am encountering some problems. I am working on weekly S&P 500 returns and the returns process is described as

$r_{t} = \mu + \delta r_{t-1} + h_{t}z_{t}$ where $z_{t}$ comes from the Gaussian distribution.

I am forecasting the returns and volatility of the series using the ARMAX-GARCH-K Toolbox in Matlab. Initially I estimate the ARMA(1,0)-GARCH(1,1) model and obtain the one-step ahead forecast of the returns and volatility. I obtain the $\mu$ parameter from the parameters of the GARCH model.

As far as I understand the next step to obtain the density forecast (assuming Gaussian distribution) is to use the pdf of Gaussian distribution, so the

> normpdf(x, mu, sigma)

function in Matlab.

And here is the essence of my trouble. To obtain the density forecast should I use the actual observed return as x or the point forecast from the garch model? And should I use the $\mu$ parameter from the GARCH model as input for the mu parameter of normpdf and the forecasted volatility as as sigma in the normpdf function?

I now this may be a basic question but I cannot find any elementary examples on the internet.

Kind regards

## Answer by Malick (score 4, accepted)

https://quant.stackexchange.com/a/21911

EDIT :

I read more about it and I get some help with someone else, here is the correct answer :

> The density forecast is the predictive likelihood value of the process estimated at the realized value computed in a one step ahead way.

Thus for instance for a standard arma garch process with normal errors:

- You forecast the mean $u^{f}_{t|t-1}$ and variance $v^{f}_{t|t-1}$ process at time t-1 for time t

- the predictive density forecast for time t of the realized value $u_{t}$ is $N(u^{f}_{t|t-1},v^{f}_{t|t-1})$

- the predictive density forecast $u_{t}\sim N(u^{f}_{t|t-1},v^{f}_{t|t-1}) $ is equivalent to the predictive residuals density forecast : $r_{t} = u_{t}-u^{f}_{t|t-1}\sim N(0,v^{f}_{t|t-1}) $

- the density forecast is the density of $r_{t}$ with respect to a $N(0,v^{f}_{t|t-1}) $

Note that it is very similar to the "usual" likelihood except you are estimating the model in a one step ahead way (the parameters are re-estimated at every step)

Previous Post :

It is not a "basic question", If I am correct :

First you estimate your model on the return series and obtains parameters. You must estimate your model in such a way you obtain one-step ahead errors (that I will call computed errors in what follow) and associated time-serie of the predictive errors distributions parameters: $\hat{\mu_{t}}$ and $ \hat{\sigma_{t}^{2}}$ (note : these are not the parameters of the mean and variance processes but parameters of the error distribution).

I would take the original return serie minus the fitted returns to obtain the computed errors :

$$\hat{e_{t}} = r_{t} - \hat{r_{t}}$$

These computed errors should behave accordingly your predictive (errors) density which is defined by parameters you obtain in the first step ($\hat{\mu_{t}}, \hat{\sigma_{t}}$) : Note the subscript $_{t}$ for parameters !

Then I would compute the predictive density of these residuals using parameters obtained in the first step estimation, indeed if your forecasts are accurate the density of $\hat{e_{t}}$ should ideally be equal to the predictive density defined as: normal($\hat{\mu_{t}}, \hat{\sigma_{t}}$).

If it fit perfectly (they have the same mean, variance) then the density forecast will returns a high mass . If the model is misspecified, the errors $\hat{e_{t}}$ will fall outside of the range implied by your predictive error density and then it will assign very small probability.

So in your case I will use the following function (again note the time subscript)

> Density forecast ($\hat{e_{t}}$) = normpdf($\hat{e_{t}}, \hat{\mu_{t}}, \hat{\sigma_{t}}$)

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.