# function: Univariate GARCH Simulation

### Description

Method for simulation from a variety of univariate GARCH models.

### Usage

1 2 3 4 |

### Arguments

`fit` |
A univariate GARCH fit object of class |

`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 |