3.2 Asymmetric GARCH models

  • Unlike standard GARCH or GARCH–in–Mean (GARCH–M) model, asymmetric GARCH models account for the asymmetry, also known as the leverage effect

The leverage effect implies the following:

Negative news in the capital market decreases stock prices, which in turn increases a company’s leverage in the short–run (the debt–to–equity ratio), leading to higher volatility of the observed stock

  • Common asymmetric GARCH models are: EGARCH model (Exponential GARCH), GJR–GARCH model (Glosten–Jagannathan–Runkle GARCH) and APARCH model (asymmetric power ARCH). For simplicity asymmetric GARCH(1,1) models (p=q=1) are presented in Table 3.2
TABLE 3.2: Asymmetric GARCH models specification within rugarch package
Model Equation Specification Asymmetry
EGARCH(1,1) ln(σ2t)=ω+α1(|ut1|+γ1ut1σt1)+β1ln(σ2t1) model="eGARCH" γ1<0
GJR-GARCH(1,1) σ2t=ω+α1u2t1+λ1It1u2t1+β1σ2t1 model="gjrGARCH" λ1>0
APARCH(1,1,δ) σδt=ω+α1(|ut1|+γ1ut1)δ+β1σ2t1 model="apARCH" γ1>0
  • Advantage of EGARCH model is that the conditional variance is modeled in the logarithmic scale, which ensures that the estimated volatility is always non–negative regardless of the values of the coefficients, while γ1 captures the asymmetry size and α1 captures the sign effect (if α1>0 then previous shocks – positive or negative –tend to increase current volatility, and if γ1<0 then the negative shocks increase volatility more than positive shocks of the same magnitude)

  • In GJR–GARCH model It1 is indicator function that equals 1 if shock is negative (ut1<0) and zero otherwise (ut10), thus the sum α1+λ1 represents the influence of yesterday bad news on today volatility, while λ1 is the good news influence (therefore it is expected that λ1>0 and statistically significant)

  • APARCH model enables a Box–Cox transformation of conditional variance, i.e. the power parameter δ determines the degree of nonlinearity, and accounts for leverage effect (parameter γ1), so it is convenient for various submodels specification (when the power δ=2 it reduces to GJR–GARCH model, when the power δ=2 and asymmetry γ1=0 it reduces to standard GARCH model, when the power δ=1 it reduces to Threshold GARCH model – TGARCH, etc.)

  • For every asymmetric GARCH type model, a news impact curve can be plotted (it is usually U shaped and centered around zero, but steeper on the left side, meaning that negative shocks lead to a larger increase in volatility)

  • Regardless of the conditional variance specification within asymmetric GARCH type models, it is necessary to assume a particular theoretical distribution of innovations in order to apply the MLE method

Example 11. Using Tesla returns estimate EGARCH(1,1) model considering skewed t–distribution while keeping degrees of freedom fixed to 5 by setting argumentfixed.pars=list(shape=5). Do the same for GJR–GARCH(1,1) model and APARCH(1,1) model. changing theoretical distribution of innovations. Specify model.spec3 to account for standard t–distribution (argument distribution.model=“std”) and model.spec3 to account for skewed t–distribution (argument distribution.model=“sstd”). Afterwards, specification of the models estimate them as separate objects egarch, gjrgarch and aparch using garchfit() command. Display the results of estimated models in a single table within modelsummary() command.
Solution Copy the code lines below to the clipboard, paste them into an R Script file, and run them.
Standard GARCH(1,1) model in this example has 1 parameter in the mean equation and 3 parameters in the variance equation, thus rt=0.000887+ut,          utσ2tN(0,1)σ2t=0.000035+0.033023u2t1+0.942876σ2t1 A persistence close to 1 (here α1+β1=0.9759) means that volatility shocks decay very slowly, i.e. volatility stays high or low for long periods. The long–run (unconditional) variance of returns is ˉσ2=ωα1+β1=0.00144, and therefore the long–run daily volatility is around 3.8%. It is evident that future volatilities at T+1, T+2, T+3, are converging to 0.00144.
# Two additional GARCH specifications with respect to theoretical distributioin of innovations
model.spec4 <- ugarchspec(mean.model = list(armaOrder = c(0,0), include.mean = TRUE, 
                                           external.regressors = NULL), 
                         variance.model = list(model = "eGARCH", garchOrder = c(1,1), # EGARCH specification
                                               submodel = NULL, external.regressors = NULL), # 
                         distribution.model = "sstd", # skewed t-distribution
                        fixed.pars=list(shape=5)) # fixing degrees of freedom 

model.spec5 <- ugarchspec(mean.model = list(armaOrder = c(0,0), include.mean = TRUE, 
                                           external.regressors = NULL), 
                         variance.model = list(model = "gjrGARCH", garchOrder = c(1,1), # GJR-GARCH specification
                                               submodel = NULL, external.regressors = NULL), # 
                         distribution.model = "sstd", # skewed t-distribution
                        fixed.pars=list(shape=5)) # fixing degrees of freedom 

model.spec6 <- ugarchspec(mean.model = list(armaOrder = c(0,0), include.mean = TRUE, 
                                           external.regressors = NULL), 
                         variance.model = list(model = "apARCH", garchOrder = c(1,1), # GJR-GARCH specification
                                               submodel = NULL, external.regressors = NULL), # 
                         distribution.model = "sstd", # skewed t-distribution
                        fixed.pars=list(shape=5)) # fixing degrees of freedom 

# ML estimation of new models
egarch <- ugarchfit(spec = model.spec4, data = returns)
gjrgarch <- ugarchfit(spec = model.spec5, data = returns)
aparch <- ugarchfit(spec = model.spec6, data = returns)

modelsummary(list("EARCH(1,1)"=egarch,
                  "GJR-GARCH(1,1)"=gjrgarch,
                  "APARCH(1,1,d)"=aparch),
             stars=TRUE,fmt=4)