# Selecting between ARMA, GARCH and ARMA-GARCH models

I am following this tutorial (mirror) on ARIMA and GARCH modeling and I wanted to make sure I am interpreting the results correctly.

ARMA model:

> final.aic #-535902.3
[1] -535902.3
> final.order #3 0 0
[1] 3 0 0
> Box.test(resid(final.arma), lag=20, type="Ljung-Box") #X-squared = 26.275, df = 20, p-value = 0.1569

Box-Ljung test

data:  resid(final.arma)
X-squared = 26.275, df = 20, p-value = 0.1569


the $p$-value is greater than 0.05 and as such we CAN say that the residuals are a realisation of discrete white noise. Hence the autocorrelation in the residuals that is explained by the fitted ARMA model.

GARCH model:

Box.test(resid(ftfinal.arima)^2, lag=20, type="Ljung-Box") #p-value < 2.2e-16 so correlation present?


IF there is evidence of serial correlation in the squared residuals, conclude that conditional heteroskedasticity is present in the original series.

So my results seem to imply that:

1. the autocorrelation in the model is explained by ARMA(3,0,0).... Would a GARCH model even add anything then?;
2. there IS regular variability (heteroskedasticity) being explained by the GARCH model.

So if I use a model with ARMA+GARCH it will explain more variance (and therefore predict better) than the two models individually?

• I assume that by diff log returns you mean the original series on which you are fitting the ARMA model; I have edited your post accordingly. – Richard Hardy Sep 3 '16 at 8:46
• No problem, I am glad I could help. – Richard Hardy Sep 13 '16 at 19:28

the p-value is greater than 0.05 and as such we CAN say that the residuals are a realisation of discrete white noise.

Strictly speaking, no. Failure to reject a null hypothesis (here: absence of autocorrelation) does not imply we can accept it. Also, absence of autocorrelation does not imply white noise (although it holds the other way around).

Would a GARCH model even add anything then?

Yes, why not? ARMA and GARCH have different targets so they are compatible (one may use none, either or both). Take a look at What is the difference between GARCH and ARMA?.

So if I use a model with ARMA+GARCH it will explain more variance (and therefore predict better) than the two models individually?

First, there is a question how well you are able to estimate the models. Models estimated on a finite sample may or may not be close to the "true" models (where by "true" I mean the best possible approximation within the ARMA-GARCH class of models of the real data generating process (DGP)).

Second, ARMA alone would explain more variance in sample than ARMA-GARCH (just as OLS would explain more than feasible GLS, regardless of which is closer to the true model in population). GARCH would not explain any variance if you leave the conditional mean part empty (without ARMA). And if the ARMA-GARCH model approximates the true DGP better than a plain ARMA and plain GARCH, the out of sample performance of ARMA-GARCH will be better -- as long as you can estimate the model sufficiently well. (And since ARMA-GARCH is a richer model than plain ARMA and plain GARCH, you would normally not be able to estimate it as precisely as plain ARMA and plain GARCH on any given dataset.)

So the answer is not clear cut, unfortunately. But if you discover conditional heteroskedasticity in the residuals of an ARMA model, it certainly makes sense to try appending a GARCH specification to ARMA and seeing what happens.

• Slightly related question. Is there a website out there where I can upload cryptocurrency binary price data (like BTC prices in USD) and then plot ARIMA-GARCH projections? – Volomike Jul 4 '17 at 5:08
• @Volomike, sorry, I do not know the answer. – Richard Hardy Jul 4 '17 at 10:00
• @RichardHardy I am doing what you said above. Fitted an ARIMA to the stock returns and added garch effects. However, GARCH(1,1) is fine but the ARIMA is significan, non-invertible and non-stationary. Should I just remove the mean equation? – Alex Aug 2 '17 at 22:59
• @Alex, Probably you should try to address the reasons why you get a noninvertible and nonstationary result. Perhaps your series are integrated, then you could take their first differences and proceed from there. – Richard Hardy Aug 3 '17 at 5:37
• the series is already differenced and the ADF test indicates that is stationary. when I add the GARCH strigth to ARIMA I seem to have some problems. Also, if I fit an ARIMA save the residuals and then apply GARCH to the residuals do I have to specify the mean equation as "residuals ~ constant" in Eviews is a little bit different. I hope it is clear what I am saying. – Alex Aug 3 '17 at 14:31