Class EGARCH
- All Implemented Interfaces:
Serializable,Cloneable
For a time series \( \epsilon_t \) the exponential GARCH\((p,q)\) model has the form
$$ \left\{ \begin{array}{ll} \epsilon_t = \sigma_tz_t & \\ h(\sigma_t) = \log \sigma_t^2 =
\omega + I(B) g(\epsilon_t,\sigma_t) + \beta(B)\log(\sigma^2_{t}) &
\end{array} \right.$$ where $$g(\epsilon_{t-k},\sigma_{t-k})=\alpha_k z_{t-k}
+ \gamma_k(|z_{t-k}| - E|z_{t-k}|) $$ \(I(B) = \sum_{i=1}^{q}B^i\),
\(\beta(B) = \sum_{i=1}^{p}\beta_i B^i\), and \(B^k z_t = z_{t-k}\) is the
back shift operator. The integers \(p,q\) are the GARCH and ARCH orders,
respectively. The parameters \(\{ \omega,\alpha_k,\beta_i,\gamma_k\}\) are
real numbers to be estimated in the model and the random variables \(z_t\)
are independent and identically distributed. The default distribution for
\(z_t\) is the standard normal; choices other than normal can be implemented
via the interface, ExtendedGARCH.zDistribution.
The exponential GARCH was introduced by Nelson (1991). The model addresses two drawbacks of the classical GARCH model. First, the log function on \(\sigma^2\) removes restrictions on the parameters usually needed to ensure the conditional variance remains positive. Second, through the specification of \(g\), the exponential GARCH allows for asymmetric behavior in response to market moves, known as leverage. For instance, it is frequently observed in real data that volatility increases more rapidly during market declines than during market rises.
References
Nelson, D.B. (1991) Conditional heteroskedasticity in asset returns: A new approach.
Econometrica 59: 347–370.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.imsl.stat.ExtendedGARCH
ExtendedGARCH.Solver, ExtendedGARCH.zDistribution -
Constructor Summary
ConstructorsConstructorDescriptionEGARCH(TimeSeries ts) Constructs an EGARCH(1,1) modelEGARCH(TimeSeries ts, int p, int q, int[] meanModel) Constructs an EGARCH(p, q) model with a possible ARMA configuration for the mean. -
Method Summary
Modifier and TypeMethodDescriptiondoubleconditionalVarianceFunction(double sigma2) Implements the function \(h =\log(\sigma^2)\) for the EGARCH model.doubleconditionalVarianceInverseFunction(double f) Implements the inverse function \(h^{-1}(f)= \exp(h) = \sigma^2\) for the EGARCH model.doublegFunction(double epsilon, double sigma, int lag, double[] params, double[] values) Returns the value of \( g(\epsilon,\sigma) \) evaluated at the input parameter values.Methods inherited from class com.imsl.stat.ExtendedGARCH
estimate, filter, forecast, getARCH, getConditionalVariance, getDataSeries, getFinalLogLikelihood, getGARCH, getMeanModel, getMeanModelParameters, getNumberOfParameters, getParameterLowerBounds, getParameters, getParameterUpperBounds, getResidualSeries, getT, isIncludeMean, isMustEstimate, setInitialConditionalVariance, setMaxNumberOfEvaluations, setMeanModel, setMustEstimate, setNumberOfParameters, setNumberOfThreads, setParameterLowerBounds, setParameters, setParameterUpperBounds, setRandomObject, setSolverMethod, setTolerance, setValues, setZDistribution
-
Constructor Details
-
EGARCH
Constructs an EGARCH(1,1) model- Parameters:
ts- An object of classTimeSeriescontaining the data
-
EGARCH
Constructs an EGARCH(p, q) model with a possible ARMA configuration for the mean.- Parameters:
ts- an object of classTimeSeriescontaining the datap- anint, the GARCH order for the modelq- anint, the ARCH order for the modelmeanModel- anintarray containing the ARMA mean model specification.meanModelmust have the following form: \(\{p^\prime,0,q^\prime\}\), where \(\{p^\prime,q^\prime\}\) are, respectively, the AR and MA orders for the ARMA model. IfmeanModelisnull, the mean model is not fit.
-
-
Method Details
-
conditionalVarianceFunction
public double conditionalVarianceFunction(double sigma2) Implements the function \(h =\log(\sigma^2)\) for the EGARCH model.- Specified by:
conditionalVarianceFunctionin classExtendedGARCH- Parameters:
sigma2- adoublerepresenting the conditional variance- Returns:
- a
double, the value of the function
-
conditionalVarianceInverseFunction
public double conditionalVarianceInverseFunction(double f) Implements the inverse function \(h^{-1}(f)= \exp(h) = \sigma^2\) for the EGARCH model.- Specified by:
conditionalVarianceInverseFunctionin classExtendedGARCH- Parameters:
f- adoublerepresenting the function value \( h = \log(\sigma^2)\)- Returns:
- a
double, the value of the inverse \(\sigma^2\)
-
gFunction
public double gFunction(double epsilon, double sigma, int lag, double[] params, double[] values) Returns the value of \( g(\epsilon,\sigma) \) evaluated at the input parameter values. This function is called by methods in the Extended GARCH class. $$ g(\epsilon_{t-k},\sigma_{t-k}) = \alpha_{k}\frac{\epsilon_{t-k}}{\sigma_{t-k}} + \gamma_k (|\frac{\epsilon_{t-k}}{\sigma_{t-k}}| - E[|\frac{\epsilon_{t-k}}{\sigma_{t-k}}|]) =\alpha_{k}z_{t-k} + \gamma_k(|z_{t-k}| - E[|z_{t-k}|])$$ The expectation \(E[|z_t|]\) depends on the distribution of \(z_t\). When using a distribution other than the default normal, the expectation must be set via the methodExtendedGARCH.setValues(double[]).- Specified by:
gFunctionin classExtendedGARCH- Parameters:
epsilon- adouble, the value of the return seriessigma- adouble, the square root of the conditional variancelag- anint, the value of the lag \(k\)params- adoublearray containing the parameter valuesvalues- adoublearray containing the additional values- Returns:
- a
double, the value of the function
-