Main Content

GARCH conditional variance time series model

Use `garch`

to specify a univariate GARCH (generalized autoregressive conditional heteroscedastic) model. The `garch`

function returns a `garch`

object specifying the functional form of a GARCH(*P*,*Q*) model, and stores its parameter values.

The key components of a `garch`

model include the:

GARCH polynomial, which is composed of lagged conditional variances. The degree is denoted by

*P*.ARCH polynomial, which is composed of the lagged squared innovations. The degree is denoted by

*Q*.

*P* and *Q* are the maximum nonzero lags in the GARCH and ARCH polynomials, respectively. Other model components include an innovation mean model offset, a conditional variance model constant, and the innovations distribution.

All coefficients are unknown (`NaN`

values) and estimable unless you specify their values using name-value pair argument syntax. To estimate models containing all or partially unknown parameter values given data, use `estimate`

. For completely specified models (models in which all parameter values are known), simulate or forecast responses using `simulate`

or `forecast`

, respectively.

returns a zero-degree conditional variance `Mdl`

= garch`garch`

object.

creates a GARCH conditional variance model object (`Mdl`

= garch(`P`

,`Q`

)`Mdl`

) with a GARCH polynomial with a degree of `P`

and an ARCH polynomial with a degree of `Q`

. The GARCH and ARCH polynomials contain all consecutive lags from 1 through their degrees, and all coefficients are `NaN`

values.

This shorthand syntax enables you to create a template in which you specify the polynomial degrees explicitly. The model template is suited for unrestricted parameter estimation, that is, estimation without any parameter equality constraints. However, after you create a model, you can alter property values using dot notation.

sets properties or additional options using name-value pair arguments. Enclose each name in quotes. For example, `Mdl`

= garch(`Name,Value`

)`'ARCHLags',[1 4],'ARCH',{0.2 0.3}`

specifies the two ARCH coefficients in `ARCH`

at lags `1`

and `4`

.

This longhand syntax enables you to create more flexible models.

`estimate` | Fit conditional variance model to data |

`filter` | Filter disturbances through conditional variance model |

`forecast` | Forecast conditional variances from conditional variance models |

`infer` | Infer conditional variances of conditional variance models |

`simulate` | Monte Carlo simulation of conditional variance models |

`summarize` | Display estimation results of conditional variance model |

You can specify a `garch`

model as part of a composition of conditional mean and variance models. For details, see `arima`

.

[1] Tsay, R. S. *Analysis of Financial Time Series*. 3rd ed. Hoboken, NJ: John Wiley & Sons, Inc., 2010.

- Specify GARCH Models
- Modify Properties of Conditional Variance Models
- Specify Conditional Mean and Variance Models
- Infer Conditional Variances and Residuals
- Compare Conditional Variance Models Using Information Criteria
- Simulate GARCH Models
- Forecast a Conditional Variance Model
- Conditional Variance Models
- GARCH Model