Skip to content
All library documents

Handling Nonconvergence in ARMA-GARCH Estimation

Article Quant Q&A · Author: pyCthon

Summary

The document concerns fitting an ARMA(1,1)-GARCH(1,1) model with the rugarch package to minute-level equity data, with the goal of storing estimates for later backtesting. The reported failure is a Hessian inversion error during optimization. The question asks whether convergence can be guaranteed when estimating the model repeatedly across an index.

The response says no optimizer can guarantee convergence in every case. It points to a hybrid solver recommended in an introduction to rugarch: the procedure starts with solnp and then tries other solvers if needed. The cited guidance is described as achieving convergence in at least 90 percent of cases, not certainty. This is a fallback strategy for improving estimation success, rather than a proof that all fits are valid or a remedy for every Hessian issue. The document gives no comparison of solver settings, diagnostics for failed fits, or discussion of whether this model is appropriate for minute data. Researchers should treat convergence rates and model outputs as implementation-dependent.

Key ideas

  • Optimization for ARMA-GARCH estimation may fail, including with Hessian inversion errors.
  • The response states that no optimization method can guarantee convergence for every fit.
  • A hybrid solver can try solnp first and move through alternative solvers after failure.
  • The cited guidance reports high but incomplete convergence, so failures still need handling.
  • The discussion does not evaluate the model’s suitability for minute-level equity data.

Tags

Full text
# R ARMA-GARCH rugarch package doesn't always converge


# R ARMA-GARCH rugarch package doesn't always converge












I'm trying to compute the standard `ARMA(1,1)-GARCH(1,1)` as shown in this answer for an entire index,just to store in a database to quickly lookup values for back testing purposes. There is just one problem that the optimization method used by rugarch doesn't always converge giving and yields the error. I'm using minute equity data.

`failed to invert hessian`

Is there an easy work around or evasive solution to guarantee that it will always converge?

## Answer by BeneSP (score 5, accepted)

https://quant.stackexchange.com/a/14408

There is no guarantee that the optimization method always converges! In an introduction the author of the package recommends using the "hybrid" solver, which starts out with the "solnp" and goes through the other solvers, if it doesn't converge. According to him, this should at least guarantee convergence in 90 % of the cases.

http://unstarched.net/r-examples/rugarch/a-short-introduction-to-the-rugarch-package/

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.