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.

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.