GARCH(1,1) model, why?

Course Name: Options Volatility Trading: Concepts and Strategies, Section No: 16, Unit No: 9, Unit type: Video

How do we select the parameters p and q of the GARCH Model? I see consistently use of the GARCH(1,1), but how can we perform another GARCH with other parameters p and q and assess the acuracy?

Thanks

Hello Jorge,

The GARCH(1,1) model was used in this course for forecasting volatility. The notation GARCH(p, q) refers to a specific type of GARCH model, where "p" is the order of the autoregressive part and "q" is the order of the moving average part.



For a GARCH(1,1) model, it means that there is one lag in the autoregressive part (p=1) and one lag in the moving average part (q=1). The equation of GARCH(1,1) was given in the course and the equation changes when the order of GARCH changes.



The choice of p and q depends on the specific characteristics of the time series you are analyzing. It's often recommended to explore different combinations, perform model diagnostics, and use criteria such as AIC or BIC to select the model that best balances goodness of fit and model complexity. 



For example, higher-order GARCH models (e.g., GARCH(3,2), GARCH(2,3)) include more autoregressive and moving average terms, providing even greater flexibility in capturing complex volatility patterns.

Keep in mind that a more complex model may not necessarily be better, and overfitting should be avoided. Experimenting with different specifications and assessing their out-of-sample forecasting performance is a good practice.



The equations for different GARCH models are derived based on the order of the autoregressive (AR) and moving average (MA) components in the model. The general form of a GARCH(p, q) model is as follows:

σt^2 = ω + ∑{i=1}^{p} αi ε{t-i}^2 + ∑_{j=1}^{q} βj σ{t-j}^2



The specific equations for GARCH(1,1) are as follows:

σ_t^2 = ω + α1 ε{t-1}^2 + β1 σ{t-1}^2





To derive the equations for other GARCH models, you need to adjust the orders of 

p and q accordingly.



For example:



GARCH(0,1):

σ_t^2 = ω + β1 σ{t-1}^2





GARCH(1,0):

σ_t^2 = ω + α1 ε{t-1}^2

 



GARCH(2,1):

σ_t^2 = ω + α1 ε{t-1}^2 + α2 ε{t-2}^2 + β1 σ{t-1}^2​

 



And so on. You can derive the equations for other GARCH models by adjusting the number of terms in the autoregressive and moving average components based on the specified orders p and q.



Keep in mind that higher-order GARCH models include more terms in both the autoregressive and moving average components, allowing for more flexibility in capturing volatility patterns. However, selecting the appropriate order involves a trade-off between model complexity and goodness of fit, and it's often determined through model selection techniques and diagnostic checks.



I hope this helps!

 

Many thanks for your response Varun. It is quite illustrative. 



Is there any built-in pythong packages to model GARCH with different autoregressive and moving average parts? To test it quickly.

How can I calculate AIC and BIC for parameter selection? 



Thanks in advance

Hello Jorge, 



Yes, there are Python packages that include built-in functionality for modelling GARCH with different autoregressive and moving average parts.

One popular package is 'arch'.

Once the 'arch' package is installed (!pip install arch), you can import arch_model (import arch from arch import arch_model) and specify the GARCH model with p, q parameters and returns data. (model = arch_model(returns, vol='Garch', p=1, q=1)). 



Once the model is fit (results = model.fit()), you can extract AIC and BIC values of the model.  (aic = results.aic  bic = results.bic)



Feel free to experiment with different GARCH specifications, and use AIC and BIC to compare the models and select the one that strikes a balance between goodness of fit and model complexity. Lower AIC and BIC values generally indicate better-fitting models, but it's essential to consider the trade-off with model complexity



I hope this helps!