The Leverage Effect
Table of Contents
The Leverage Effect is the observation that the volatility of an asset is decreasing in the asset price. That is, if an asset falls in price the asset's volatility increases, and if it rises in price the asset's volatility declines. So another way of saying this is the asset's returns and volatility are negatively correlated. This is an empirically observed effect, and we are not sure of the cause. There are two main explanations however:
0.1. Leverage Hypothesis
This observation was first made by Fischer Black (of the Black-Scholes model) in a research paper (Black (1976)). In this paper he coined the leverage effect after his explanation for the phenomena. Black hypothesized that stock declines increase leverage, and it is the increased leverage which causes the increased volatility. Note, if a firm doesn't have any debt the leverage effect would still hold given mandatory selling, general, and administrative expenses.
Empirical evidence, however, generally doesn't support this leverage explanation of the Leverage Effect. The phenomena tends to occur in down markets, though not when leverage changes for other reasons. Also, volatility tend to increase more than can be explained by the change in leverage alone.
0.2. Volatility-Feedback Hypothesis
In this hypothesis (in \cite{Campbell_1992}) volatility rises first, and this causes negative returns (which means expected returns increase). So this hypothesis works in the opposite direction as the leverage hypothesis.
1. A Look at the Data
Below we take a look at the relationship between stock prices and both implied and historical volatility.
We'll use data from Yahoo Finance:
1.1. Implied Volatility
Below we'll take a look at the relationship between changes in the S&P 500 index, and changes in the VIX. The VIX measures implied volatility in options on the S&P 500.
Daily returns from 1/3/1990 to 9/2/2022.
In fact, fitting a regression line affords a slope of -4.31, implying a 1% decline in the S&P 500 means a 4.31% increase in the VIX.
1.2. Historical Volatility
1.2.1. Scatterplots
To calculate historical volatility we'll group the data by week, and calculate the realized weekly volatility.
Weekly returns and realized volatility from 1/3/1990 to 9/2/2022. Scatter plots for both realized volatility and its lag show no relationship with weekly returns.
2. Modeling the Leverage Effect
2.1. EGARCH
An EGARCH(1,1) model with normally-distributed innovations takes the form:
\[r_t = \sigma_t\epsilon_t\]
and
\[ln(\sigma_t^2) = (1 - \alpha_1)\alpha_0 + \alpha_1ln(\sigma^2_{t-1})+g(\epsilon_{t-1})\]
where
\[g(\epsilon_{t-1}) = \theta\epsilon_{t-1} + \gamma(|\epsilon_{t-1}| - \sqrt{2/\pi})\]
The (\(\gamma + \theta\)) and (\(\gamma - \theta\)) coefficients measure the asymmetry in the response of volatility to \(r_{t-1}\). If volatility increases when an asset price declines, then we'll observe \(\theta < 0\). The model is nonlinear so long as \(\theta \neq 0\) however.
For further reading see this documentation on the EGARCH model.
We'll use the arch
python package to estimate the parameters of an EGARCH(1,1) model.
In the notation of the arch package:
\[ \ln\sigma_{t}^{2}=\omega +\sum_{i=1}^{p}\alpha_{i} \left(\left|e_{t-i}\right|-\sqrt{2/\pi}\right) +\sum_{j=1}^{o}\gamma_{j} e_{t-j} +\sum_{k=1}^{q}\beta_{k}\ln\sigma_{t-k}^{2} \] \[ \texttt{where } e_{t}=\epsilon_{t}/\sigma_{t} \]
Constant Mean - EGARCH Model Results ============================================================================== Dep. Variable: returns R-squared: 0.000 Mean Model: Constant Mean Adj. R-squared: 0.000 Vol Model: EGARCH Log-Likelihood: -3571.47 Distribution: Normal AIC: 7152.95 Method: Maximum Likelihood BIC: 7180.15 No. Observations: 1705 Date: Fri, Sep 09 2022 Df Residuals: 1704 Time: 18:57:39 Df Model: 1 Mean Model ========================================================================== coef std err t P>|t| 95.0% Conf. Int. -------------------------------------------------------------------------- mu 0.1466 4.038e-02 3.632 2.816e-04 [6.750e-02, 0.226] Volatility Model ========================================================================== coef std err t P>|t| 95.0% Conf. Int. -------------------------------------------------------------------------- omega 0.1220 3.335e-02 3.659 2.532e-04 [5.667e-02, 0.187] alpha[1] 0.3052 5.434e-02 5.616 1.949e-08 [ 0.199, 0.412] gamma[1] -0.1913 2.934e-02 -6.519 7.092e-11 [ -0.249, -0.134] beta[1] 0.9150 2.064e-02 44.322 0.000 [ 0.875, 0.955] ========================================================================== Covariance estimator: robust
In the notation of the arch
package, \(\gamma\) (gamma) is the \(\theta\) coefficient in our notation. We thus see \(\gamma\) is a negative and significant -6.52. This is evidence of the leverage effect in historical data.
Positive returns: \(0.305 + (-0.191) = 0.114\) Negative returns: \(0.305 - (-0.191) = 0.496\)
2.2. GJR-GARCH(1,1)
The GJR-GARCH model also captures the leverage effect. See this documentation on the GJR-GARCH model.
Constant Mean - GJR-GARCH Model Results ============================================================================== Dep. Variable: returns R-squared: 0.000 Mean Model: Constant Mean Adj. R-squared: 0.000 Vol Model: GJR-GARCH Log-Likelihood: -3582.32 Distribution: Normal AIC: 7174.64 Method: Maximum Likelihood BIC: 7201.85 No. Observations: 1705 Date: Fri, Sep 09 2022 Df Residuals: 1704 Time: 18:48:37 Df Model: 1 Mean Model ========================================================================== coef std err t P>|t| 95.0% Conf. Int. -------------------------------------------------------------------------- mu 0.1678 4.028e-02 4.166 3.107e-05 [8.883e-02, 0.247] Volatility Model =========================================================================== coef std err t P>|t| 95.0% Conf. Int. --------------------------------------------------------------------------- omega 0.2992 8.227e-02 3.637 2.756e-04 [ 0.138, 0.461] alpha[1] 0.0534 2.876e-02 1.857 6.327e-02 [-2.954e-03, 0.110] gamma[1] 0.3095 6.753e-02 4.583 4.579e-06 [ 0.177, 0.442] beta[1] 0.7449 4.017e-02 18.543 9.218e-77 [ 0.666, 0.824] =========================================================================== Covariance estimator: robust