EGARCH Parameters
Fits an EGARCH(1, 1) model to the historical returns and returns the estimated Omega, Alpha, Gamma and Beta parameters for each asset.
A negative Gamma indicates the presence of a leverage effect (negative shocks raise volatility by more than positive ones of the same size).
The formula is as follows:
\[\text{ln}\; \sigma_{t} ^{2} = \text{Omega} + \text{Alpha} \cdot (| z_{t-1} | - \sqrt{2 / \pi}) + \text{Gamma} \cdot z_{t-1} + \text{Beta} \cdot \text{ln}\; \sigma_{} (t-1) ^{2}\] \[\text{Log-Likelihood} = - \text{Σ} (\text{ln}\; \sigma_{t} ^{2} + r_{t} ^{2} / \sigma_{t} ^{2}) (\text{up to constants})\]Where r_t are the returns (not demeaned) and z_t = r_t / sigma_t. The log-likelihood is maximized with Omega in [-15, 5], Alpha and Gamma in [-1, 1] and |Beta| < 1, starting the recursion from ln sigma_1^2 = Omega + Beta * ln(Backcast), with the Backcast of get_garch_parameters.
For more information about the method, see the following paper:
- Nelson, D.B. (1991). “Conditional Heteroskedasticity in Asset
Returns: A New Approach.” Econometrica, 59(2), 347-370.
Also known as: EGARCH weights, EGARCH coefficients, leverage parameters.
EGARCH Parameters in Python
Install the Finance Toolkit with:
pip install financetoolkit -U
Then call get_egarch_parameters as shown below.
from financetoolkit import Toolkit
toolkit = Toolkit(
["AMZN", "TSLA"],
api_key="FINANCIAL_MODELING_PREP_KEY",
start_date="2021-01-01",
end_date="2025-12-31",
)
toolkit.risk.get_egarch_parameters(period="daily", rounding=6)
Which returns:
| AMZN | TSLA | Benchmark | |
|---|---|---|---|
| Omega | -0.382664 | -0.225452 | -0.309737 |
| Alpha | 0.193573 | 0.081906 | 0.059855 |
| Gamma | -0.080739 | -0.03535 | -0.181222 |
| Beta | 0.949074 | 0.964858 | 0.96578 |
Parameters
get_egarch_parameters accepts the following parameters.
| Parameter | Type | Description | Example |
|---|---|---|---|
period | str | The data frequency for returns (daily, weekly, monthly, quarterly, or yearly). Defaults to “daily”. | "weekly" |
optimization_t | int | Time steps of the returns series to use for the optimization. Defaults to the full length of the returns series. | 252 |
rounding | int | None | The number of decimals to round the results to. Defaults to None. | 2 |