[R-SIG-Finance] Computational Time using rugarch package
Ivanov Ruporvrich
ivanovruporvrich at yahoo.com
Mon Jun 10 18:18:30 CEST 2013
Thanks a lot for your answer,
I tried your code and run it for 7 hours, but it did not completely suceed:
First of all, I got different warning messages which say:
27: In .makefitmodel(garchmodel = "fGARCH", f = .fgarchLLH, ... :
rugarch-->warning: failed to invert hessian
Two warning messages say:
28: In nlminb(start = pars, objective = fun, gradient = gr, ... :
unrecognized control elements named ‘tol’ ignored
One further message says:
30: In .rollfdensity(spec = spec, data = data, n.ahead = n.ahead, ... :
non-converged estimation windows present...resubsmit object with different solver parameters...
If I want to look at the output via the show() command, I get the message:
Object contains non-converged estimation windows. Use resume method to re-estimate.
So my question now is: How can I reestimate just the windows which did not converge? So how do I have to apply the resume method in this case?
From your excellent short "a-short-introduction-to-the-rugarch-package" of the unstarched homepage it says:
"A key feature of this method is the existence of a rescue method called resume which allows the resumption of the estimation when there are
non-converged windows, by submitting the resulting object into resume
with the option of using a different solver, control parameters etc.
This process can be continued until all windows converge, thus not
wasting time and resources by having to resubmit the whole problem from
scratch."
But I don't know how to code this in my case? So what options do I have to take and what code should I run?
Thanks a lot again for your help,
Ivanov
________________________________
Von: alexios ghalanos <alexios at 4dscape.com>
An: Ivanov Ruporvrich <ivanovruporvrich at yahoo.com>
CC: "r-sig-finance at r-project.org" <r-sig-finance at r-project.org>; alexios at 4dscape.com
Gesendet: 9:12 Montag, 10.Juni 2013
Betreff: Re: [R-SIG-Finance] Computational Time using rugarch package
You say that you are aware that more observations would be better to get more consistent estimates, yet you
use a moving window of size 262 on a highly non-linear variant of
GARCH (NAGARCH) with a non-normal distribution,
and you wonder WHY you have difficulty in estimating the model?
This issue of dataset size has been extensively covered in this
forum in the past (and very recently in fact), and in the
FAQ of the vignette where suggestions are also made about the use
of the scaling option, setting
solver parameters or using alternative solvers.
-Alexios
Try:
rollmodel = ugarchroll(garchspecification, mydata, n.start=262,
refit.every = 1, refit.window = 'moving',
window.size = 262,
calculate.VaR = TRUE, keep.coef = TRUE,
solver.control=list(tol=1e-6, trace=1), fit.control=list(scale=1))
On 06/10/2013 08:44 AM, Ivanov Ruporvrich wrote:
Hi,
I am using the rugarch package in R and I have a certain model, which I want to reestimate on a daily basis using ugarchroll. I am aware of the fact, that my problem is caused by the reason, that I do the reestimation daily, but since I really need the daily reestimation I cannot change this parameter (change to an higher number). My problem is, that reestimation on a daily basis takes a lot of time. I ran my pc for 7 hours but I did not get a result, when I pressed ESC I got 4 or 5 warning messages that the hessian could not be inverted. So my main question is: Is there any chance to get this estimation running? Maybe change the solver or something like that? I do not have a problem with running R for like 6 hours or so, at least if I get a result afterwards. My R code is: (I use 262 observations for each window, I am aware of the fact, that
more observations would be better in order to get more consistent
estimates.) library(rugarch) garchspecification<-ugarchspec(variance.model = list(model="fGARCH",submodel="NAGARCH", garchOrder = c(1, 1)),
mean.model = list(armaOrder = c(1, 0), include.mean = FALSE),
distribution.model = "ged") rollmodel = ugarchroll(garchspecification, mydata, n.start=262,
refit.every = 1, refit.window = 'moving', window.size = 262,
calculate.VaR = TRUE, keep.coef = TRUE) I attached the data. Thanks a lot for your help,
Ivanov
>
>
>_______________________________________________ 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