# How Large a Difference Can Be Expected Between Standard GARCH and Asymmetric GARCH Volatility Forecasts?

I have been using various GARCH-based models to forecast volatility for various North American equities using historical daily data as inputs.

Asymmetric GARCH models are often cited as a modification of the basic GARCH model to account for the 'leverage effect' i.e. volatility tends to increase more after a negative return than a similarly sized positive return.

What kind of a difference would you expect to see between a standard GARCH and an asymmetric GARCH forecast for a broad-based equity index like the S&P 500 or the NASDAQ-100?

There is nothing particularly special about these two indices, but I think it is helpful to give something concrete to focus the discussion, as I am sure the effect would be different depending on the equities used.

• I don't think that using GARCH with asymmetric error distribution alone, makes it capable of modelling 'leverage effect', conditional variance equation should be properly modified, EGARCH is an example, interested reader could see, for description of collection of such models : e-archivo.uc3m.es/bitstream/handle/1001/1041/… – Qbik Jan 24 '15 at 22:44

Generally, by not allowing for assymetry, you expect the effect of shocks to last longers: i.e. the half-life increases (the half life is the number of units of time, after a 1 S.D. shock to $\epsilon_{t-1}$ for $\hat{\sigma}t|I{t-1}$ to come back to the its unconditional value.)

Here is a code snipped that downloads stock data, fits (e)Garch and computes half lifes, in R:

install.packages("rgarch",repos="http://R-Forge.R-project.org")
install.packages("fGarch")
install.packages("fImport")
library(rgarch)
library(fImport)
library(fGarch)
d1<-yahooSeries(symbols="ibm",nDaysBack=1000,frequency=c("daily"))[,4]
dprice1<-diff(log(as.numeric(d1[length(d1):1])))
spec1<-ugarchspec(variance.model=list(model="eGARCH",garchOrder=c(1,1)),mean.model=list(armaOrder=c(0,0),include.mean=T))
spec2<-ugarchspec(variance.model=list(model="fGARCH",submodel="GARCH",garchOrder=c(1,1)),mean.model=list(armaOrder=c(0,0),include.mean=T))
fit1<-ugarchfit(data=dprice1,spec=spec1)
fit2<-ugarchfit(data=dprice1,spec=spec2)
halflife(fit1)
halflife(fit2)


The reason for this is that generally speaking, negative spells tend to be more persistent. If you don't control for this, you will generally bias the $\beta$ (i.e. persistance parameters) downwards.

there is a significant difference and there a couple of published papers to that effect

1. Comparative Performance of Volatility Models for Oil Price

International Journal of Energy Economics and Policy Vol. 2, No. 3, 2012, pp.167-183 ISSN: 2146-4553 www.econjournals.com

and many more

• This is quite short and perhaps would better suit as a comment. – Richard Hardy May 18 '18 at 8:22