public class EGARCH extends ExtendedGARCH
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.
ExtendedGARCH.Solver, ExtendedGARCH.zDistribution
Constructor and Description |
---|
EGARCH(TimeSeries ts)
Constructs an EGARCH(1,1) model
|
EGARCH(TimeSeries ts,
int p,
int q,
int[] meanModel)
Constructs an EGARCH(p, q) model with a possible ARMA configuration for
the mean.
|
Modifier and Type | Method and Description |
---|---|
double |
conditionalVarianceFunction(double sigma2)
Implements the function \(h =\log(\sigma^2)\) for the EGARCH model.
|
double |
conditionalVarianceInverseFunction(double f)
Implements the inverse function \(h^{-1}(f)= \exp(h) = \sigma^2\) for
the EGARCH model.
|
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.
|
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
public EGARCH(TimeSeries ts)
ts
- An object of class TimeSeries
containing the datapublic EGARCH(TimeSeries ts, int p, int q, int[] meanModel)
ts
- an object of class TimeSeries
containing the datap
- an int
, the GARCH order for the modelq
- an int
, the ARCH order for the modelmeanModel
- an int
array containing the ARMA mean model
specification. meanModel
must 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. If meanModel
is
null
, the mean model is not fit.public double conditionalVarianceFunction(double sigma2)
conditionalVarianceFunction
in class ExtendedGARCH
sigma2
- a double
representing the conditional
variancedouble
, the value of the functionpublic double conditionalVarianceInverseFunction(double f)
conditionalVarianceInverseFunction
in class ExtendedGARCH
f
- a double
representing the function value \( h =
\log(\sigma^2)\)double
, the value of the inverse \(\sigma^2\)public double gFunction(double epsilon, double sigma, int lag, double[] params, double[] values)
ExtendedGARCH.setValues(double[])
.gFunction
in class ExtendedGARCH
epsilon
- a double
, the value of the return seriessigma
- a double
, the square root of the conditional
variancelag
- an int
, the value of the lag \(k\)params
- a double
array containing the parameter
valuesvalues
- a double
array containing the additional
valuesdouble
, the value of the functionCopyright © 2020 Rogue Wave Software. All rights reserved.