[R-SIG-Finance] RUGARCH rolling forecast using external regressors
stoyan.stoyanov
s.n.stoyanov at gmail.com
Fri Jun 22 16:02:48 CEST 2012
Hi there,
First of all, thanks for an amazing package! This is cutting edge and it
really does wonders.
*3 questions:*
1. I am using the rugarch package to fit a TARCH model to high frequency
single stock returns data (2000 obs in the example below), and forecast
conditional variance. Everything works fine until the moment when I try to
do a rolling forecast using external regressors. Examples of regressors I
have tried are implied volatility and an earnings event dummy variable. I
noticed that someone else on the forum had a similar issue and was wondering
whether there might be a glitch in the package or am I doing something
wrong…
Below are the relevant parts of the code, sample dataset and error message.
Hope someone can help!
2. I am not convinced whether the fact that my TARCH alpha, beta and eta
coefficients sum up to more than 1 means that I could get a non-stationary
process. I know that with GARCH the coefficients sum should be restricted to
<= 1 but am confused when it comes to the eta coefficient. (fit output at
the bottom)
3. What exactly does variance targeting do. (Feel free to ignore this
question)
Thank you in advance.
*#Code *
spec<-ugarchspec(variance.model = list(model = "fGARCH", garchOrder =
c(1,1),
submodel = "TGARCH", external.regressors =
regressors, variance.targeting = TRUE),
mean.model = list (armaOrder = c(1,1), include.mean = TRUE,
archm = FALSE,
archpow = 1, arfima = FALSE, external.regressors =
NULL, archex = FALSE),
distribution.model = "std", start.pars = list(), fixed.pars
= list())
fit<-ugarchfit(spec, data, out.sample = 0, solver = "solnp", solver.control
= list(),
fit.control = list(stationarity = 1, fixed.se = 0, scale =
0))
roll=ugarchroll(spec, data, n.ahead = 1, forecast.length = 200, refit.every
= 25,
refit.window = "moving", parallel = FALSE,
parallel.control = list(pkg = c("multicore", "snowfall"), cores =
2), solver = "solnp",
fit.control = list(), solver.control = list(), calculate.VaR =
TRUE,
VaR.alpha = c(0.01, 0.05))
*#Error message*
...estimating refit windows...
Done!...all converged.
Error in fmexdata[[i]] : subscript out of bounds
#Again, my suspicion is that the rolling forecast function messes up because
of the external regressors. It works perfectly fine without them...
*---------------------------------*
* GARCH Model Fit *
*---------------------------------*
Conditional Variance Dynamics
-----------------------------------
GARCH Model : fGARCH(1,1)
fGARCH Sub-Model : TGARCH
Mean Model : ARFIMA(1,0,1)
Distribution : std
Optimal Parameters
------------------------------------
Estimate Std. Error t value Pr(>|t|)
mu 0.000015 0.000002 7.59458 0.0000
ar1 0.183552 0.008229 22.30584 0.0000
ma1 -0.223085 0.008187 -27.24730 0.0000
alpha1 0.079457 0.003750 21.18601 0.0000
beta1 0.931504 0.003484 267.37350 0.0000
eta11 0.030469 0.005535 5.50526 0.0000
vxreg1 0.000000 0.000007 0.00226 0.9982
shape 6.453012 0.280138 23.03508 0.0000
omega 0.000002 NA NA NA
Robust Standard Errors:
Estimate Std. Error t value Pr(>|t|)
mu 0.000015 0.000003 4.317851 0.000016
ar1 0.183552 0.023880 7.686537 0.000000
ma1 -0.223085 0.023552 -9.472028 0.000000
alpha1 0.079457 0.005819 13.654150 0.000000
beta1 0.931504 0.005007 186.045420 0.000000
eta11 0.030469 0.003464 8.796946 0.000000
vxreg1 0.000000 0.000010 0.001628 0.998701
shape 6.453012 0.360340 17.908115 0.000000
omega 0.000002 NA NA NA
LogLikelihood : 127062.8
http://r.789695.n4.nabble.com/file/n4634210/regressors.csv regressors.csv
http://r.789695.n4.nabble.com/file/n4634210/data.csv data.csv
--
View this message in context: http://r.789695.n4.nabble.com/RUGARCH-rolling-forecast-using-external-regressors-tp4634210.html
Sent from the Rmetrics mailing list archive at Nabble.com.
More information about the R-SIG-Finance
mailing list