[R-SIG-Finance] rugarch - estimation problem with an external regressor in the GARCH(1, 1) model

Harald Weiss Harry.Weiss at web.de
Fri Mar 1 13:35:41 CET 2013


Hi R-users,
I'm estimating an extended GACH(1,1) model (solver is "nlminb") where 
realized volatility is added to the variance equation as an explanatory 
variable. Since the estimated coefficient of realized volatility was 
very small, I divided it by 1,000, 10,000, and so on. While realized 
volatility was still significant when I divided it by 1,000, the 
variable gets insignificant if I divide by 100,000. Using the solver 
"nloptr" I receive similar results. To my knowledge this should 
(normally) not happen. If I use the solver "solnp" realized volatility 
is not significant. However, many studies found that realized volatility 
is significant when added to the variance equation. My question is how 
can I explain this result. Is this due to an instability of the 
algorithm or perhaps the accuracy of the calculation in R?
Than you very much for helping me,
Harald

My code is:

library(rugarch)
rm(list=ls())

DATA <- read.table("20130121_rdax-Lrvar_1month.csv",header=FALSE,sep=";")
RDAX <- DATA[2:2035,1]
RVAR <- DATA[2:2035,4]
D <- matrix(RDAX)
B <- matrix(RVAR)
RDAXtmp <- D[1:2034,1]
RVARtmp1 <- matrix(B[1:2034,1])

#1. model estimation based on original data
gspec.ru <- ugarchspec(variance.model=list(model="sGARCH", 
garchOrder=c(1,1), external.regressors=RVARtmp1),
mean.model=list(arfima=FALSE, armaOrder=c(0,0), include.mean=TRUE), 
distribution="ged")
gfit <- ugarchfit(gspec.ru, RDAXtmp, solver="nlminb", fit.control = 
list(stationarity = 1))

#2. model estimation based on adjusted volatility
RVARtmp2 <- RVARtmp1/1000
gspec.ru2 <- ugarchspec(variance.model=list(model="sGARCH", 
garchOrder=c(1,1), external.regressors=RVARtmp2),
mean.model=list(arfima=FALSE, armaOrder=c(0,0), include.mean=TRUE), 
distribution="ged")
gfit2 <- ugarchfit(gspec.ru2, RDAXtmp, solver="nlminb", fit.control = 
list(stationarity = 1))

#3. model estimation based on adjusted volatility
RVARtmp3 <- RVARtmp1/10000
gspec.ru3 <- ugarchspec(variance.model=list(model="sGARCH", 
garchOrder=c(1,1), external.regressors=RVARtmp3),
mean.model=list(arfima=FALSE, armaOrder=c(0,0), include.mean=TRUE), 
distribution="ged")
gfit3 <- ugarchfit(gspec.ru3, RDAXtmp, solver="nlminb", fit.control = 
list(stationarity = 1))


#4. model estimation based on adjusted volatility
RVARtmp4 <- RVARtmp1/100000
gspec.ru4 <- ugarchspec(variance.model=list(model="sGARCH", 
garchOrder=c(1,1), external.regressors=RVARtmp4),
mean.model=list(arfima=FALSE, armaOrder=c(0,0), include.mean=TRUE), 
distribution="ged")
gfit4 <- ugarchfit(gspec.ru4, RDAXtmp, solver="nlminb", fit.control = 
list(stationarity = 1))
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 20130121_rdax-Lrvar_1month.csv
Type: application/vnd.ms-excel
Size: 91633 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/r-sig-finance/attachments/20130301/ba33b4aa/attachment.xlb>


More information about the R-SIG-Finance mailing list