## Specify the Conditional Variance Model Innovation Distribution

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

For the distribution of zt, you can choose a standardized Gaussian or standardized Student’s t distribution with ν > 2 degrees of freedom. Note that if zt follows a standardized t distribution, then

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

where Tν follows a Student’s t distribution with ν > 2 degrees of freedom.

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.

Tip

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.