[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