Description Usage Arguments Details Value Author(s) References Examples
Method for creating a Copula-GARCH simulation object.
1 2 3 4 | cgarchsim(fit, n.sim = 1000, n.start = 0, m.sim = 1, startMethod = c("unconditional", "sample"),
presigma = NULL, preresiduals = NULL, prereturns = NULL, preR = NULL, rseed = NULL,
mexsimdata = NULL, vexsimdata = NULL, parallel = FALSE, parallel.control = list(pkg = c("multicore",
"snowfall"), cores = 2), VAR.fit = NULL, ...)
|
fit |
A |
n.sim |
The simulation horizon. |
n.start |
The burn-in sample. |
m.sim |
The number of simulations. |
startMethod |
Starting values for the simulation. Valid methods are ‘unconditional’ for the expected values given the density, and ‘sample’ for the ending values of the actual data from the fit object. |
presigma |
Allows the starting sigma values to be provided by the user. |
prereturns |
Allows the starting return data to be provided by the user. |
preresiduals |
Allows the starting residuals to be provided by the user. |
preR |
Allows the starting correlation to be provided by the user. |
rseed |
Optional seeding value(s) for the random number generator. This should be of length equal to m.sim. |
mexsimdata |
A list (equal to the number of asset) of matrices of simulated external regressor-in-mean data with row length equal to n.sim + n.start. If the fit object contains external regressors in the mean equation, this must be provided else will be assumed to be zero. |
vexsimdata |
A list (equal to the number of asset) of matrices of simulated external regressor-in-variance data with row length equal to n.sim + n.start. If the fit object contains external regressors in the variance equation, this must be provided else will be assumed to be zero. |
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. |
VAR.fit |
An optional VAR.fit list returned from calling the |
... |
. |
Since there is no explicit forecasting routine, the user should use this method for incrementally building up n-ahead forecasts by simulating 1-ahead, obtaining the means of the returns, sigma, Rho etc and feeding them to the next round of simulation as starting values.
A cGARCHsim
object containing details of the Copula-GARCH simulation.
Alexios Ghalanos
Joe, H. Multivariate Models and Dependence Concepts, 1997, Chapman \& Hall, London.
Genest, C., Ghoudi, K. and Rivest, L. A semiparametric estimation procedure of dependence
parameters in multivariate families of distributions, 1995, Biometrika, 82, 543-552.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | ## 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 = "norm")
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("mvnorm"), method = c("ML"),
time.varying = TRUE, 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 = FALSE, trace = TRUE), solver = "solnp")
preR = last(rcor(fit1),1)[,,1]
diag(preR) = 1
# a '.fitlist' (univariate uGARCHmultifit) is always returns to the global environment when fitting
# mgarch models.
sim1 = cgarchsim(fit1, n.sim = 1, n.start = 0, m.sim = 3500, presigma = tail(sigma(fit1), 1),
startMethod = "sample", preR = preR, prereturns = tail( as.matrix(Dat), 4),
preresiduals = tail(residuals(.fitlist), 1),rseed = 1:3500)
simmean1 = c(mean(sapply(sim1@msim$simX, FUN = function(x) x[,1])),
mean(sapply(sim1@msim$simX, FUN = function(x) x[,2])),
mean(sapply(sim1@msim$simX, FUN = function(x) x[,3])))
forcmean = round( rgarch:::varxforecast(X = Dat, Bcoef = fit1@mfit$vrmodel$Bcoef, p = 4,
out.sample = 0, n.ahead = 1, n.roll = 0, mregfor = NULL), 5)
tmp = data.frame(sim = round(simmean1,5), forc = round(as.numeric(forcmean),5), row.names = colnames(Dat))
print(tmp)
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.