I have used the 'rugarch' R package to fit a GARCH model, as:

model.garch = ugarchspec(mean.model=list(armaOrder=c(1,1)),variance.model=list(model = "sGARCH"),distribution.model = "norm")
ugarchfit(model.garch, data=my_data)

However, I am confused about the right interpretation of the Ljung-Box tests associated with my results. Specifically, this is what I have:

Weighted Ljung-Box Test on Standardized Residuals
                         statistic   p-value
Lag[1]                       1.304 2.535e-01
Lag[2*(p+q)+(p+q)-1][14]    10.501 3.392e-06
Lag[4*(p+q)+(p+q)-1][24]    17.820 3.235e-02
H0 : No serial correlation

Weighted Ljung-Box Test on Standardized Squared Residuals
                        statistic p-value
Lag[1]                     0.1355  0.7128
Lag[2*(p+q)+(p+q)-1][5]    0.3466  0.9786
Lag[4*(p+q)+(p+q)-1][9]    0.4837  0.9986

Weighted ARCH LM Tests
            Statistic Shape Scale P-Value
ARCH Lag[3]   0.00900 0.500 2.000  0.9244
ARCH Lag[5]   0.03188 1.440 1.667  0.9974
ARCH Lag[7]   0.14606 2.315 1.543  0.9985

Given that some of the p-values from the "Weighted Ljung-Box Test on Standardized Residuals" are significant (with the exemption of Lag[1]), should I conclude that my GARCH model failed to correct for the temporal auto-correlation in my data?

Perhaps more importantly, how those results influence the overall assessment of the model given that the p-values from the "Weighted Ljung-Box Test on Standardized Squared Residuals" and the "Weighted ARCH LM Tests" are NOT significant? Thank you in advance!


1 Answer 1


A GARCH model assumes the standardized errors (shocks, innovations) are i.i.d. with zero mean and unit variance. After having fit a GARCH model, it makes sense to test whether this is the case. Some common checks are to examine presence of autocorrelation and/or autoregressive conditional heteroskedasticity in the standardized errors; under the i.i.d. assumption, there should be none. If any is found, the model assumptions are violated, so the face value of the modeling results cannot be trusted.

Ljung-Box (LB) test on standardized residuals tests for autocorrelation in standardized errors, while LB test on standardized squared residuals and ARCH-LM test test for autoregressive conditional heteroskedasticity. Autocorrelation and autoregressive conditional heteroskedasticity are not the same. You can have one, the other or both in a time series. Hence, you should not be surprised if some tests find presence of one but not the other.

A problem with applying any of these tests to standardized (squared) residuals from a GARCH model is that the test statistics have nonstandard distributions under the null. (They have their standard null distributions when applied to raw data, but not when applied to residuals of a GARCH model.)* As far as I know, this is not accounted for in the rugarch package. Hence, you should take the test results with a grain of salt.

*There are papers and (I think) textbooks showing that ARCH-LM test should be substituted by Li-Mak test to have the correct distribution under the null if the mean of the process is modelled as a constant (not as ARMA as in your case). Similar corrections are needed for the LB tests. When the mean is not modelled as a constant, I am not sure whether there exists any test at all with a known null distribution. See my answer in the thread "Remaining heteroskedasticity even after GARCH estimation" for some references.


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.