[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