Main Content

Specify EGARCH Models

Default EGARCH Model

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

εt=σtzt,

with Gaussian innovation distribution and

logσt2=κ+j=1Pγjlogσt-j2+k=1Q{αk[|εt-k|σt-k-E(|εt-k|σt-k)]+ξk[εt-kσt-k]}.

The default model has no mean offset, and the lagged log variances and standardized innovations are at consecutive lags. For more details on EGARCH models, see What Is an EGARCH Model?

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 conditional variances (GARCH terms), P, and lagged squared innovations (ARCH and leverage terms), Q, respectively. The following restrictions apply:

  • P and Q must be nonnegative integers.

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

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

Property

Default Value

P

Number of GARCH terms P

Q

Number of ARCH and leverage terms Q

Offset

0

Constant

NaN

GARCH

Cell vector of NaNs

ARCH

Cell vector of NaNs

Leverage

Cell vector of NaNs

Distribution

"Gaussian"

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

For example, use egarch to create the EGARCH(1,1) model

εt=σtzt,

with Gaussian innovation distribution and

logσt2=κ+γ1logσt-12+α1[|εt-1|σt-1-E(|εt-1|σt-1)]+ξ1[εt-1σt-1].

Mdl = egarch(1,1)
Mdl = 
  egarch with properties:

     Description: "EGARCH(1,1) Conditional Variance Model (Gaussian Distribution)"
      SeriesName: "Y"
    Distribution: Name = "Gaussian"
               P: 1
               Q: 1
        Constant: NaN
           GARCH: {NaN} at lag [1]
            ARCH: {NaN} at lag [1]
        Leverage: {NaN} at lag [1]
          Offset: 0

The returned model Mdl has NaNs for all model parameters. A NaN value signals to object functions, such as estimate, that a parameter needs to be estimated or otherwise specified by you. You must specify all parameters to, for example, forecast or simulate the model using forecast or simulate.

To estimate parameters, input the model and data to the estimate function. This function returns a fitted egarch model object. The properties of the fitted model contain parameter estimates for the corresponding NaN values of the input model.

When you call egarch without specifying input arguments, egarch returns a GARCH(0,0) model object containing default property values. Inspect the default values of a default egarch model object.

DefaultMdl = egarch
DefaultMdl = 
  egarch with properties:

     Description: "EGARCH(0,0) Conditional Variance Model (Gaussian Distribution)"
      SeriesName: "Y"
    Distribution: Name = "Gaussian"
               P: 0
               Q: 0
        Constant: NaN
           GARCH: {}
            ARCH: {}
        Leverage: {}
          Offset: 0

Create EGARCH Model By Using Shorthand Syntax

Use the shorthand egarch(P,Q) syntax to create the EGARCH(1,1) model

εt=σtzt,

with a Gaussian innovation distribution and

logσt2=κ+i=1Pγilogσt-i2+j=1Qαj[|εt-j|σt-j-E{|εt-j|σt-j}]+j=1Qξj(εt-jσt-j).

Mdl = egarch(1,1)
Mdl = 
  egarch with properties:

     Description: "EGARCH(1,1) Conditional Variance Model (Gaussian Distribution)"
      SeriesName: "Y"
    Distribution: Name = "Gaussian"
               P: 1
               Q: 1
        Constant: NaN
           GARCH: {NaN} at lag [1]
            ARCH: {NaN} at lag [1]
        Leverage: {NaN} at lag [1]
          Offset: 0

The output shows that the model Mdl has NaN values for these model parameters:

  • Constant — the conditional variance model constant term κ

  • GARCH — the lag 1 GARCH coefficient γ1

  • ARCH — the lag 1 ARCH coefficient α1

  • Leverage — the lag 1 leverage coefficient ξ1

The default innovation model offset, specified by Offset, is 0.

You can modify the model by using dot notation or by passing it and data to the estimate function.

Using Name-Value Arguments

The most flexible way to specify EGARCH models is using name-value 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 (for example, 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 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 α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 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 ξ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 process

Use 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 Using Econometric Modeler App

You can specify the lag structure, innovation distribution, and leverages of EGARCH models using the Econometric Modeler app. The app treats all coefficients as unknown and estimable, including the degrees of freedom parameter for a t innovation distribution.

At the command line, open the Econometric Modeler app.

econometricModeler

Alternatively, open the app from the apps gallery (see Econometric Modeler).

In the app, you can see all supported models by selecting a time series variable for the response in the Time Series pane. Then, on the Econometric Modeler tab, in the Models section, click the arrow to display the models gallery.

Screen shot of Models gallery with ARMA/ARIMA Models, GARCH Models, and Regression Models. Below each section there are several icons representing specific model types.

The GARCH Models section contains all supported conditional variance models. To specify an EGARCH model, click EGARCH. The EGARCH Model Parameters dialog box appears.

Screen shot of EGARCH Model Parameters dialog box with Lag Order tab selected.

Adjustable parameters include:

  • GARCH Degree – The order of the GARCH polynomial.

  • ARCH Degree – The order of the ARCH polynomial. The value of this parameter also specifies the order of the leverage polynomial.

  • Include Offset – The inclusion of a model offset.

  • Innovation Distribution – The innovation distribution.

As you adjust parameter values, the equation in the Model Equation section changes to match your specifications. Adjustable parameters correspond to input and name-value pair arguments described in the previous sections and in the egarch reference page.

For more details on specifying models using the app, see Fitting Models to Data and Specifying Univariate Lag Operator Polynomials Interactively.

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,

yt=μ+εt,

where εt=σtzt and

logσt2=κ+γ1logσt-12+α1[|εt-1|σt-1-E{|εt-1|σt-1}]+ξ1(εt-1σt-1).

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

     Description: "EGARCH(1,1) Conditional Variance Model with Offset (Gaussian Distribution)"
      SeriesName: "Y"
    Distribution: Name = "Gaussian"
               P: 1
               Q: 1
        Constant: NaN
           GARCH: {NaN} at lag [1]
            ARCH: {NaN} at lag [1]
        Leverage: {NaN} at lag [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 with properties:

     Description: "EGARCH(3,1) Conditional Variance Model with Offset (Gaussian Distribution)"
      SeriesName: "Y"
    Distribution: Name = "Gaussian"
               P: 3
               Q: 1
        Constant: NaN
           GARCH: {NaN NaN} at lags [1 3]
            ARCH: {NaN} at lag [1]
        Leverage: {NaN} at lag [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σt2=0.1+0.6logσt-12+0.2[|εt-1|σt-1-E{|εt-1|σt-1}]-0.1(εt-1σt-1)

with a Gaussian innovation distribution.

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

     Description: "EGARCH(1,1) Conditional Variance Model (Gaussian Distribution)"
      SeriesName: "Y"
    Distribution: Name = "Gaussian"
               P: 1
               Q: 1
        Constant: 0.1
           GARCH: {0.6} at lag [1]
            ARCH: {0.2} at lag [1]
        Leverage: {-0.1} at lag [1]
          Offset: 0

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,

yt=μ+εt,

where εt=σtzt and

logσt2=κ+γ1logσt-12+α1[|εt-1|σt-1-E{|εt-1|σt-1}]+ξ1(εt-1σt-1).

Assume zt 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 with properties:

     Description: "EGARCH(1,1) Conditional Variance Model with Offset (t Distribution)"
      SeriesName: "Y"
    Distribution: Name = "t", DoF = 10
               P: 1
               Q: 1
        Constant: NaN
           GARCH: {NaN} at lag [1]
            ARCH: {NaN} at lag [1]
        Leverage: {NaN} at lag [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.

What Is an EGARCH Model?

An exponential generalized autoregressive conditional heteroscedastic (EGARCH) model is a type of conditional variance model, a dynamic model that addresses conditional heteroscedasticity, or volatility clustering, in an innovations process εt. Volatility clustering occurs when an innovations process does not exhibit significant autocorrelation, but the variance of the innovations process changes with time and exhibits autocorrelation.

An EGARCH model posits that the current conditional variance is the sum of these linear processes:

  • Past logged conditional variances (the GARCH component or polynomial)

  • Magnitudes of past standardized innovations (the ARCH component or polynomial)

  • Past standardized innovations (the leverage component or polynomial)

Conditional Variance Model

Consider the time series

yt=μ+εt,

where εt=σtzt. Here, zt is an independent and identically distributed series of standardized random variables (Econometrics Toolbox™ supports standardized Gaussian and standardized Student’s t innovation distributions). The constant term, μ, is a mean offset.

A conditional variance model specifies the dynamic evolution of the innovation variance,

σt2=Var(εt|Ht1),

where Ht–1 is the history of the process. The history includes:

  • Past variances, σ12,σ22,,σt12

  • Past innovations, ε1,ε2,,εt1

Conditional variance models are appropriate for time series that do not exhibit significant autocorrelation, but are serially dependent. The innovation series εt=σtzt is uncorrelated, because:

  • E(εt) = 0.

  • E(εtεt–h) = 0 for all t and h0.

However, if σt2 depends on σt12, for example, then εt depends on εt–1, even though they are uncorrelated. This kind of dependence exhibits itself as autocorrelation in the squared innovation series, εt2.

EGARCH Model

The EGARCH model is a GARCH variant that models the logarithm of the conditional variance process. In addition to modeling the logarithm, the EGARCH model has additional leverage terms to capture asymmetry in volatility clustering.

The EGARCH(P,Q) model has P GARCH coefficients associated with lagged log variance terms, Q ARCH coefficients associated with the magnitude of lagged standardized innovations, and Q leverage coefficients associated with signed, lagged standardized innovations. The form of the EGARCH(P,Q) model in Econometrics Toolbox is

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 form of the expected value terms associated with ARCH coefficients in the EGARCH equation depends on the distribution of zt:

  • If the innovation distribution is Gaussian, then

    E{|εtj|σtj}=E{|ztj|}=2π.

  • If the innovation distribution is Student’s t with ν > 2 degrees of freedom, then

    E{|εtj|σtj}=E{|ztj|}=ν2πΓ(ν12)Γ(ν2).

The toolbox treats the EGARCH(P,Q) model as an ARMA model forlogσt2. Thus, to ensure stationarity, all roots of the GARCH coefficient polynomial,(1γ1LγPLP), must lie outside the unit circle.

The EGARCH model is unique from the GARCH and GJR models because it models the logarithm of the variance. By modeling the logarithm, positivity constraints on the model parameters are relaxed. However, forecasts of conditional variances from an EGARCH model are biased, because by Jensen’s inequality,

E(σt2)exp{E(logσt2)}.

An EGARCH(1,1) specification is complex enough for most applications. For an EGARCH(1,1) model, the GARCH and ARCH coefficients are expected to be positive, and the leverage coefficient is expected to be negative; large unanticipated downward shocks should increase the variance. If you get signs opposite to those expected, you might encounter difficulties inferring volatility sequences and forecasting (a negative ARCH coefficient can be particularly problematic). In this case, an EGARCH model might not be the best choice for your application.

See Also

Objects

Functions

Related Topics