Description Usage Arguments Details Value Note Author(s) Examples
Method for creating a Copula-GARCH fit object.
1 2 3 4 | cgarchfit(spec, data, spd.control = list(lower = 0.1, upper = 0.9, type = "pwm", kernel = "epanech"),
fit.control = list(eval.se = TRUE, trace = TRUE, stationarity = TRUE), solver = "solnp",
solver.control = list(), out.sample = 0, parallel = FALSE,
parallel.control = list(pkg = c("multicore", "snowfall"), cores = 2), fit = NULL, VAR.fit = NULL, ...)
|
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”, “solnp”, “gosolnp” or “lbfgs”. |
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 ‘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
|
spd.control |
If the spd transformation was chosen in the spec, the spd.control passes its arguments to the spd fit routine. |
... |
. |
The Copula-GARCH models implemented can either be time-varying of DCC variety else static with
a fixed correlation matrix. The multivariate Normal and Student distributions are used in the
construction of the copulas, and 3 transformation methods are available (parametric, semi-parametric,
and empirical). For the semi-parametric case (spd), the ‘spd’ package of the author is available
to download from r-forge and fits a gaussian kernel in the interior and gpd distribution for the tails
(see package for more details). Finally, the static copula allows for the estimation of the correlation
matrix either by ML or Kendall method for the multivariate Student, whilst the “ML” method in the
the case of the multivariate Normal can be used when standard errors are required and ‘eval.se’
is turned on in the fit.control arguments. For the static Student Copula with Kendall method, irrespective
of the solver chosen (which is used for the univariate fits), the “L-BFGS-B” solver from the stat optim
function is used since the problem involves the single shape parameter for which it has been found that optim
does better in such unidimensional cases. This may be changed in the future to increase flexibility.
Note that the ‘cgarchfit’ 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 cGARCHfit
object containing details of the Copula-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 DCC GARCH, GO GARCH 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 | ## Not run:
data(dji30ret)
Dat = dji30ret[, 1:3, drop = FALSE]
# Copula-Student (non time varying - Max Likelihood Estimation of Rho)
uspec = ugarchspec(mean.model = list(armaOrder = c(1,0)), variance.model = list(model = "sGARCH"),
distribution.model = "std")
spec = cgarchspec(uspec = multispec( replicate(3, uspec) ), VAR = TRUE, VAR.opt = list(lag = 1, lag.max = 4,
lag.criterion = c("AIC", "HQ", "SC", "FPE"), external.regressors = NULL),
dccOrder = c(1,1), distribution.model = list(copula = c("mvt"), method = c("ML"),
time.varying = FALSE, transformation = "parametric"), start.pars = list(), fixed.pars = list())
fit1 = cgarchfit(spec, data = Dat, spd.control = list(lower = 0.1, upper = 0.9, type = "pwm",
kernel = "epanech"), fit.control = list(eval.se = TRUE, trace = TRUE), solver = "solnp")
fit1
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.