I am trying to model and forecast the volatility of stock returns and I am not sure if what I am doing is correct. My issue is mostly with GARCH and its application. If I want to model the volatility of stock return, would fitting a GARCH to it be an appropriate method? I realize the model isn't going to be great, but this is mostly practice, if you will.
Furthemore, if I would fit a GARCH on stockreturns, say if I have a GARCH(2,1), then would the regression on my (y)t look like:
NOTE: t and t-1 represent time period. a, b and d are coefficients c is a constant.
(y)t = c + a*(σ^2)t + (e)t
(y)t = c + (e)t
? If its the latter, then how does GARCH enter into the regression?
While the (σ^2)t formula would be:
(σ^2)t = c + a*(e^2)t-1 + b*(e^2)t-2 + d*(σ^2)t-1
Assuming I am correct about fitting a GARCH into the stock returns, then to model the volatility of the stock I could use the following command:
garchFit(formula = ~garch(2,1), data = StockReturns$DowJonesReturns)
And then I choose the lags based on the the AIC, which can be obtained by using summary() on the code above. Is this valid, or is there a better method for choosing GARCH lags?
Title: GARCH Modelling Call: garchFit(formula = ~garch(2, 1), data = StockReturns$DowJonesReturns) Mean and Variance Equation: data ~ garch(2, 1) <environment: 0x1461eef8> [data = StockReturns$DowJonesReturns] Conditional Distribution: norm Coefficient(s): mu omega alpha1 alpha2 beta1 0.066543 0.030719 0.062670 0.086457 0.824586 Std. Errors: based on Hessian Error Analysis: Estimate Std. Error t value Pr(>|t|) mu 0.066543 0.015325 4.342 1.41e-05 *** omega 0.030719 0.005464 5.622 1.88e-08 *** alpha1 0.062670 0.021139 2.965 0.003031 ** alpha2 0.086457 0.026001 3.325 0.000884 *** beta1 0.824586 0.017826 46.257 < 2e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Log Likelihood: -3405.385 normalized: -1.339648 Description: Sat May 13 20:16:02 2017 by user: Standardised Residuals Tests: Statistic p-Value Jarque-Bera Test R Chi^2 207.7602 0 Shapiro-Wilk Test R W 0.9849516 9.114147e-16 Ljung-Box Test R Q(10) 21.76658 0.01633891 Ljung-Box Test R Q(15) 30.04193 0.0117712 Ljung-Box Test R Q(20) 32.01694 0.04311811 Ljung-Box Test R^2 Q(10) 6.949068 0.7302444 Ljung-Box Test R^2 Q(15) 11.35256 0.7272252 Ljung-Box Test R^2 Q(20) 17.23784 0.6374799 LM Arch Test R TR^2 6.966663 0.8598087 Information Criterion Statistics: AIC BIC SIC HQIC 2.683230 2.694718 2.683222 2.687397
Finally, looking at the final output, I'm not completely sure what it is I've actually done, mainly due to my lack of understanding of how garch enters the equation in the first place. I would presume
beta are coefficients for (e^2)t-1 and (σ^2)t-1 correct? and
omega are constants? Are these coefficients for the y(t) or something else?