# Documentation

## Specify EGARCH Models Using egarch

### Default EGARCH Model

The default EGARCH(P,Q) model in Econometrics Toolbox™ is of the form

${\epsilon }_{t}={\sigma }_{t}{z}_{t},$

with Gaussian innovation distribution and

$\mathrm{log}{\sigma }_{t}^{2}=\kappa +\sum _{i=1}^{P}{\gamma }_{i}\mathrm{log}{\sigma }_{t-i}^{2}+\sum _{j=1}^{Q}{\alpha }_{j}\left[\frac{|{\epsilon }_{t-j}|}{{\sigma }_{t-j}}-E\left\{\frac{|{\epsilon }_{t-j}|}{{\sigma }_{t-j}}\right\}\right]+\sum _{j=1}^{Q}{\xi }_{j}\left(\frac{{\epsilon }_{t-j}}{{\sigma }_{t-j}}\right).$

The default model has no mean offset, and the lagged log variances and standardized innovations are at consecutive lags.

You can specify a model of this form using the shorthand syntax `egarch(P,Q)`. For the input arguments `P` and `Q`, enter the number of lagged log variances (GARCH terms), P, and lagged standardized innovations (ARCH and leverage terms), Q, respectively. The following restrictions apply:

• P and Q must be nonnegative integers.

• If P > 0, then you must also specify Q > 0.

When you use this shorthand syntax, `egarch` creates an `egarch` model with these default property values.

PropertyDefault Value
`P`Number of GARCH terms, P
`Q`Number of ARCH and leverage terms, Q
`Offset``0`
`Constant``NaN`
`GARCH`Cell vector of `NaN`s
`ARCH`Cell vector of `NaN`s
`Leverage`Cell vector of `NaN`s
`Distribution``'Gaussian'`

To assign nondefault values to any properties, you can modify the created model using dot notation.

To illustrate, consider specifying the EGARCH(1,1) model

${\epsilon }_{t}={\sigma }_{t}{z}_{t},$

with Gaussian innovation distribution and

$\mathrm{log}{\sigma }_{t}^{2}=\kappa +{\gamma }_{1}\mathrm{log}{\sigma }_{t-1}^{2}+{\alpha }_{1}\left[\frac{|{\epsilon }_{t-1}|}{{\sigma }_{t-1}}-E\left\{\frac{|{\epsilon }_{t-1}|}{{\sigma }_{t-1}}\right\}\right]+{\xi }_{1}\left(\frac{{\epsilon }_{t-1}}{{\sigma }_{t-1}}\right).$

```Mdl = egarch(1,1) ```
```Mdl = EGARCH(1,1) Conditional Variance Model: ----------------------------------------- Distribution: Name = 'Gaussian' P: 1 Q: 1 Constant: NaN GARCH: {NaN} at Lags [1] ARCH: {NaN} at Lags [1] Leverage: {NaN} at Lags [1] ```

The created model, `Mdl`, has `NaN`s for all model parameters. A `NaN` value signals that a parameter needs to be estimated or otherwise specified by the user. All parameters must be specified to forecast or simulate the model

To estimate parameters, input the model (along with data) to `estimate`. This returns a new fitted `egarch` model. The fitted model has parameter estimates for each input `NaN` value.

Calling `egarch` without any input arguments returns an EGARCH(0,0) model specification with default property values:

```DefaultMdl = egarch ```
```DefaultMdl = EGARCH(0,0) Conditional Variance Model: ----------------------------------------- Distribution: Name = 'Gaussian' P: 0 Q: 0 Constant: NaN GARCH: {} ARCH: {} Leverage: {} ```

### Use Name-Value Pairs

The most flexible way to specify EGARCH models is using name-value pair arguments. You do not need, nor are you able, to specify a value for every model property. `egarch` assigns default values to any model properties you do not (or cannot) specify.

The general EGARCH(P,Q) model is of the form

${y}_{t}=\mu +{\epsilon }_{t},$

where ${\epsilon }_{t}={\sigma }_{t}{z}_{t}$ and

$\mathrm{log}{\sigma }_{t}^{2}=\kappa +\sum _{i=1}^{P}{\gamma }_{i}\mathrm{log}{\sigma }_{t-i}^{2}+\sum _{j=1}^{Q}{\alpha }_{j}\left[\frac{|{\epsilon }_{t-j}|}{{\sigma }_{t-j}}-E\left\{\frac{|{\epsilon }_{t-j}|}{{\sigma }_{t-j}}\right\}\right]+\sum _{j=1}^{Q}{\xi }_{j}\left(\frac{{\epsilon }_{t-j}}{{\sigma }_{t-j}}\right).$

The innovation distribution can be Gaussian or Student's t. The default distribution is Gaussian.

In order to estimate, forecast, or simulate a model, you must specify the parametric form of the model (e.g., which lags correspond to nonzero coefficients, the innovation distribution) and any known parameter values. You can set any unknown parameters equal to `NaN`, and then input the model to `estimate` (along with data) to get estimated parameter values.

`egarch` (and `estimate`) returns a model corresponding to the model specification. You can modify models to change or update the specification. Input models (with no `NaN` values) to `forecast` or `simulate` for forecasting and simulation, respectively. Here are some example specifications using name-value arguments.

ModelSpecification
• ${y}_{t}={\epsilon }_{t}$

• ${\epsilon }_{t}={\sigma }_{t}{z}_{t}$

• zt Gaussian

• $\begin{array}{l}\mathrm{log}{\sigma }_{t}^{2}=\kappa +{\gamma }_{1}\mathrm{log}{\sigma }_{t-1}^{2}+\dots \\ \text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}{\alpha }_{1}\left[\frac{|{\epsilon }_{t-1}|}{{\sigma }_{t-1}}-E\left\{\frac{|{\epsilon }_{t-1}|}{{\sigma }_{t-1}}\right\}\right]+{\xi }_{1}\left(\frac{{\epsilon }_{t-1}}{{\sigma }_{t-1}}\right)\end{array}$

`egarch('GARCH',NaN,'ARCH',NaN,...'Leverage',NaN)` or `egarch(1,1)`
• ${y}_{t}=\mu +{\epsilon }_{t}$

• ${\epsilon }_{t}={\sigma }_{t}{z}_{t}$

• zt Student's t with unknown degrees of freedom

• $\begin{array}{l}\mathrm{log}{\sigma }_{t}^{2}=\kappa +{\gamma }_{1}\mathrm{log}{\sigma }_{t-1}^{2}+\dots \\ \text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}{\alpha }_{1}\left[\frac{|{\epsilon }_{t-1}|}{{\sigma }_{t-1}}-E\left\{\frac{|{\epsilon }_{t-1}|}{{\sigma }_{t-1}}\right\}\right]+{\xi }_{1}\left(\frac{{\epsilon }_{t-1}}{{\sigma }_{t-1}}\right)\end{array}$

`egarch('Offset',NaN,'GARCH',NaN,...'ARCH',NaN,'Leverage',NaN,...'Distribution','t')`
• ${y}_{t}={\epsilon }_{t}$

• ${\epsilon }_{t}={\sigma }_{t}{z}_{t}$

• zt Student's t with eight degrees of freedom

• $\begin{array}{l}\mathrm{log}{\sigma }_{t}^{2}=-0.1+0.4\mathrm{log}{\sigma }_{t-1}^{2}+\dots \\ \text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}\text{\hspace{0.17em}}0.3\left[\frac{|{\epsilon }_{t-1}|}{{\sigma }_{t-1}}-E\left\{\frac{|{\epsilon }_{t-1}|}{{\sigma }_{t-1}}\right\}\right]-0.1\left(\frac{{\epsilon }_{t-1}}{{\sigma }_{t-1}}\right)\end{array}$

`egarch('Constant',-0.1,'GARCH',0.4,...'ARCH',0.3,'Leverage',-0.1,...'Distribution',struct('Name','t','DoF',8))`

Here is a full description of the name-value arguments you can use to specify EGARCH models.

 Note:   You cannot assign values to the properties `P` and `Q`. `egarch` sets `P` equal to the largest GARCH lag, and `Q` equal to the largest lag with a nonzero standardized innovation coefficient, including ARCH and leverage coefficients.

Name-Value Arguments for EGARCH Models

NameCorresponding EGARCH Model Term(s)When to Specify
`Offset`Mean offset, μTo include a nonzero mean offset. For example, `'Offset',0.2`. If you plan to estimate the offset term, specify `'Offset',NaN`.
By default, `Offset` has value `0` (meaning, no offset).
`Constant`Constant in the conditional variance model, κTo set equality constraints for κ. For example, if a model has known constant –0.1, specify `'Constant',-0.1`.
By default, `Constant` has value `NaN`.
`GARCH`GARCH coefficients, ${\gamma }_{1},\dots ,{\gamma }_{P}$To set equality constraints for the GARCH coefficients. For example, to specify an EGARCH(1,1) model with ${\gamma }_{1}=0.6,$ specify `'GARCH',0.6`.
You only need to specify the nonzero elements of `GARCH`. If the nonzero coefficients are at nonconsecutive lags, specify the corresponding lags using `GARCHLags`.
Any coefficients you specify must satisfy all stationarity constraints.
`GARCHLags`Lags corresponding to nonzero GARCH coefficients`GARCHLags` is not a model property.
Use this argument as a shortcut for specifying `GARCH` when the nonzero GARCH coefficients correspond to nonconsecutive lags. For example, to specify nonzero GARCH coefficients at lags 1 and 3, e.g., nonzero ${\gamma }_{1}$ and ${\gamma }_{3},$ specify `'GARCHLags',[1,3]`.
Use `GARCH` and `GARCHLags` together to specify known nonzero GARCH coefficients at nonconsecutive lags. For example, if ${\gamma }_{1}=0.3$ and ${\gamma }_{3}=0.1,$ specify `'GARCH',{0.3,0.1},'GARCHLags',[1,3]`
`ARCH`ARCH coefficients, ${\alpha }_{1},\dots ,{\alpha }_{Q}$To set equality constraints for the ARCH coefficients. For example, to specify an EGARCH(1,1) model with ${\alpha }_{1}=0.3,$ specify `'ARCH',0.3`.
You only need to specify the nonzero elements of `ARCH`. If the nonzero coefficients are at nonconsecutive lags, specify the corresponding lags using `ARCHLags`.
`ARCHLags`Lags corresponding to nonzero ARCH coefficients`ARCHLags` is not a model property.
Use this argument as a shortcut for specifying `ARCH` when the nonzero ARCH coefficients correspond to nonconsecutive lags. For example, to specify nonzero ARCH coefficients at lags 1 and 3, e.g., nonzero ${\alpha }_{1}$ and ${\alpha }_{3},$

specify `'ARCHLags',[1,3]`.

Use `ARCH` and `ARCHLags` together to specify known nonzero ARCH coefficients at nonconsecutive lags. For example, if ${\alpha }_{1}=0.4$ and ${\alpha }_{3}=0.2,$ specify `'ARCH',{0.4,0.2},'ARCHLags',[1,3]`
`Leverage`Leverage coefficients, ${\xi }_{1},\dots ,{\xi }_{Q}$To set equality constraints for the leverage coefficients. For example, to specify an EGARCH(1,1) model with ${\xi }_{1}=-0.1,$ specify `'Leverage',-0.1`.
You only need to specify the nonzero elements of `Leverage`. If the nonzero coefficients are at nonconsecutive lags, specify the corresponding lags using `LeverageLags`.
`LeverageLags`Lags corresponding to nonzero leverage coefficients`LeverageLags` is not a model property.
Use this argument as a shortcut for specifying `Leverage` when the nonzero leverage coefficients correspond to nonconsecutive lags. For example, to specify nonzero leverage coefficients at lags 1 and 3, e.g., nonzero ${\xi }_{1}$ and ${\xi }_{3},$

specify `'LeverageLags',[1,3]`.

Use `Leverage` and `LeverageLags` together to specify known nonzero leverage coefficients at nonconsecutive lags. For example, if ${\xi }_{1}=-0.2$ and ${\xi }_{3}=-0.1,$ specify `'Leverage',{-0.2,-0.1},'LeverageLags',[1,3]`.
`Distribution`Distribution of the innovation processUse this argument to specify a Student's t innovation distribution. By default, the innovation distribution is Gaussian.
For example, to specify a t distribution with unknown degrees of freedom, specify `'Distribution','t'`.
To specify a t innovation distribution with known degrees of freedom, assign `Distribution` a data structure with fields `Name` and `DoF`. For example, for a t distribution with nine degrees of freedom, specify `'Distribution',struct('Name','t','DoF',9)`.