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).
Whenever using this package, please cite as
@Manual{Ghalanos_2014,
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
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).
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.