I have the following Garch model

ug_spec <- ugarchspec(mean.model = list(armaOrder = c(0,0), include.mean = FALSE),
                      variance.model = list(model = "sGARCH", garchOrder = c(2, 1), variance.targeting = FALSE), # 
                      distribution.model = "ged", fixed.pars = list(omega=0))
ugfit <- ugarchfit(spec = ug_spec, data = EURUSD)

all goes fine no error or warning, but when I call this function ugarchdistribution

gd = ugarchdistribution(ugfit, n.sim = 1000, n.start = 1, recursive = TRUE, recursive.length = 3000, recursive.window = 250, m.sim = 100, solver = "hybrid")

I get a never ending list of errors such as:

Warning in .makefitmodel(garchmodel = "sGARCH", f = .sgarchLLH, T = T, m = m,  :
rugarch-->warning: failed to invert hessian

which goes on for like 5 minutes until the console stops. Now I checked around the web, some people say to change solver (I did it and not working), change the solver tolerance (I did it and not working). In the end I have changed the garch model from sGarch to gjrGarch and it works, but unfortunately using gjrGarch I get all the p values of the Standardized Squared Residuals < 0.05 and therefore they are not uncorrelated.

What do you suggest to solve such warning? should I keep the gjrGarch because ugarchdistribution converges or still stick to sGarch which gives me uncorrelated Standardized Squared Residuals (pvalue > 0.05) and just avoid using such ugarchdistribution function? Thanks. Luigi

  • $\begingroup$ I was able to solve it by removing fixed.pars = list(omega=0) in the sGARCH. I do not know why that worked therefore I decided to not accept my own solution. $\endgroup$ – Luigi87 Sep 4 '20 at 6:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.