ugarchfit-methods {rugarch} | R Documentation |
Method for fitting a variety of univariate GARCH models.
ugarchfit(spec, data, out.sample = 0, solver = "solnp", solver.control = list(), fit.control = list(stationarity = 1, fixed.se = 0, scale = 0), ...)
data |
A univariate data object. Can be a numeric vector, matrix, data.frame, zoo, xts, timeSeries, ts or irts object. |
spec |
A univariate GARCH spec object of class |
out.sample |
A positive integer indicating the number of periods before the last to keep for out of sample forecasting (see details). |
solver |
One of either “nlminb”, “solnp”, “lbfgs”, “gosolnp” or “nloptr”. |
solver.control |
Control arguments list passed to optimizer. |
fit.control |
Control arguments passed to the fitting routine. Stationarity explicitly imposes
the variance stationarity constraint during optimization. The fixed.se argument
controls whether standard errors should be calculated for those parameters which
were fixed (through the fixed.pars argument of the |
... |
. |
The GARCH optimization routine first calculates a set of feasible starting
points which are used to initiate the GARCH recursion. The main part of the
likelihood calculation is performed in C-code for speed.
The out.sample option is provided in order to carry out forecast performance
testing against actual data. A minimum of 5 data points are required for these
tests. If the out.sample option is positive, then the routine will fit only
N - out.sample (where N is the total data length) data points, leaving
out.sample points for forecasting and testing using the forecast performance
measures. In the ugarchforecast
routine the n.ahead may also be
greater than the out.sample number resulting in a combination of out of sample
data points matched against actual data and some without, which the forecast
performance tests will ignore.
The “gosolnp” solver allows for the initialization of multiple restarts
of the solnp solver with randomly generated parameters (see documentation in the
Rsolnp-package for details of the strategy used). The solver.control list then
accepts the following additional (to the solnp) arguments: “n.restarts”
is the number of solver restarts required (defaults to 1), “parallel” and
“parallel.control” for use of the parallel functionality, “rseed”
is the seed to initialize the random number generator, and “n.sim” is the
number of simulated parameter vectors to generate per n.restarts.
A uGARCHfit
object containing details of the GARCH fit.
The nloptr solver takes the following options in the solver.control list:
ftol_rel | function value relative tolerance | default: 1e-8 | |
xtol_rel | parameter value relative tolerance | default: 1e-6 | |
maxeval | maximum function evaluations | default: 25000 | |
print_level | trace level | default: 1 | |
solver | the nloptr solver to use | default: 1 (‘ SBPLX’ ). |
|
The solver option for nloptr has 10 different choices (1:10), which are 1:‘COBYLA’, 2:‘BOBYQA’, 3:‘PRAXIS’, 4:‘NELDERMEAD’, 5:‘SBPLX’, 6:‘AUGLAG’+‘COBYLA’, 7:‘AUGLAG’+‘BOBYQA’, 8:‘AUGLAG’+‘PRAXIS’, 9:‘AUGLAG’+‘NELDERMEAD’ and 10:‘AUGLAG’+‘SBPLX’. As always, your mileage will vary and care should be taken on the choice of solver, tuning parameters etc. If you do use this solver try 9 or 10 first.
Alexios Ghalanos
For specification ugarchspec
,filtering ugarchfilter
,
forecasting ugarchforecast
, simulation ugarchsim
,
rolling forecast and estimation ugarchroll
, parameter distribution
and uncertainty ugarchdistribution
, bootstrap forecast
ugarchboot
.
# Basic GARCH(1,1) Spec data(dmbp) spec = ugarchspec() fit = ugarchfit(data = dmbp[,1], spec = spec) fit coef(fit) head(as.data.frame(fit)) #plot(fit,which="all") # in order to use fpm (forecast performance measure function) # you need to select a subsample of the data: spec = ugarchspec() fit = ugarchfit(data = dmbp[,1], spec = spec, out.sample=100) forc = ugarchforecast(fit, n.ahead=100) # this means that 100 data points are left from the end with which to # make inference on the forecasts fpm(forc)