rugarch-package: The rugarch package

Description Details How to cite this package License Author(s) References


The rugarch package aims to provide a flexible and rich univariate GARCH modelling and testing environment. Modelling is a simple process of defining a specification and fitting the data. Inference can be made from summary, various tests and plot methods, while the forecasting, filtering and simulation methods complete the modelling environment. Finally, specialized methods are implemented for simulating parameter distributions and evaluating parameter consistency, and a bootstrap forecast method which takes into account both parameter and predictive distribution uncertainty.
The testing environment is based on a rolling backtest function which considers the more general context in which GARCH models are based, namely the conditional time varying estimation of density parameters and the implication for their use in analytical risk management measures.
The mean equation allows for AR(FI)MA, arch-in-mean and external regressors, while the variance equation implements a wide variety of univariate GARCH models as well as the possibility of including external regressors. Finally, a set of feature rich distributions are used for modelling innovations and documented in the vignette.
This package is part of what used to be the rgarch package, which was split into univariate (rugarch) and multivariate (rmgarch) models for easier maintenance and use, both of which are now hosted on CRAN (stable) and bitbucket (development).


While the package has implemented some safeguards, both during pre-estimation as well as the estimation phase, there is no guarantee of convergence in the fitting procedure. As a result, the fit method allows the user to input starting parameters as well as keep any parameters from the spec as fixed (including the case of all parameters fixed).
The functionality of the packages is contained in the main methods for defining a specification ugarchspec, fitting ugarchfit, forecasting ugarchforecast, simulation from fit object ugarchsim, path simulation from specification object ugarchpath, parameter distribution by simulation ugarchdistribution, bootstrap forecast ugarchboot and rolling estimation and forecast ugarchroll. There are also some functions which enable multiple fitting of assets in an easy to use wrapper with the option of multicore functionality, namely multispec, multifit, multifilter and multiforecast. Explanations on the available methods for the returned classes can be found in the documentation for those classes.
A separate subset of methods and classes has been included to calculate pure ARFIMA models with constant variance. This subset includes similar functionality as with the GARCH methods, with the exception that no plots are yet implemented, and neither is a forecast based on the bootstrap. These may be added in the future. While there are limited examples in the documentation on the ARFIMA methods, the interested user can search the rugarch.tests folder of the source installation for some tests using ARFIMA models as well as equivalence to the base R arima methods (particularly replication of simulation). Finally, no representation is made about the adequacy of ARFIMA models, particularly the statistical properties of parameters when using distributions which go beyond the Gaussian.
The conditional distributions used in the package are also exposed for the benefit of the user through the rgarchdist functions which contain methods for density, distribution, quantile, sampling and fitting. Additionally, ghyptransform function provides the necessary parameter transformation and scaling methods for moving from the location scale invariant ‘rho-zeta’ parametrization with mean and standard deviation, to the standard ‘alpha-beta-delta-mu’ parametrization of the Generalized Hyperbolic Distribution family.
The type of data handled by the package is now completely based on the xts package, and only data which can be coerced to such will be accepted by the package. For the estimation and filter routines, some of the main extractors methods will now also return xts objects.
Some benchmarks (published and comparison with commercial package), are available through the ugarchbench function. The ‘inst’ folder of the source distribution also contains various tests which can be sourced and run by the user, also exposing some finer details of the functionality of the package. The user should really consult the examples supplied in this folder which are quite numerous and instructive with some comments.
Since version 1.0-14, all parallel estimation is carried out through a user-supplied cluster object, created from the parallel package, meaning that the user is now in control of managing the cluster lifecycle. This greatly simplifies the parallel estimation process and adds a layer of flexibility to the type of resources supported.
Finally, the global extractor functions sigma and fitted will now work with almost all returned classes and the return the conditional sigma and mean values, whether these are from an estimated, filtered, forecast, or simulated object (and their multi- function equivalents).

How to cite this package

Whenever using this package, please cite as

 author       = {Alexios Ghalanos},
 title        = {{rugarch}: Univariate GARCH models.},
 year         = {2014},
 note         = {R package version 1.4-0.},}


The releases of this package is licensed under GPL version 3.


Alexios Ghalanos


Baillie, R.T. and Bollerslev, T. and Mikkelsen,H.O. 1996, Fractionally integrated generalized autoregressive conditional heteroskedasticity, Journal of Econometrics, 3–30 .
Berkowitz, J. 2001, Testing density forecasts, with applications to risk management, Journal of Business and Economic Statistics, 19(4), 465–474.
Bollerslev, T. 1986, Generalized Autoregressive Conditional Heteroskedasticity 1986, Journal of Econometrics, 31, 307–327.
Ding, Z., Granger, C.W.J. and Engle, R.F. 1993, A Long Memory Property of Stock Market Returns and a New Model, Journal of Empirical Finance, 1, 83–106.
Engle, R.F. and Ng, V. K. 1993, Measuring and Testing the Impact of News on Volatility, Journal of Finance, 48, 1749–1778.
Engle, R. F., and Sokalska, M. E. 2012, Forecasting intraday volatility in the US equity market. Multiplicative component GARCH. Journal of Financial Econometrics, 10(1), 54–83.
Fisher, T. J., and Gallagher, C. M. 2012, New weighted portmanteau statistics for time series goodness of fit testing, Journal of the American Statistical Association, 107(498), 777–787.
Glosten, L.R., Jagannathan, R. and Runkle, D.E. 1993, On the Relation between the Expected Value and the Volatility of the Nominal Excess Return on Stocks, Journal of Finance, 48(5), 1779–1801.
Hansen, B.E. 1990, Langrange Multiplier Tests for Parameter Instability in Non-Linear Models, mimeo.
Hentschel, Ludger. 1995, All in the family Nesting symmetric and asymmetric GARCH models, Journal of Financial Economics, 39(1), 71–104.
Nelson, D.B. 1991, Conditional Heteroskedasticity in Asset Returns: A New Approach, Econometrica, 59, 347–370.
Pascual, L., Romo, J. and Ruiz, E. 2004, Bootstrap predictive inference for ARIMA processes, Journal of Time Series Analysis.
Pascual, L., Romo, J. and Ruiz, E. 2006, Bootstrap prediction for returns and volatilities in GARCH models, Computational Statistics and Data Analysis.
Vlaar, P.J.G. and Palm, F.C. 1993, The Message in Weekly Exchange Rates in the European Monetary System: Mean Reversion Conditional Heteroskedasticity and Jumps, Journal of Business and Economic Statistics, 11, 351–360.

rugarch documentation built on Jan. 16, 2019, 9:04 a.m.