I am implementing a program to fit an ARMA-GARCH model to given data.

My model parameters are optimised by maximizing the Maximum Likelihood function using a nonlinear algorithm.

The algorithm requires an initial set of parameter values to start from, and I noticed by looking at other GARCH tools out there that those initial parameters have a huge impact on the result.

How can I choose those initial parameter values for my model?

I know for instance that for an AR model we can use Yule-Walker equations or OLS, but I am not sure about an ARMA-GARCH process.

  • 1
    $\begingroup$ What do you mean by "GARCH/ARMA"? Is it an ARMA-GARCH model where cond. mean is ARMA and cond. variance is GARCH? Or is it GARCH and/or ARMA models? If it is ARMA-GARCH, you may consider changing to that. $\endgroup$ Commented Nov 24, 2015 at 18:21
  • $\begingroup$ Have you tried looking at the documentation of statistical software for ARMA-GARCH modelling? There should be some references there. Or if there are no specific references, you would be able to check how the procedure actually works (at least R should be transparent, maybe not the commercial software). If I remember correctly, for a GARCH(1,1) model one of the R packages (perhaps "fGarch") used the following: $\alpha_1$=0.1, $\beta_1=0.8$, $intercept=\frac{\hat\sigma^2}{1-\alpha_1-\beta_1}$ or something similar; here $\hat\sigma^2$ is the empirical unconditional variance. $\endgroup$ Commented Nov 24, 2015 at 18:48
  • $\begingroup$ Thanks @RichardHardy. I have looked into the docs of rugarch but there is no mention of it. I have looked at fgarch but they say "ar" and "ma" are set to 0, which is from simple tests not a good idea at all. Rugarch seems to work better, and I can definitely look at the source but I am more interested in the theoretical work that this has been built on. The goal is not to mimick the behavior or rugarch (or other libraries) but to provide a good implementation of a garch algorithm that I understand and can maintain because I understand the theory behind. $\endgroup$
    – Ihab
    Commented Nov 25, 2015 at 9:10
  • $\begingroup$ OK, then academic references could be useful for you. Unfortunately, I do not remember any good ones now. Good luck in your search! $\endgroup$ Commented Nov 25, 2015 at 10:01

1 Answer 1


You can set the starting values for the conditional variance/mean values to their theoretical unconditional values. For errors you could set them to zero (because their mean = 0). For other AR,MA parameters you can solve the Yule-Walker equation, for garch parameters to the best of my knowledge you need to fix them to some arbitrarily values BUT they should respect the theoretical constraints ( positivity constraints, stationarity constraints...). Ex for Garch(1,1) , constraints: alpha + beta <= 1 ...

EDIT : For Initial values of the ARMA part you can have a look to the following article : (paragraph "16.2 Initial values" ):

A Package for Estimating, Forecasting and Simulating Arfima Models: Arfima package 1.0 for Ox / By Jurgen A. Doornik and Marius Ooms


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.