egarch class

Create EGARCH time series model

Description

egarch creates model objects for EGARCH models. The EGARCH model is a conditional variance model that models the logged conditional variance (as opposed to the conditional variance directly). The EGARCH(P,Q) model includes P lagged log conditional variances, Q lagged standardized innovations, and Q leverage terms.

Create model objects with known or unknown coefficients. Estimate unknown coefficients from data using estimate.

Construction

model = egarch creates a conditional variance EGARCH model of degrees zero.

model = egarch(P,Q) creates a conditional variance EGARCH model with GARCH degree P and ARCH degree Q.

model = egarch(Name,Value) creates an EGARCH model with additional options specified by one or more Name,Value pair arguments. Name can also be a property name and Value is the corresponding value. Name must appear inside single quotes (''). You can specify several name-value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

Input Arguments

P

Nonnegative integer indicating the number of lagged log conditional variances included in the EGARCH model.

You cannot use this argument in conjunction with name-value pair arguments.

Q

Nonnegative integer indicating the number of lagged standardized innovations included in the EGARCH model. If P is greater than zero, then Q must also be greater than zero.

You cannot use this argument in conjunction with name-value pair arguments.

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside single quotes (' '). You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

'Constant'

Scalar constant in the EGARCH model.

Default: NaN

'GARCH'

Cell vector of coefficients associated with the lagged log conditional variances. When specified without GARCHLags, GARCH is a P-element cell vector of coefficients at lags 1, 2,...,P. When specified with GARCHLags, GARCH is an equivalent-length cell vector of coefficients associated with the lags in GARCHLags.

Default: Cell vector of NaNs with the same length as GARCHLags.

'ARCH'

Cell vector of coefficients associated with the magnitude of lagged standardized innovations. When specified without ARCHLags, ARCH is cell vector of coefficients at lags 1, 2,... to the number of ARCH coefficients in the model. When specified with ARCHLags, ARCH is an equivalent-length cell vector of coefficients associated with the lags in ARCHLags.

Default: Cell vector of NaNs with the same length as ARCHLags.

'Leverage'

Cell vector of coefficients associated with lagged standardized innovations. When specified without LeverageLags, Leverage is a cell vector of coefficients at lags 1, 2,... to the number of leverage coefficients in the model. When specified with LeverageLags, Leverage is an equivalent-length cell vector of coefficients associated with the lags in LeverageLags.

Default: Cell vector of NaNs with the same length as LeverageLags.

'Offset'

Scalar offset, or additive constant, associated with an innovation mean model.

Default: 0

'GARCHLags'

Vector of positive integer lags associated with the GARCH coefficients.

Default: Vector of integers 1, 2,...,P.

'ARCHLags'

Vector of positive integer lags associated with the ARCH coefficients.

Default: Vector of integers 1, 2,... to the number of ARCH coefficients.

'LeverageLags'

Vector of positive integer lags associated with the leverage coefficients.

Default: Vector of integers 1, 2,... to the number of leverage coefficients.

'Distribution'

Conditional probability distribution of the innovation process. Distribution is a string you specify as 'Gaussian' or 't'. Alternatively, specify it as a data structure with the field Name to store the distribution 'Gaussian' or 't'. If the distribution is 't', then the structure also needs the field DoF to store the degrees of freedom.

Default: 'Gaussian'

    Notes:  

    • The software associates each GARCH, ARCH and Leverage coefficient with an underlying lag operator polynomial, and is subject to a near-zero tolerance exclusion test. That is, the software compares each coefficient to the default lag operator zero tolerance, 1e-12. The software includes a coefficient in the model if its magnitude is greater than 1e-12. Otherwise, the coefficient is considered sufficiently close to zero, and the software excludes it from the model. For details, see LagOp.

    • The software defines the property Q as the largest lag associated with nonzero ARCH and Leverage coefficients, or max(ARCHLags,LeverageLags). Typically, the number and corresponding lags of nonzero ARCH and Leverage coefficients are equivalent, but this is not a requirement. In other words, the lengths of ARCH and Leverage might differ.

Properties

P

Largest lag corresponding to a nonzero coefficient of past logged conditional variances.

You can only specify this property when using the egarch(P,Q) syntax. If you use the name-value syntax, egarch automatically sets the property P equal to the largest lag in GARCHLags. If GARCHLags is not specified, egarch sets P equal to the number of elements in GARCH.

You cannot modify this property.

Q

Number of presample innovations needed to initialize the model. This is equal to the largest lag corresponding to a nonzero standardized innovation coefficient.

You can only specify this property if you use the egarch(P,Q) syntax. If you use name-value pair arguments, egarch automatically sets the property Q equal to the largest lag with a nonzero standardized innovation coefficient, including ARCH and leverage coefficients and the corresponding lags in ARCHLags and LeverageLags.

You cannot modify this property.

Constant

Scalar constant in the EGARCH model.

GARCH

Cell vector of coefficients corresponding to the lagged log conditional variance terms.

ARCH

Cell vector of coefficients corresponding to the magnitude of the lagged standardized innovation terms.

Leverage

Cell vector of coefficients corresponding to the lagged standardized innovation terms.

UnconditionalVariance

Biased unconditional variance of the process,

σε2=exp{κ(1i=1Pγi)}.

This property is read-only.

Offset

Additive constant associated with an innovation mean model.

Distribution

Data structure for the conditional probability distribution of the innovation process. The field Name stores the distribution name 'Gaussian' or 't'. If the distribution is 't', then the structure also has the field DoF to store the degrees of freedom.

Methods

estimateFit EGARCH conditional variance model to data
filterFilter disturbances with EGARCH model
forecastForecast EGARCH process
inferInfer EGARCH model conditional variances
printDisplay parameter estimation results for EGARCH models
simulateMonte Carlo simulation of EGARCH models

Definitions

EGARCH Model

Consider a time series yt with a constant mean offset,

yt=μ+εt,

where εt=σtzt. The EGARCH(P,Q) conditional variance process, σt2, is of the form

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

where

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

for a Gaussian innovation distribution, and

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

for a Student's t distribution with ν2 degrees of freedom

  • The additive constant μ corresponds to the name-value argument Offset.

  • The constant κ corresponds to the name-value argument Constant.

  • The coefficients γi correspond to the name-value argument GARCH.

  • The coefficients αj correspond to the name-value argument ARCH.

  • The coefficients ξj correspond to the name-value argument Leverage.

  • The distribution of zt (the innovation distribution) corresponds to the name-value argument Distribution, and can be Gaussian or Student's t.

  • egarch enforces stationarity by ensuring the roots of the P-degree polynomial

    (1γ1Lγ2L2γPLP)

    lie outside the unit circle.

Copy Semantics

Value. To learn how value classes affect copy operations, see Copying Objects in the MATLAB® documentation.

Examples

expand all

Specify an EGARCH Model with Unknown Coefficients

Use the shorthand syntax to create an EGARCH(1,1) model object with unknown coefficients.

model = egarch(1,1)
model = 

    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]

When you use the shorthand syntax, egarch assigns default values to all properties. NaNs indicate unknown parameters in the model.

Specify an EGARCH Model with Known Coefficients

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

yt=0.2+εt,

where εt=σtzt, and

logσt2=0.001+0.7logσt12+0.5[|εt1|σt12π]0.3(εt1σt1)

(that is, zt is an independent and identically distributed standard Gaussian process).

model = egarch('Offset',0.2,'Constant',0.001,...
            'GARCH',0.7,'ARCH',0.5,'Leverage',-0.3)
model = 

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

egarch assigns default values to the properties P and Q.

Modify an egarch Model Object

Specify an EGARCH model, and then modify the created model object.

Specify the EGARCH(1,1) model from the previous example.

model = egarch('Offset',0.2,'Constant',0.001,...
            'GARCH',0.7,'ARCH',0.5,'Leverage',-0.3);

Change the GARCH coefficient to 0.5.

model.GARCH = {0.5}
model = 

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

The output display shows the updated GARCH coefficient.

Change the innovation distribution to a Student's t distribution with eight degrees of freedom.

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

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

The Distribution data structure now has two fields.

Add a second lagged log conditional variance term with GARCH coefficient 0.1.

model.GARCH{2} = 0.1
model = 

    EGARCH(2,1) Conditional Variance Model with Offset:
    -----------------------------------------------------  
    Distribution: Name = 't', DoF = 8
               P: 2
               Q: 1
        Constant: 0.001
           GARCH: {0.5 0.1} at Lags [1 2]
            ARCH: {0.5} at Lags [1]
        Leverage: {-0.3} at Lags [1]
          Offset: 0.2

There are now two GARCH coefficients at lags 1 and 2.

Was this topic helpful?