[R-SIG-Finance] "ugarchspec" question on GJR-GARCH model specification

alexios ghalanos alexios at 4dscape.com
Mon Aug 11 16:05:14 CEST 2014


The specifications you use are correct and the models are already
detailed in the rugarch vignette. However, you need to read the original
paper by Ding, Granger and Engle (particularly Appendix A) which shows
the parameter 'transformations' required for equivalence.
The paper ("A long memory property of stock market returns and a new
model") can be found by a search of the title in google scholar.

For convenience, and to put this to issue to rest, the APARCH model's
coefficients for the normal and negative shocks (call them alpha[aparch]
and gamma[aparch]) can be transformed to those of the GJR model (call
them alpha[gjr] and gamma[gjr]) as follows:

alpha[gjr] = alpha[aparch]*(1-gamma[aparch])^2
gamma[gjr] = 4*alpha[aparch]*gamma[aparch]

>From your examples:
alpha[aparch] = 0.104681
gamma[aparch] = 0.223600

alpha[gjr] = 0.063089
gamma[gjr] = 0.093631

alpha[gjr] = 0.104681*(1-0.223640)^2 = 0.06309489
gamma[gjr] = 4*0.104681*0.223640 = 0.09364344

I would say close enough.

-Alexios


On 11/08/2014 13:11, Gareth McEwan wrote:
> Hi there
> 
> I'd like to ask for help regarding the correct way to write an
> ARMA(0,0)-GJR-GARCH(1,1) model from "ugarchspec/ugarchfit" output.
> 
> To make the question reproduceable, I am using Tsay's lecture:
> http://faculty.chicagobooth.edu/ruey.tsay/teaching/bs41202/sp2011/lec5-11.pdf
> and accompanying data:
> http://faculty.chicagobooth.edu/ruey.tsay/teaching/bs41202/sp2011/m-ibm2609.txt
> 
> Reading in and transforming the data:
> 
> library(fGarch)
> library(rugarch)
> 
> da=read.table("C:/Users/Gareth/Desktop/Masters/Code/RCode/Tsay
> workings/m-ibm2609.txt",header=T,sep="",row.names=1)
> ibmlog=log(da$ibm+1)
> 
> 1. The initial (and logical) attempt is as follows:
> 
> gjrgarch.spec5<-ugarchspec(variance.model=list(model="gjrGARCH",garchOrder=c(1,1)),
>                            mean.model=list(armaOrder=c(0,0),include.mean=T,
>                            archm=F,arfima=F),distribution.model="std")
> mod.fit.gjrgarch5<-ugarchfit(spec=gjrgarch.spec5,data=ibmlog)
> show(mod.fit.gjrgarch5)
> 
> Output:
>                Estimate  Std. Error  t value Pr(>|t|)
> mu         0.012048    0.001872   6.4374 0.000000
> omega    0.000399    0.000146   2.7386 0.006170
> alpha1    0.063089    0.027832   2.2668 0.023406
> beta1      0.807147    0.048368  16.6875 0.000000
> gamma1  0.093631    0.049654   1.8857 0.059338
> shape      6.672720    1.327638   5.0260 0.000001
> 
> Is this the output to use in writing up a GJR-GARCH(1,1) model, with
> Student t-distr. residuals?
> 
> 2. The second attempt follows (per information in the"ugarchspec" vignette):
> 
> gjrgch.spec5<-ugarchspec(variance.model=list(model="fGARCH",garchOrder=c(1,1),
> 
> submodel="GJRGARCH"),mean.model=list(armaOrder=c(0,0),include.mean=T,
>                 archm=F,arfima=F),distribution.model="std")
> mod.fit.gjrgch5<-ugarchfit(spec=gjrgch.spec5,data=ibmlog)
> show(mod.fit.gjrgch5)
> 
> This 2nd attempt output, below, matches Tsay's notes (p.9), but specifies
> an APARCH model format (per Tsay's notes, p.5):
>              Estimate  Std. Error  t value Pr(>|t|)
> mu        0.012048    0.001872   6.4377 0.000000
> omega   0.000399    0.000146   2.7384 0.006173
> alpha1   0.104681    0.027973   3.7422 0.000182
> beta1    0.807113    0.048381  16.6824 0.000000
> eta11    0.223600    0.115947   1.9285 0.053796
> shape   6.672451    1.327378   5.0268 0.000000
> 
> So, according to Tsay, the output here allows me to write up an APARCH
> model, although I specify the submodel="GJRGARCH".
> My goal is to use estimates in GJR-GARCH model format.
> 
> 3. Tsay's actual code that gets almost the identical output as (2) above is:
> 
> m5=garchFit(~aparch(1,1),data=ibmlog,trace=F,delta=2,leverage=T,include.delta=F,cond.dist="std")
> summary(m5)
> 
>         mu       omega         alpha1         gamma1       beta1
> shape
> 0.01204765  0.00039898  0.10467694  0.22366008  0.80711061  6.67328733
> 
> 
> Does the output from (1) correctly specify the GJR-GARCH model estimates
> (p.5 in Tsay's notes), in the context of this example?
> i.e. can I put the estimates from (1) into the GJR-GARCH model format?
> 
> Many thanks
> Gareth McEwan
> 
> 
> NOTE: the APARCH model specifies the GJR-GARCH when "delta=2" (and, I
> assume, when "leverage=T"). I am just not sure how to use these estimates
> when writing out the GJR-GARCH model.
> 
> 	[[alternative HTML version deleted]]
> 
> _______________________________________________
> R-SIG-Finance at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
> -- Subscriber-posting only. If you want to post, subscribe first.
> -- Also note that this is not the r-help list where general R questions should go.
> 
>



More information about the R-SIG-Finance mailing list