Method for creating a univariate GARCH specification object prior to fitting.
1 2 3 4 5
ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1), submodel = NULL, external.regressors = NULL, variance.targeting = FALSE), mean.model = list(armaOrder = c(1, 1), include.mean = TRUE, archm = FALSE, archpow = 1, arfima = FALSE, external.regressors = NULL, archex = FALSE), distribution.model = "norm", start.pars = list(), fixed.pars = list(), ...)
List containing the variance model specification:
List containing the mean model specification:
The conditional density to use for the innovations. Valid choices are “norm” for the normal distibution, “snorm” for the skew-normal distribution, “std” for the student-t, “sstd” for the skew-student, “ged” for the generalized error distribution, “sged” for the skew-generalized error distribution, “nig” for the normal inverse gaussian distribution, “ghyp” for the Generalized Hyperbolic, and “jsu” for Johnson's SU distribution. Note that some of the distributions are taken from the fBasics package and implenented locally here for convenience. The “jsu” distribution is the reparametrized version from the “gamlss” package.
List of staring parameters for the optimization routine. These are not usually required unless the optimization has problems converging.
List of parameters which are to be kept fixed during the optimization. It is
possible that you designate all parameters as fixed so as to quickly recover
just the results of some previous work or published work. The optional argument
“fixed.se” in the
The specification allows for a wide choice in univariate GARCH models,
distributions, and mean equation modelling. For the “fGARCH” model,
this represents Hentschel's omnibus model which subsumes many others.
For the mean equation, ARFIMAX is fully supported in fitting, forecasting and simulation. There is also an option to multiply the external regressors by the conditional standard deviation, which may be of use for example in calculating the correlation coefficient in a CAPM type setting.
The “iGARCH” implements the integrated GARCH model. For the “EWMA” model just set “omega” to zero in the fixed parameters list.
The asymmetry term in the rugarch package, for all implemented models, follows the order of the arch parameter
Variance targeting, referred to in Engle and Mezrich (1996), replaces the intercept “omega” in the variance equation by 1 minus the persistence multiplied by the unconditional variance which is calculated by its sample counterpart in the squared residuals during estimation. In the presence of external regressors in the variance equation, the sample average of the external regresssors is multiplied by their coefficient and subtracted from the variance target.
In order to understand which parameters can be entered in the start.pars and fixed.pars optional arguments, the list below exposes the names used for the parameters across the various models:(note that when a parameter is followed by a number, this represents the order of the model. Just increment the number for higher orders, with the exception of the component sGARCH permanent component parameters which are fixed to have a lag-1 autoregressive structure.):
lambda (for GHYP distribution)
Variance Model (common specs)
Variance Model (GJR, EGARCH)
Variance Model (APARCH)
Variance Model (FGARCH)
assymetry term1 (rotation):
assymetry term2 (shift):
Variance Model (csGARCH)
permanent component autoregressive term (rho):
permanent component shock term (phi):
permanent component intercept:
transitory component ARCH term:
transitory component GARCH term:
uGARCHspec object containing details of the GARCH
1 2 3 4 5 6 7 8 9 10 11
# a standard specification spec1 = ugarchspec() spec1 # an example which keep the ar1 and ma1 coefficients fixed: spec2 = ugarchspec(mean.model=list(armaOrder=c(2,2), fixed.pars=list(ar1=0.3,ma1=0.3))) spec2 # an example of the EWMA Model spec3 = ugarchspec(variance.model=list(model="iGARCH", garchOrder=c(1,1)), mean.model=list(armaOrder=c(0,0), include.mean=TRUE), distribution.model="norm", fixed.pars=list(omega=0))