Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

Specify EGARCH Models Using egarch

Default EGARCH Model

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

εt=σtzt,

with Gaussian innovation distribution and

logσt2=κ+i=1Pγilogσti2+j=1Qαj[|εtj|σtjE{|εtj|σtj}]+j=1Qξj(εtjσtj).

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
PNumber of GARCH terms, P
QNumber of ARCH and leverage terms, Q
Offset0
ConstantNaN
GARCHCell vector of NaNs
ARCHCell vector of NaNs
LeverageCell vector of NaNs
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

εt=σtzt,

with Gaussian innovation distribution and

logσt2=κ+γ1logσt12+α1[|εt1|σt1E{|εt1|σt1}]+ξ1(εt1σt1).

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 NaNs 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: {}

Specify Default EGARCH Model

This example shows how to use the shorthand egarch(P,Q) syntax to specify the default EGARCH(P, Q) model, $\varepsilon_t = \sigma_t z_t$ with a Gaussian innovation distribution and

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

By default, all parameters in the created model have unknown values.

Specify the default EGARCH(1,1) model:

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 output shows that the created model, Mdl, has NaN values for all model parameters: the constant term, the GARCH coefficient, the ARCH coefficient, and the leverage coefficient. You can modify the created model using dot notation, or input it (along with data) to estimate.

Using Name-Value Pair Arguments

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

yt=μ+εt,

where εt=σtzt and

logσt2=κ+i=1Pγilogσti2+j=1Qαj[|εtj|σtjE{|εtj|σtj}]+j=1Qξj(εtjσtj).

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
  • yt=εt

  • εt=σtzt

  • zt Gaussian

  • logσt2=κ+γ1logσt12+α1[|εt1|σt1E{|εt1|σt1}]+ξ1(εt1σt1)

egarch('GARCH',NaN,'ARCH',NaN,...
'Leverage',NaN)
or egarch(1,1)
  • yt=μ+εt

  • εt=σtzt

  • zt Student's t with unknown degrees of freedom

  • logσt2=κ+γ1logσt12+α1[|εt1|σt1E{|εt1|σt1}]+ξ1(εt1σt1)

egarch('Offset',NaN,'GARCH',NaN,...
'ARCH',NaN,'Leverage',NaN,...
'Distribution','t')
  • yt=εt

  • εt=σtzt

  • zt Student's t with eight degrees of freedom

  • logσt2=0.1+0.4logσt12+0.3[|εt1|σt1E{|εt1|σt1}]0.1(εt1σt1)

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
OffsetMean 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).
ConstantConstant 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.
GARCHGARCH coefficients, γ1,,γPTo set equality constraints for the GARCH coefficients. For example, to specify an EGARCH(1,1) model with γ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.
GARCHLagsLags corresponding to nonzero GARCH coefficientsGARCHLags 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 γ1 and γ3, specify 'GARCHLags',[1,3].
Use GARCH and GARCHLags together to specify known nonzero GARCH coefficients at nonconsecutive lags. For example, if γ1=0.3 and γ3=0.1, specify 'GARCH',{0.3,0.1},'GARCHLags',[1,3]
ARCHARCH coefficients, α1,,αQTo set equality constraints for the ARCH coefficients. For example, to specify an EGARCH(1,1) model with α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.
ARCHLagsLags corresponding to nonzero ARCH coefficientsARCHLags 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 α1 and α3,

specify 'ARCHLags',[1,3].


Use ARCH and ARCHLags together to specify known nonzero ARCH coefficients at nonconsecutive lags. For example, if α1=0.4 and α3=0.2, specify 'ARCH',{0.4,0.2},'ARCHLags',[1,3]
LeverageLeverage coefficients, ξ1,,ξQTo set equality constraints for the leverage coefficients. For example, to specify an EGARCH(1,1) model with ξ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.
LeverageLagsLags corresponding to nonzero leverage coefficientsLeverageLags 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 ξ1 and ξ3,

specify 'LeverageLags',[1,3].


Use Leverage and LeverageLags together to specify known nonzero leverage coefficients at nonconsecutive lags. For example, if ξ1=0.2 and ξ3=0.1, specify 'Leverage',{-0.2,-0.1},'LeverageLags',[1,3].
DistributionDistribution 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).

Specify EGARCH Model with Mean Offset

This example shows how to specify an EGARCH(P, Q) model with a mean offset. Use name-value pair arguments to specify a model that differs from the default model.

Specify an EGARCH(1,1) model with a mean offset,

$$y_t = \mu + \varepsilon_t,$$

where $\varepsilon_t = \sigma_t z_t$ and

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

Mdl = egarch('Offset',NaN,'GARCHLags',1,'ARCHLags',1,...
    'LeverageLags',1)
Mdl = 

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

The mean offset appears in the output as an additional parameter to be estimated or otherwise specified.

Specify EGARCH Model with Nonconsecutive Lags

This example shows how to specify an EGARCH model with nonzero coefficients at nonconsecutive lags.

Specify an EGARCH(3,1) model with nonzero GARCH terms at lags 1 and 3. Include a mean offset.

Mdl = egarch('Offset',NaN,'GARCHLags',[1,3],'ARCHLags',1,...
    'LeverageLags',1)
Mdl = 

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

The unknown nonzero GARCH coefficients correspond to lagged log variances at lags 1 and 3. The output shows only the nonzero coefficients.

Display the value of GARCH:

Mdl.GARCH
ans =

  1×3 cell array

    [NaN]    [0]    [NaN]

The GARCH cell array returns three elements. The first and third elements have value NaN, indicating these coefficients are nonzero and need to be estimated or otherwise specified. By default, egarch sets the interim coefficient at lag 2 equal to zero to maintain consistency with MATLAB® cell array indexing.

Specify EGARCH Model with Known Parameter Values

This example shows how to specify an EGARCH model with known parameter values. You can use such a fully specified model as an input to simulate or forecast.

Specify the EGARCH(1,1) model

$$\log \sigma _t^2 = 0.1 + 0.6\log \sigma _{t - 1}^2 + 0.2\left[ {\frac{{\left| {{\varepsilon _{t - 1}}} \right|}}{{{\sigma _{t - 1}}}} - E\left\{ {\frac{{\left| {{\varepsilon _{t - 1}}} \right|}}{{{\sigma _{t - 1}}}}} \right\}} \right] - 0.1\left( {\frac{{{\varepsilon _{t - 1}}}}{{{\sigma _{t - 1}}}}} \right)$$

with a Gaussian innovation distribution.

Mdl = egarch('Constant',0.1,'GARCH',0.6,'ARCH',0.2,...
    'Leverage',-0.1)
Mdl = 

    EGARCH(1,1) Conditional Variance Model:
    -----------------------------------------  
    Distribution: Name = 'Gaussian'
               P: 1
               Q: 1
        Constant: 0.1
           GARCH: {0.6} at Lags [1]
            ARCH: {0.2} at Lags [1]
        Leverage: {-0.1} at Lags [1]

Because all parameter values are specified, the created model has no NaN values. The functions simulate and forecast don't accept input models with NaN values.

Specify EGARCH Model with t Innovation Distribution

This example shows how to specify an EGARCH model with a Student's t innovation distribution.

Specify an EGARCH(1,1) model with a mean offset,

$$y_t = \mu + \varepsilon_t,$$

where $\varepsilon_t = \sigma_t z_t$ and

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

Assume $z_{t}$ follows a Student's t innovation distribution with 10 degrees of freedom.

tDist = struct('Name','t','DoF',10);
Mdl = egarch('Offset',NaN,'GARCHLags',1,'ARCHLags',1,...
    'LeverageLags',1,'Distribution',tDist)
Mdl = 

    EGARCH(1,1) Conditional Variance Model with Offset:
    -----------------------------------------------------  
    Distribution: Name = 't', DoF = 10
               P: 1
               Q: 1
        Constant: NaN
           GARCH: {NaN} at Lags [1]
            ARCH: {NaN} at Lags [1]
        Leverage: {NaN} at Lags [1]
          Offset: NaN

The value of Distribution is a struct array with field Name equal to 't' and field DoF equal to 10. When you specify the degrees of freedom, they aren't estimated if you input the model to estimate.

See Also

| | | |

Related Examples

More About

Was this topic helpful?