I would like to construct a density forecast using a GARCH model. Is it possible to use rugarch in R to construct these? For example, using a ARMA(1,1)-GARCH(1,1) normal distribution model. I'll provide a simple example to start using data in rugarch (sp500ret). Is there anyway to proceed using this package or do I need to implement by own code? I know there are a number of methods using simulation of the GARCH process to construct density forecasts such as the method to construct historical densities presented in Taylor (2005) Asset Price Dynamics, Volatility, and Prediction. But I wonder if there's a way I can use rugarch to do this for me. Thank you in advance.

garchspec <- ugarchspec(mean.model = list(armaOrder = c(1,1)),
variance.model = list(model = "sGARCH"),
distribution.model = "norm")
garchfit <- ugarchfit(data = sp500ret, spec = garchspec)
  • $\begingroup$ Asking for software implementation is usually off topic, unless you are interested in some conceptual statistical aspects behind that. $\endgroup$ Commented Feb 5, 2021 at 9:45
  • $\begingroup$ Hi @RichardHardy, thank you very much for answering and for this clarification about not needing the software implementation part. $\endgroup$
    – Sylvia
    Commented Feb 10, 2021 at 6:07
  • $\begingroup$ You are welcome! $\endgroup$ Commented Feb 10, 2021 at 6:08

1 Answer 1


Your GARCH model will produce a density forecast as is. It will be the normal density with mean coming from the ARMA equation and variance coming from the GARCH equation. This holds both one and multiple steps ahead, since the the dependent variable is a sum of i.i.d. normal random variables (the standardized innovations) shifted by some means (ARMA) and scaled by some variances (GARCH) which is still a normal random variable. You will find more detail in

If the algebraic details are cumbersome, you could always simulate with ugarchsim or ugarchpath and take the empirical density of the simulated series as your density forecast.

  • $\begingroup$ Hi Richard, thank you for your response. Yes, that makes sense. $\endgroup$
    – Sylvia
    Commented Feb 10, 2021 at 6:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.