Learn R Programming

fEGarch (version 1.0.1)

fEGarch_spec: General EGARCH Family Model Specification

Description

Create an object with specifications for a model from the broader EGARCH family.

Usage

fEGarch_spec(
  model_type = c("egarch", "loggarch"),
  orders = c(1, 1),
  long_memo = FALSE,
  cond_dist = c("norm", "std", "ged", "ald", "snorm", "sstd", "sged", "sald"),
  powers = c(1, 1),
  modulus = c(FALSE, FALSE)
)

Value

An object of either class "egarch_type_spec" or "loggarch_type_spec" is returned, depending on the choice for the input argument model_type.

Arguments

model_type

a character value (either "egarch" or "loggarch") that indicates the type of model to implement (see Details for more information).

orders

a two-element numeric vector with the model orders; the first element is the order \(p\) for the term based on \(\ln\left(\sigma_t^2\right)\), i.e. the log-transformed conditional variance, while the second element is the order \(q\) for the innovation-based term (see Details below for more information).

long_memo

a logical value that indicates whether the long-memory version of the model should be considered or not.

cond_dist

a character value stating the underlying conditional distribution to consider; available are a normal distribution ("norm"), a \(t\)-distribution ("std"), a generalized error distribution ("ged"), an average Laplace distribution ("ald") and the skewed versions of them ("snorm", "sstd", "sged", "sald").

powers

a two-element numeric vector that states the exponents in the power-transformations of the asymmetry and the magnitude terms in that order (see Details for more information).

modulus

a two-element logical vector indicating if the innovations in the asymmetry and the magnitude terms (in that order) should use a modulus transformation (see Details for more information).

Details

Let \(\left\{r_t\right\}\), with \(t \in \mathbb{Z}\) as the time index, be a theoretical time series that follows $$r_t=\mu+\sigma_t \eta_t \text{ with } \eta_t \sim \text{IID}(0,1), \text{ where}$$ $$\ln\left(\sigma_t^2\right)=\omega_{\sigma}+\theta(B)g(\eta_{t-1}).$$ Here, \(\eta_t\sim\text{IID}(0,1)\) means that the innovations \(\eta_t\) are independent and identically distributed (iid) with mean zero and variance one, whereas \(\sigma_t > 0\) are the conditional standard deviations in \(r_t\). Note that \(\ln\left(\cdot\right)\) denotes the natural logarithm. Moreover, \(B\) is the backshift operator and \(\theta(B) = 1 +\sum_{i=1}^{\infty}\theta_i B^{i}\), where \(\theta_i\), \(i=1,2,\dots\), are real-valued coefficients. \(g\left(\eta_{t-1}\right)\) is a suitable function in \(\eta_{t-1}\). Generally, \(\left\{g\left(\eta_{t}\right)\right\}\) should be an iid zero-mean sequence with finite variance. We have \(\mu = E\left(r_t\right)\) as a real-valued parameter. The real-valued parameter \(\omega_{\sigma}\) is in fact \(\omega_{\sigma}=E\left[\ln\left(\sigma_t^2\right)\right]\). This previous set of equations defines the broader family of EGARCH models (Feng et al., 2025; Ayensu et al., 2025), from which subtypes are described in the following that depend on the choice of \(g\).

\(\textbf{Type I}:\)

We have \(\theta(B) = \phi^{-1}(B)(1-B)^{-d}\psi(B)\), where $$\phi(B) = 1-\sum_{i=1}^{p}\phi_{i}B^{i} \text{ and}$$ $$\psi(B) = 1+\sum_{j=1}^{q-1}\psi_{j}B^{j},$$ are characteristic polynomials with real coefficients \(\phi_{0},\dots,\phi_{p},\psi_{0},\dots,\psi_{q-1}\), by fixing \(\phi_{0}=\psi_{0}=1\), and without common roots. Furthermore, the fractional differencing parameter is \(d \in [0,1]\).

\(g\left(\cdot\right)\) can be defined in different ways. Following a type I specification (model_type = "egarch"), we have $$g\left(\eta_t\right)=\kappa \left\{g_a\left(\eta_t\right) - E\left[g_a\left(\eta_t\right)\right] \right\} + \gamma\left\{g_m\left(\eta_t\right)-E\left[ g_m\left(\eta_t\right)\right]\right\}$$ with \(g_a\left(\eta_t\right)\) and \(g_m\left(\eta_t\right)\) being suitable transformations of \(\eta_t\) and where \(\kappa\) and \(\gamma\) are two additional real-valued parameters. In case of a simple (FI)EGARCH, we have \(g_a\left(\eta_t\right) = \eta_t\) (and therefore with \(E\left[g_a\left(\eta_t\right)\right] = 0\)) and \(g_m\left(\eta_t\right) = \left|\eta_t \right|\).

Generally, we consider two cases: $$g_{1,a}\left(\eta_t\right)=\text{sgn}\left(\eta_t\right)\left|\eta_t\right|^{p_a}/p_a \text{ and}$$ $$g_{2,a}\left(\eta_t\right)=\text{sgn}\left(\eta_t\right)\left[\left(\left|\eta_t\right| + 1\right)^{p_a} - 1\right] / p_{a}$$ whereas $$g_{1,m}\left(\eta_t\right)=\left|\eta_t\right|^{p_m}/p_m \text{ and}$$ $$g_{2,m}\left(\eta_t\right)=\left[\left(\left|\eta_t\right| + 1\right)^{p_m} - 1\right] / p_{m}.$$ Note that \(\text{sgn}\left(\eta_t\right)\) denotes the sign of \(\eta_t\). \(g_{1,\cdot}\) incorporates a power transformation and \(g_{2,\cdot}\) a modulus transformation together with a power transformation. The choices \(g_{1,a}\) and \(g_{2,a}\) correspond to setting the first element in modulus to FALSE or TRUE, respectively, under model_type = "egarch", where \(p_a\) can be selected via the first element in powers. As a special case, for \(p_a = 0\), a log-transformation is employed and the division through \(p_a\) is dropped, i.e. \(g_{1,a}\left(\eta_t\right)=\text{sgn}\left(\eta_t\right)\ln\left(\left|\eta_t\right|\right)\) and \(g_{2,a}\left(\eta_t\right)=\text{sgn}\left(\eta_t\right)\ln\left(\left|\eta_t\right|+1\right)\) are employed for \(p_a=0\). Completely analogous thoughts hold for \(g_{1,m}\) and \(g_{2,m}\) and the second elements in the arguments modulus and powers. The aforementioned model family is a type I model selectable through model_type = "egarch". Simple (FI)EGARCH models are given through selection of \(g_{1,a}(\cdot)\) and \(g_{1,m}(\cdot)\) in combination with \(p_a = p_m = 1\). Another of such type I models is the FIMLog-GARCH (Feng et al., 2023), where instead \(g_{2,a}(\cdot)\) and \(g_{2,m}(\cdot)\) are selected with \(p_a = p_m = 0\).

\(\textbf{Type II}:\)

As additional specifications of a Log-GARCH and a FILog-GARCH, which belong to the broader EGARCH family, we redefine $$\psi(B) = 1+\sum_{j=1}^{q}\psi_{j}B^{j}$$ now as a polynomial of order \(q\) and $$\ln\left(\sigma_t^2\right)=\omega_{\sigma}+\left[\phi^{-1}(B)(1-B)^{-d}\psi(B) - 1\right]\xi_t,$$ where $$\xi_t=\ln\left(\eta_t^2\right)-E\left[\ln\left(\eta_t^2\right)\right].$$ Everything else is defined as before. Since $$\phi^{-1}(B)(1-B)^{-d}\psi(B) - 1=\sum_{i=1}^{\infty}\gamma_i B^{i}=\gamma_1 B\left[\sum_{i=1}^{\infty}(\gamma_i/\gamma_1)B^{i-1}\right]=\gamma_1 B\left[1+\sum_{i=1}^{\infty}\theta_i B^{i}\right]=\theta(B)\gamma_1 B,$$ where \(\theta_i = \gamma_{i+1}/\gamma_{1}\), \(i=0,1,\dots\), and by defining $$g\left(\eta_{t-1}\right)=\gamma_1\left\{\ln\left(\eta_{t-1}^2\right)-E\left[\ln\left(\eta_{t-1}^2\right)\right]\right\} = 2\gamma_1\left\{\ln\left(\left|\eta_{t-1}\right|\right)-E\left[\ln\left(\left|\eta_{t-1}\right|\right)\right]\right\},$$ the equation of \(\ln\left(\sigma_t^2\right)\) can be stated to be $$\ln\left(\sigma_t^2\right)=\omega_{\sigma}+\theta(B)g(\eta_{t-1})$$ as in the broad EGARCH family at the very beginning. Therefore, Log-GARCH and FI-Log-GARCH models are equivalent to the type I models, where \(\kappa = 0\) with usage of \(g_{1,m}\) with \(p_m = 0\) and where \(\gamma = 2\gamma_1\). Nonetheless, in this package, the type II models make use of the more common parameterization of \(\ln\left(\sigma_t^2\right)\) stated at the beginning of the type II model description.

This describes the established Log-GARCH models as part of the broad EGARCH family (type II models; model_type = "loggarch").

\(\textbf{General information}:\)

While the arguments powers and modulus are only relevant under a type I model, i.e. for model_type = "egarch", the arguments orders, long_memo and cond_dist are meaningful for both model_type = "egarch" and model_type = "loggarch", i.e. both under type I and II models. The first element of the two-element vector orders is the order \(p\), while the second element is the order \(q\). Furthermore, for long_memo = TRUE, the mentioned models are kept as they are, while for long_memo = FALSE the parameter \(d\) is set to zero. cond_dist controls the conditional distribution. The unconditional mean \(\mu\) is controlled via the function mean_spec; for include_mean = FALSE therein, \(\mu\) is not being estimated and fixed to zero; its default is however include_mean = TRUE.

See also the closely related spec-functions that immediately create specifications of specific submodels of the broad EGARCH family. These functions are egarch_spec(), fiegarch_spec(), loggarch_spec(),filoggarch_spec(), megarch_spec(), mloggarch_spec() and mafiloggarch_spec(), which are all wrappers for fEGarch_spec().

See the references section for sources on the EGARCH (Nelson, 1991), FIEGARCH (Bollerslev and Mikkelsen, 1996), Log-GARCH (Geweke, 1986; Pantula, 1986; Milhoj, 1987) and FILog-GARCH (Feng et al., 2020) models.

References

  • Ayensu, O. K., Feng, Y., & Schulz, D. (2025). Recent Extensions of Exponential GARCH Models: Theory and Application. Forthcoming preprint, Paderborn University.

  • Bollerslev, T., & Mikkelsen, H. O. (1996). Modeling and pricing long memory in stock market volatility. Journal of Econometrics, 73(1), 151–184. DOI: 10.1016/0304-4076(95)01749-6.

  • Feng, Y., Beran, J., Ghosh, S., & Letmathe, S. (2020). Fractionally integrated Log-GARCH with application to value at risk and expected shortfall. Working Papers CIE No. 137, Paderborn University, Center for International Economics. URL: http://groups.uni-paderborn.de/wp-wiwi/RePEc/pdf/ciepap/WP137.pdf.

  • Feng, Y., Gries, T., & Letmathe, S. (2023). FIEGARCH, modulus asymmetric FILog-GARCH and trend-stationary dual long memory time series. Working Papers CIE No. 156, Paderborn University. URL: https://econpapers.repec.org/paper/pdnciepap/156.htm.

  • Feng, Y., Peitz, C., & Siddiqui, S. (2025). A few useful members of the EGARCH-family with short- or long-memory in volatility. Unpublished working paper at Paderborn University.

  • Geweke, J. (1986). Modeling the persistence of conditional variances: A comment. Econometric Reviews, 5(1), 57-61. DOI: 10.1080/07474938608800088.

  • Milhoj, A. (1987). A Multiplicative Parameterization of ARCH Models. University of Copenhagen, Denmark.

  • Nelson, D. B. (1991). Conditional Heteroskedasticity in Asset Returns: A New Approach. Econometrica, 59(2), 347–370. DOI: 10.2307/2938260.

  • Pantula, S. G. (1986). Modeling the persistence of conditional variances: A comment. Econometric Reviews, 5(1), 71-74. DOI: 10.1080/07474938608800089.

Examples

Run this code
# EGARCH(1, 1) with cond. normal distribution
spec1 <- fEGarch_spec()
# EGARCH(2, 1) with cond. t-distribution
spec2 <- fEGarch_spec(orders = c(2, 1), cond_dist = "std")
# FIEGARCH(1, 1) with cond. normal distribution
spec3 <- fEGarch_spec(long_memo = TRUE)
# MEGARCH(1, 1) with cond. generalized error distribution
spec4 <- fEGarch_spec(modulus = c(TRUE, FALSE), powers = c(0, 1))
# Some unnamed specification
spec5 <- fEGarch_spec(
 model_type = "egarch",
 orders = c(1, 1),
 long_memo = TRUE,
 cond_dist = "std",
 powers = c(0.25, 0.75),
 modulus = c(TRUE, FALSE)
)

Run the code above in your browser using DataLab