Choosing Residuals for Ljung–Box Diagnostics After GARCH Models
Summary
The document asks whether Ljung–Box tests applied after fitting GARCH or EGARCH models should use raw residuals, standardized residuals, or squared residuals. The questioner reports that an R model summary provides some diagnostics automatically, while a separate test on squared residuals gives different results depending on standardization. The accepted response argues that the changed results suggest the test is using the supplied values directly, rather than standardizing them internally.
That response is only a tentative inference from the reported difference, not a general rule for model diagnostics. The Ljung–Box test assesses autocorrelation in the series it receives; it does not inherently choose or standardize model residuals. For conditional-variance models, practitioners commonly inspect standardized residuals for remaining serial dependence and their squares for remaining volatility clustering, with degrees-of-freedom adjustments depending on the diagnostic setup. The document gives no model output or authoritative R function documentation, so it raises a useful diagnostic question but does not establish which residual transformation is appropriate in every case.
Key ideas
- The question reports different Ljung–Box results for standardized and unstandardized squared model residuals.
- The accepted response infers that the test processes the input values without automatic standardization.
- The Ljung–Box statistic tests the series supplied to it and does not inherently select residuals.
- Standardized residuals and their squares can be used to examine different forms of remaining dependence after volatility modeling.
Tags
Full text
# Residuals in the Ljung box test # Residuals in the Ljung box test does anybody know what type of residuals is used in the Ljung box test in R? raw or standardized? Because basically when I fit a GARCH model using garchFit, the summary() function gives me all the Ljung box test results. But when I use ugarch to fit an EGARCH model, then the results don't come up. SO I try to use Box.test((residuals(eGARCH,standardize=T))^2,lag=5,type="Ljung-Box",fitdf=2) but I get very different results whether I use standardize or not. Box.test((residuals(gjrGARCH1,standardize=T))^2,lag=5,type="Ljung-Box",fitdf=2) Thank you ## Answer by Stefan Voigt (score 1, accepted) https://quant.stackexchange.com/a/18183 So you are asking whether the function Box.test requires standardized or raw residuals as input? I do not know this function but as you mention that the results change based on your input it should be such that the function requires standardized values. In case a standardization is implemented directly the output should not differ because you either plug-in values that are (i) standardized (then nothing changes by standardization) or values that are (ii) not standardized (then they get standardized and the same variables are processed as in (i)).
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.