- it does not (yet) implement all GARCH models in rugarch. FIGARCH, Multiplicative Component GARCH and Realized GARCH are not currently implemented.
- it does not implement joint ARFIMA-GARCH estimation, but does allow
for a jointly estimated ARMA(p,q)-X mean equation (via the
armaandxregarguments togarch_modelspec) in addition to the constant (since version 1.0.5). With so many options for modelling the conditional mean beyond low order ARMA dynamics, many of which are available in the tsmodels framework, it was decided to keep this package’s mean equation support deliberately limited rather than pursue full joint estimation of arbitrary mean dynamics with the variance equation. For a fully general mean equation, the 2 step estimation approach, whereby the residuals of the conditional mean are passed to the variance dynamics estimation, remains available and may be more flexible in what can be achieved, even if potentially less efficient for small sized datasets. Additionally, the ARCH-in-mean model is no longer available, as it was found to have very limited value within the tsmodels framework or in this author’s experience. A separate tsarma package for ARMA(p,q)-X models is however available. - it makes use of automatic differentiation (autodiff) during estimation, via the TMB package. This is in line with similar approaches in other models written in the tsmodels framework. Using autodiff allows for more confident estimation and more accurate standard errors.
- it fully implements and correctly documents a number of sandwich
estimators making use of the
sandwich package
framework (with methods for
breadandestfunandmeat/meat_HACfunctions). - it makes use of S3 methods and classes, abandoning the S4 approach of rugarch. Additionally, while making use of standard methods from the stats package, some of the methods are based on those exported from tsmethods, consistent with other packages in the tsmodels framework.
The package can be installed from CRAN or the tsmodels github repo:
remotes::install_github("tsmodels/tsgarch", dependencies = TRUE)Note, that in order to make use of symbolic output, flextable requires
equatags to be installed
which has a dependency on
xlst which in turn has
SystemRequirements libxslt. Therefore, if you are seeing NA printed in
place of symbols, then it is likely that xlst is not installed.
Due to the heavy use of the data.table package for parameter tracking
and indexing, I have seen significant speed improvements by setting the
following :
options(datatable.optimize = 2L)