Description Usage Arguments Details Value Note Author(s) Examples
Method for creating a DCC-GARCH fit object.
1 2 3 4 |
spec |
A |
data |
A multivariate data object as ‘matrix’ or ‘data.frame’. |
out.sample |
A positive integer indicating the number of periods before the last to keep for out of sample forecasting. |
solver |
Either “nlminb” or “solnp” . |
solver.control |
Control arguments list passed to optimizer. |
fit.control |
Control arguments passed to the fitting routine. The ‘eval.se’ option determines whether standard errors are calculated (see details below). The ‘stationarity’ option is for the univariate stage GARCH fitting routine, whilst for the second stage DCC this is be design imposed. The ‘scale’ option is also for the first stage univariate GARCH fitting routine. |
parallel |
Whether to make use of parallel processing on multicore systems. |
parallel.control |
The parallel control options including the type of package for performing the parallel calculations (‘multicore’ for non-windows O/S and ‘snowfall’ for all O/S), and the number of cores to make use of. |
fit |
(optional) A previously estimated univariate |
VAR.fit |
(optional) A previously estimated VAR list returned from calling the
|
... |
. |
The 2-step DCC estimation fits a GARCH-Normal model to the univariate data and then proceeds to
estimate the second step based on the chosen multivariate distribution. Because of this 2-step approach,
standard errors are expensive to calculate and therefore the use of parallel functionality, built into
both the fitting and standard error calculation routines is key. The switch to turn off the calculation
of standard errors through the ‘fit.control’ option could be quite useful in rolling estimation
such as in the dccroll
routine.
The optional ‘fit’ argument allows to pass your own uGARCHmultifit
object
instead of having the routine estimate it. This is very useful in cases of multiple use of the same
fit and problems in convergence which might require a more hands on approach to the univariate fitting
stage. However, it is up to the user to ensure consistency between the ‘fit’ and supplied
‘spec’. Also note that the ‘dccfit’ method will assign to the global environment the
uGARCHmultifit
once that is estimated in order to allow the routine to be
restarted should something go wrong (it should show up as ‘.fitlist’).
A DCCfit
object containing details of the DCC-GARCH fit.
There is no check on the VAR.fit list passed to the method so particular care should be exercised so that the same data used in the fitting routine is also used in the VAR filter routine. The ability to pass this list of the pre-calculated VAR model is particularly useful when comparing different models (such as copula GARCH, GOGARCH etc) using the same dataset and VAR method. Though the classical VAR estimation is very fast and may not require this extra step, the robust method is slow and therefore benefits from calculating this only once.
Alexios Ghalanos
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | ## Not run:
data(dji30ret)
Dat = dji30ret[, 1:4, drop = FALSE]
uspec1 = ugarchspec(mean.model = list(armaOrder = c(1,0)), variance.model = list(model = "apARCH"),
distribution.model = "norm")
uspec2 = ugarchspec(mean.model = list(armaOrder = c(2,0)), variance.model = list(model = "gjrGARCH"),
distribution.model = "norm")
uspec3 = ugarchspec(mean.model = list(armaOrder = c(0,0)), variance.model = list(model = "sGARCH"),
distribution.model = "norm")
uspec4 = ugarchspec(mean.model = list(armaOrder = c(1,0)), variance.model = list(model = "sGARCH",
garchOrder = c(2, 1)),
distribution.model = "norm")
uspec = c( uspec1, uspec2, uspec3, uspec4 )
spec = dccspec(uspec = multispec( uspec ), dccOrder = c(1,1), distribution = "mvlaplace")
# fit the model
fit = dccfit(data = Dat, spec = spec, out.sample = 100, solver = "solnp",
fit.control = list(scale = TRUE, eval.se = TRUE))
# show the fit
fit
# plot(fit)
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.