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.

In Econometrics
Toolbox™, the general form of the innovation process is $${\epsilon}_{t}={\sigma}_{t}{z}_{t}.$$ A conditional variance model specifies the parametric form of the
conditional variance process. The innovation distribution corresponds to the
distribution of the independent and identically distributed (iid) process
*z _{t}*.

For the distribution of *z _{t}*, you can choose a
standardized Gaussian or standardized Student’s

$${z}_{t}=\sqrt{\frac{\nu -2}{\nu}}{T}_{\nu},$$

where *T _{ν}* follows a
Student’s

The *t* distribution is useful for modeling time series with more
extreme values than expected under a Gaussian distribution. Series with larger values
than expected under normality are said to have *excess kurtosis*.

It is good practice to assess the distributional properties of model residuals to determine if a Gaussian innovation distribution (the default distribution) is appropriate for your data.

The property `Distribution`

in a model stores the distribution name
(and degrees of freedom for the *t* distribution). The data type of
`Distribution`

is a `struct`

array. For a Gaussian
innovation distribution, the data structure has only one field: `Name`

.
For a Student’s *t* distribution, the data structure must have two
fields:

`Name`

, with value`'t'`

`DoF`

, with a scalar value larger than two (`NaN`

is the default value)

If the innovation distribution is Gaussian, you do not need to assign a value to
`Distribution`

. `garch`

,
`egarch`

, and `gjr`

create the required data
structure.

To illustrate, consider specifying a GARCH(1,1) model:

Mdl = garch(1,1)

Mdl = garch with properties: Description: "GARCH(1,1) Conditional Variance Model (Gaussian Distribution)" Distribution: Name = "Gaussian" P: 1 Q: 1 Constant: NaN GARCH: {NaN} at lag [1] ARCH: {NaN} at lag [1] Offset: 0

The model output shows that `Distribution`

is a
`struct`

array with one field, `Name`

, with the
value `"Gaussian"`

.

When specifying a Student’s *t* innovation distribution, you can
specify the distribution with either unknown or known degrees of freedom. If the degrees
of freedom are unknown, you can simply assign `Distribution`

the value
`'t'`

. By default, the property `Distribution`

has
a data structure with field `Name`

equal to `"t"`

, and
field `DoF`

equal to `NaN`

. When you input the model
to `estimate`

, the degrees of freedom are estimated along with any
other unknown model parameters.

For example, specify a GJR(2,1) model with an iid Student’s *t*
innovation distribution, with unknown degrees of freedom:

GJRMdl = gjr('GARCHLags',1:2,'ARCHLags',1,'LeverageLags',1,... 'Distribution','t')

GJRMdl = gjr with properties: Description: "GJR(2,1) Conditional Variance Model (t Distribution)" Distribution: Name = "t", DoF = NaN P: 2 Q: 1 Constant: NaN GARCH: {NaN NaN} at lags [1 2] ARCH: {NaN} at lag [1] Leverage: {NaN} at lag [1] Offset: 0

The output shows that `Distribution`

is a data structure with two
fields. Field `Name`

has the value `"t"`

, and field
`DoF`

has the value `NaN`

.

If the degrees of freedom are known, and you want to set an equality constraint,
assign a `struct`

array to `Distribution`

with fields
`Name`

and `DoF`

. In this case, if the model is
input to `estimate`

, the degrees of freedom won’t be estimated (the
equality constraint is upheld).

Specify a GARCH(1,1) model with an iid Student’s *t* distribution
with eight degrees of freedom:

GARCHMdl = garch('GARCHLags',1,'ARCHLags',1,... 'Distribution',struct('Name','t','DoF',8))

GARCHMdl = garch with properties: Description: "GARCH(1,1) Conditional Variance Model (t Distribution)" Distribution: Name = "t", DoF = 8 P: 1 Q: 1 Constant: NaN GARCH: {NaN} at lag [1] ARCH: {NaN} at lag [1] Offset: 0

The output shows the specified innovation distribution.

After a model exists in the workspace, you can modify its
`Distribution`

property using dot notation. You cannot modify the
fields of the `Distribution`

data structure directly. For example,
`GARCHMdl.Distribution.DoF = 8`

is not a valid assignment. However,
you can get the individual fields.

To change the distribution of the innovation process in an existing model to a
Student’s *t* distribution with unknown degrees of freedom,
type:

`Mdl.Distribution = 't';`

To change the distribution to a *t* distribution with known degrees
of freedom, use a data structure:

Mdl.Distribution = struct('Name','t','DoF',8);

You can get the individual `Distribution`

fields:

tDoF = Mdl.Distribution.DoF

tDoF = 8

To change the innovation distribution from a Student’s *t* back to a
Gaussian distribution, type:

`Mdl.Distribution = 'Gaussian'`

Mdl = garch with properties: Description: "GARCH(1,1) Conditional Variance Model (Gaussian Distribution)" Distribution: Name = "Gaussian" P: 1 Q: 1 Constant: NaN GARCH: {NaN} at lag [1] ARCH: {NaN} at lag [1] Offset: 0

The `Name`

field is updated to `"Gaussian"`

, and
there is no longer a `DoF`

field.

- Specify GARCH Models
- Specify EGARCH Models
- Specify GJR Models
- Modify Properties of Conditional Variance Models