AR(2) process: are leptokurtic residuals OK?

I have a time series of logarithmic returns. After inspection of the ACF and PACF plots, I tried to fit AR(2), MA(2) and ARMA(1,1) models and eventually found out that the AR(2) version can possibly fit best.

The AR(2) model has no constant, no trend, no seasonality features and is stationary. So a very basic one.

However, when I checked for i.i.d.-ness of the residuals I discovered that, even though they're almost perfectly symmetric and serially uncorrelated, they still show some leptokurtosis.

My questions are:

• Can I tolerate the presence of such a leptokurtosis? Or should I proceed to modeling the squared errors with some ARCH-GARCH process?
• In the case I effectively should, can anyone provide me with a link for a guide on how to carry out combined ARIMA+GARCH analyses in R? I've already browsed for it for days but found nothing enlightening.

See the thread "What are the assumptions of ARIMA/Box-Jenkins modeling for forecasting time series?": in general, the error process only needs to be homoskedastic over time.

If the model was fitted with a Gaussian likelihood, you do need to assume normal residuals to conduct parametric inference, as mentioned in the thread "Does ARIMA require normally distributed errors or normally distributed input data?".

It's been a while since I've studied ARIMA in detail, but I suspect that heavy-tailed residuals will cause the same kinds of inference problems for ARIMA that they cause for other regression models that assume normality.

Since you don't say anything about heteroskedasticity, I'm assuming you don't have any. In that case, there's not much GARCH will do for you. GARCH models the change in variance over time, but there's no change to model.

As for modeling in R, "analysis" is a broad word. If you mean that you want to generate predictions, note that adding a GARCH model on top of your ARIMA model (i.e. two-stage estimation) won't change your forecasts; but if you want to, say, generate confidence bands around your prediction, you can use the GARCH predictions as the standard errors.

As pointed out in the comments, fitting both models simultaneously is better than fitting one and then the other. I haven't done this personaly with R, but there is a package called rugarch might have this functionality. There's a writeup at the author's blog.

• Adding a GARCH model on top of ARIMA will change forecasts of the conditional mean because it will change the coefficients in the ARIMA model, unless the estimation is done in two stages (first ARIMA, then GARCH on the residuals from ARIMA); but of course, simultaneous estimation is preferred. – Richard Hardy Jun 25 '16 at 17:28
• @RichardHardy good point. I had two-step estimation in mind – shadowtalker Jun 25 '16 at 18:25