I have a time series that shows a nonstationary seasonal autoregressive component as well as known heteroshedasticity. In order to model the series, I have fit a seasonal ARIMA model for the mean with the auto.arima model in the forecast package in R and a GARCH model on the residuals of the ARIMA model.

Is the procedure of sequentially estimating ARIMA and GARCH model correct or would it have been better to jointly model the mean and the variance of the series? If this were correct, is there a (possibly R) function to do it?


1 Answer 1


Doing joint estimation is the preferred way. If you do estimation in two stages, a logical inconsistency arises. In the first stage of seasonal ARIMA estimation there is an effective assumption of conditional homoskedasticity. It is contradicted in the second stage when you explicitly model conditional heteroskedasticity using a GARCH model.

If you have no MA terms in the ARIMA model, you will still get consistent parameter estimates even when neglecting GARCH errors, but these estimates will be inefficient. If you do have MA terms in the ARIMA model, the estimates of the parameters in the ARIMA model will not even be consistent.

Functions ugarchspec and ugarchfit in package rugarch (see here for a vignette) allow specifying and estimating ARMA+GARCH models simultaneously for a variety of GARCH model classes. Unfortunately, seasonal ARMA models do not seem to be implemented there. Perhaps you could try seasonally adjusting your series before fitting an ARMA+GARCH model (although this would be suboptimal if the "true" model is seasonal ARIMA with conditionally heteroskedastic errors).

  • $\begingroup$ So the two tools I am aware of for estimating ARIMA+GARCH is: ugarchspec function in rugarch package and the garchFit function in the fGarch package. It seems like both require you to know the order of the ARMA(p,q) and GARCH(p,q) before you run the function. Is there a way to figure out the order of both the ARMA and GARCH parts or is the best way just trial and error until you get the lowest AIC. Also it seems like in practice, GARCH(1,1) models are most commonly used - so using GARCH(1,1) would probably be a good starting point? $\endgroup$ Commented May 4, 2018 at 19:31
  • $\begingroup$ And then for the ARMA part, I could use something like auto.arima() or just examine ACF/PACF plots? $\endgroup$ Commented May 4, 2018 at 19:38
  • $\begingroup$ @user6472523, trial and error is a possibility. auto.arima is another one, just be aware that auto.arima will work better under no conditional heteroskedasticity since it was not designed to handle ARMA-GARCH processes. But it might work nevertheless. Yes, GARCH(1,1) could be a good starting point for the conditional variance part. $\endgroup$ Commented May 4, 2018 at 19:40
  • 1
    $\begingroup$ @RichardHardy I am curious about this point on (in)consistent estimates with first specifying the mean model and then Garch. Could you point me in the way of some literature to explain? Thank! $\endgroup$
    – Mike Haye
    Commented Dec 11, 2018 at 9:00
  • $\begingroup$ @MikeHaye, good question. I cannot and I would love to see some relevant literature myself. My claim is based on the fact that I have not seen a proof that establishes consistency under the conditions discussed in the original post, and my gut feeling tells me consistency is problematic here. $\endgroup$ Commented Dec 11, 2018 at 9:26

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.