function: Univariate GARCH Simulation

Description

Method for simulation from a variety of univariate GARCH models.

Usage

1
2
3
4
ugarchsim(fit, n.sim = 1000, n.start = 0, m.sim = 1, 
startMethod = c("unconditional", "sample"), presigma = NA, prereturns = NA, 
preresiduals = NA, rseed = NA, custom.dist = list(name = NA, distfit = NA), 
mexsimdata = NULL, vexsimdata = NULL, ...)

Arguments

fit

A univariate GARCH fit object of class uGARCHfit.

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.

rseed

Optional seeding value(s) for the random number generator. For m.sim>1, it is possible to provide either a single seed to initialize all values, or one seed per separate simulation (i.e. m.sim seeds). However, in the latter case this may result in some slight overhead depending on how large m.sim is.

custom.dist

Optional density with fitted object from which to simulate. See notes below for details.

mexsimdata

List of matrices (size of list m.sim, with each matrix having n.sim rows) of simulated external regressor-in-mean data. If the fit object contains external regressors in the mean equation, this must be provided else will be assumed zero.

vexsimdata

List of matrices (size of list m.sim, with each matrix having n.sim rows) of simulated external regressor-in-variance data. If the fit object contains external regressors in the mean equation, this must be provided else will be assumed zero.

...

For the multiplicative component sGARCH model (mcsGARCH), the additional argument ‘DailyVar’ is required and should be an xts object of length floor(n.sim/increments-per-day) by m.sim of the the daily simulated variance to use with the intraday data. In the case of the realized GARCH (realGARCH) model, the optional argument ‘prerealized’ allows to pass starting values of the realized volatility (should be of length q as was set in the ‘garchOrder(q,p)’ in the specification)

Details

The custom.dist option allows for defining a custom density which exists in the users workspace with methods for “r” (sampling, e.g. rnorm) and “d” (density e.g. dnorm). It must take a single fit object as its second argument. Alternatively, custom.dist can take any name in the name slot (e.g.“sample”) and a matrix in the fit slot with dimensions equal to m.sim (columns) and n.sim (rows). The usefulness of this becomes apparent when one is considering the copula-GARCH approach or the bootstrap method.

Value

A uGARCHsim object containing details of the GARCH simulation.

Author(s)

Alexios Ghalanos

See Also

For specification ugarchspec, fitting ugarchfit, filtering ugarchfilter, forecasting ugarchforecast, rolling forecast and estimation ugarchroll, parameter distribution and uncertainty ugarchdistribution, bootstrap forecast ugarchboot.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
## Not run: 
# Basic GARCH(1,1) Spec
data(dmbp)
spec = ugarchspec()
fit = ugarchfit(data = dmbp[,1], spec = spec)
sim = ugarchsim(fit,n.sim=1000, n.start=1, m.sim=1, startMethod="sample")
sim
head(sigma(sim))

## End(Not run)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.