My research is forecasting petrol demand. I want to fit a GARCH model. I am using a sample of 260 weekly observations. My data set has only one variable.
- Is there a method to find the optimal lag for the GARCH model?
Edit: I used "fGarch" package in R to fit a GARCH(1,1) model. Here is the output:
> summary(fit)
Title:
GARCH Modelling
Call:
garchFit(formula = ~garch(1, 1), data = OriData)
Mean and Variance Equation:
data ~ garch(1, 1)
<environment: 0x000000002202df90>
[data = OriData]
Conditional Distribution:
norm
Coefficient(s):
mu omega alpha1 beta1
477.60999 2827.32970 0.48594 0.42162
Std. Errors:
based on Hessian
Error Analysis:
Estimate Std. Error t value Pr(>|t|)
mu 477.6100 10.4644 45.641 <2e-16 ***
omega 2827.3297 1455.8710 1.942 0.0521 .
alpha1 0.4859 0.1805 2.692 0.0071 **
beta1 0.4216 0.1950 2.162 0.0306 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Log Likelihood:
-1651.535 normalized: -6.352057
Description:
Mon Oct 05 14:30:13 2015 by user: DELL
Standardised Residuals Tests:
Statistic p-Value
Jarque-Bera Test R Chi^2 0.1384022 0.933139
Shapiro-Wilk Test R W 0.965667 7.004156e-06
Ljung-Box Test R Q(10) 522.7621 0
Ljung-Box Test R Q(15) 586.3901 0
Ljung-Box Test R Q(20) 614.9063 0
Ljung-Box Test R^2 Q(10) 3.697788 0.9599522
Ljung-Box Test R^2 Q(15) 5.138439 0.990888
Ljung-Box Test R^2 Q(20) 7.750981 0.9933912
LM Arch Test R TR^2 4.631041 0.9691821
Information Criterion Statistics:
AIC BIC SIC HQIC
12.73488 12.78966 12.73442 12.75690
> one=residuals(fit, standardize = FALSE)
> Box.test(one,lag=1)
Box-Pierce test
data: one
X-squared = 180.1844, df = 1, p-value < 2.2e-16
All coefficients are significant. $p$-values of Jarque-Bera test and ARCH-LM test are greater than 0.05.
- Can I use this as a good model?
- How can I test normality of residuals?