# ARMA GARCH estimation process in practice

I am trying to build an ARMA GARCH model and since I haven't found much information about the actual process I'll try it here.

So, what have I allready done?

I have tested my data for stationarity and consequently I have differenced it to make it stationary. I have then evaluated several ARIMA specifications and according to AIC,BIC and Q-test I have decided to use AR(1/3,5,6) model, which exhibits almost none autocorrelation among the residuals.

Then, I have checked for ARCH effects using the archlm test and indeed, there were some. Hence, I have examined autocorrelation among the squared residuals from my ARIMA model and there were some significant values (29% at first lag, 13% at the fourth).

Having confirmed the ARCH effect I have decided to include GARCH(1,1) to my previous model and there are two scenarios I have tried.

1. I have constrained the coefficients of the AR terms from the previous estimation to keep the mean-modelling intact as it seeme very promising among the others ARIMA specifications I tried. Although the residuals didn|t have anz signs of autocorrelation, the autocorrealtion of the squared residuals at the first lag decreased only about 0,5% which isn't much of a improvement, is it? Including further lags to the GARCH doesn't help either.
2. I have estimated then new model unconstrained and again only very small improvement and moreover the autocorrelation of the residuals (not squared), which was previously diminished by the AR terms, appears again.

To conclude I am able to identify and fit the ARMA, but I am not able to fit the GARCH. Am I doing it wrong?

PS. One thing which confuses me a bit and which I was not able to find is whether to determine the ARMA model and then use the GARCH model wit appropriate ARMA terms or if I should estimate the ARMA using my dependent variable, then take the residuals of the estimation and use them as dependent variable for the garch modelling?

As @Dan requested here are the plots

My time series

ACF of the time series

ACF of the residuals after the ARMA estimation

ACF of the squared residuals

ACF of residuals after ARMA(6,0) -GARCH(1,1) estimation

and the squared values

• Why did you decide upon a GARCH(1,1)? What is the estimated value of $\alpha+\beta<1$? Could you post your data here? – Plissken Mar 26 '15 at 12:15
• Because there were very high both AC and PAC on the first lag of squared residuals. And the value is approximately 0,99 which is high I know but it doesn't violate the stationarity condition, does it? – m3d1v0 Mar 26 '15 at 12:20
• It seems like you have an IGARCH where the unconditional mean of the process is "blown" up and is ill-defined. Variance targeting could be an option but you could also try to fit a long memory model such as the fractionally integrated GARCH (FIGARCH). – Plissken Mar 26 '15 at 12:50
• Divide each residual with its corresponding standard deviation i.e. r(t)/s(t). Then run the ACF. – Cagdas Ozgenc Mar 27 '15 at 19:01
• Residuals contain the time-varying variance as a multiplicative factor. If you don't divide them by square-root of estimated variance their squares remain autocorrelated (by definition of GARCH). ARMA part takes care of only the mean. The residual autocorrelation in the first lag, I presume is due to ARMA(6,0), which is probably wrong. If the signal is some stock price then ARMA(1,1)-GARCH(1,1) or ARMA(0,1)-GARCH(1,1) will do better according to my experience. – Cagdas Ozgenc Mar 27 '15 at 21:46

I suggest you should determine both the ARMA and the GARCH parts simultaneously. If you determine the ARMA part first by temporarily ignoring GARCH, this will lead to inconsistent ARMA parameter estimates (unless the MA part is missing) and probably suboptimal selection of autoregressive and moving average lag orders -- because ACF and PACF confidence bounds will be invalid given the neglected GARCH-type residuals. Also, the Ljung-Box test will not have the regular null distribution under GARCH-type residuals, thus you cannot rely on it for testing how well the ARMA model captures the patterns in the data.

These issues have been discussed in earlier posts here, here and to some extent also here.