[R-SIG-Finance] Just finished Kris Boudt's course, running into errors from non-convergence in rugarch

alexios galanos @lexio@ @ending from 4d@c@pe@com
Thu Nov 29 04:27:47 CET 2018


Try setting the solver in the resume command to "gosolnp".
It may also have helped to set fit.control(scale=1) in the ugarchroll, 
but you can set this in resume as well.

Alexios

On 11/28/18 7:22 PM, Ilya Kipnis wrote:
> I just completed Kris Boudt's datacamp course on GARCH models, and 
> thought I'd give it a spin in a more reasonable setting. I've run into 
> an error that the course didn't cover. I'm using a rolling window of 504 
> trading days to try to fit a GJR-GARCH with AR1 return innovations and a 
> skewed student t distribution and refitting the model every 22 days (so, 
> basically every month) on SPY returns.
> 
> In the course, it was possible to convert this output into a data frame, 
> with an as.data.frame command.
> 
> Unfortunately, the course didn't cover what happened when over the 
> course of ~300 model fits, there would be the occasional failure to 
> converge, which throws the following error:
> 
> image.png
> 
> Here's my MRE:
> 
> require(rugarch)
> require(quantmod)
> 
> # get SPY data from Yahoo (also tried with Quandl, data isn't the issue)
> getSymbols("SPY", from = '1990-01-01')
> 
> spyRets <- Return.calculate(Ad(SPY))
> 
> # GJR garch with AR1 innovations under a skewed student T distribution 
> for returns
> gjrSpec <- ugarchspec(mean.model = list(armaOrder = c(1,0)),
>                        variance.model = list(model = "gjrGARCH"),
>                        distribution.model = "sstd")
> 
> # Use rolling window of 504 days, refitting the model every 22 trading days
> t1 <- Sys.time()
> garchroll <- ugarchroll(gjrSpec, data = spyRets,
>                          n.start = 504, refit.window = "moving",  
> refit.every = 22)
> t2 <- Sys.time()
> print(t2-t1)
> 
> # try to convert predictions to data frame, as in course -- error thrown 
> regarding non-converged estimation windows
> garchroll <- as.data.frame(garchroll)
> 
> With a screenshot for better readability:
> 
> image.png
> I also tried the resume command from the following post 
> https://stat.ethz.ch/pipermail/r-sig-finance/2013q2/011720.html, which 
> did not solve my problem.
> 
> I feel that this is a pretty straightforward application of the rugarch 
> package, and that there is most likely a solution that simply wasn't 
> covered in the course. I'd be greatly appreciative if someone could help 
> me over this hill (albeit at the risk of revealing that I'm not exactly 
> an expert on GARCH models).
> 
> Thank you so much.
> 
> Sincerely,
> 
> Ilya Kipnis (author of Quantstrat TradeR)
> 
> _______________________________________________
> R-SIG-Finance using 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