Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

GARCH conditional variance time series model

Use `garch`

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

function returns a `garch`

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

The key components of a `garch`

model include:

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

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

*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.

`Mdl = garch`

`Mdl = garch(P,Q)`

`Mdl = garch(Name,Value)`

returns a zero-degree
conditional variance `Mdl`

= garch`garch`

object.

returns a `Mdl`

= garch(`P`

,`Q`

)`garch`

object that has 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 allows for easy model template creation 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 pairs. You can specify multiple values. Enclose each name in single
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 allows for creating 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