How Spot-Volatility Correlation Creates Implied Volatility Skew
Summary
The discussion distinguishes stochastic volatility from the leverage-like relationship that creates an asymmetric implied volatility skew. Random volatility by itself can make returns heavier-tailed than a single normal distribution and produce a roughly symmetric volatility smile. Skew arises when volatility and the underlying price move together asymmetrically, such as volatility tending to rise as the stock falls.
A two-regime illustration mixes low- and high-volatility distributions. With equal weights and no regime-linked directional drift, the mixture has fatter tails on both sides, so far out-of-the-money options require higher implied volatility in either direction. When the high-volatility regime is associated with negative drift and the low-volatility regime with positive drift, the tail behavior becomes asymmetric and the smile becomes skewed. The extreme parameters are illustrative rather than a market calibration. A further answer notes that, in stochastic-volatility settings, skew magnitude depends on both correlation and volatility of volatility; jumps, supply and demand, and rough volatility can also affect it.
Key ideas
- Time-varying volatility alone can produce a symmetric smile rather than a skew.
- Negative association between spot returns and volatility makes downside and upside tails differ.
- A mixture of volatility regimes can create fat tails relative to a single Gaussian model.
- In stochastic-volatility models, skew magnitude depends on correlation and volatility of volatility.
- Jumps and option-market supply and demand can also contribute to observed skew.
Tags
Full text
# Does the fact that volatility is not constant imply existence of skew?
# Does the fact that volatility is not constant imply existence of skew?
I had a question regarding the existence of the volatility skew. I've tried researching it a fair bit and I come across a few different explanations: 1. Market participants like buying downside puts and selling upside calls and as a function of supply and demand implied vols are skewed, 2. stock returns are not lognormally distributed (fat tails) so options that are far away from ATM are priced at a higher volatility, 3. volatility is not constant and when stocks decline vol ticks up and vice versa when the market rallies.
I understand why the first 2 contribute to skew, but I don't understand the third. Why does the fact that volatility can change imply the existence of a skew, why doesn't that imply a flat skew that simply shifts levels vertically? So what if when markets drop vol increases, why does this imply a skew? I hope this question makes sense, I've read a few explanations on skew but I still don't quite understand why the third causes it (the other 2 make sense).
## Answer by Kiwiakos (score 7)
https://quant.stackexchange.com/a/21655
It is not the fact that volatility is time varying that creates the skew per se, but the fact that volatility is negatively correlated with the spot. That is to say, as the stock/index price declines volatility will tend on average to increase, and vice versa. Time varying volatility itself would create a more symmetric 'smile'.
Edit:
Suppose that you have a very simple case where volatility can take only two values $(\sigma_L,\sigma_H) = (0.10,0.50)$ with 50-50 probability. Also say that the drift is zero under both regimes. This is the simplest case of 'stochastic volatility,' if you want.
Then, the price of the option will just be the 50-50 weighted average of the two Black-Scholes prices $$ C = 0.5\ BS(S,X,r,\sigma_L,T)+0.5\ BS(S,X,r,\sigma_H,T) $$ Equivalently, the risk neutral distribution of the log-price will be the 50-50 mixture of two Gaussians with different volatilities which exhibits fat tails.
Intuitively, when you are at the money both parts of the weighted sum contribute to the uncertainty, and the implied vol is roughly the average of the two vols, around 0.30. A Gaussian with this volatility will exhibit practically zero probability mass beyond $\pm 1.8$ which is the 6-sigma event point. However, the 50-50 mixture still has some considerable mass, since for the high volatility regime this is only a 3.5-sigma event. To mimic this mass a higher implied vol is required. This is symmetric, hence a 'smile'.
You can see that graphically below, where I have calculated the implied volatility for this example.
Now suppose that we have a 'negative correlation', that is to say we still have a 50-50 mixture but now when vol takes the 'low' value 0.10 then the drift is +0.10 positive, but when vol takes the 'high' value of 0.50 then the drift is -0.10 negative.
In that case the +6-sigma event is not symmetric to the -6-sigma event. In fact, implied vol on one side will converge to the 'high' vol of 0.50 while the other side will converge to the 'low' vol of 0.10, following the drifts. Hence we are presented with a 'skew' rather than a 'smile'
.
Ok, this picture looks a bit odd! This is due to the extreme parameter values in the example, and reflects the 'weight' each distribution has in the mixture at each point. In any case, here is the Python code that created the pics to play with.
```
# parameters
sH = 0.50 # High vol regime
mH =-0.10 # Drift in high vol regime
sL = 0.10 # Low vol regime
mL =+0.10 # Drift in low vol regime
wH = 0.50 # Mixing weight
# code
import numpy as np
from scipy.stats import norm
from scipy.optimize import root
import matplotlib.pyplot as plt
N = norm(0,1).cdf
n = norm(0,1).pdf
def bs(S, X, r, sigma, T):
d1 = np.log(S/X)+(r+0.5*sigma*sigma)*T
d1 = d1/sigma/np.sqrt(T+1E-10)
d2 = d1 -sigma*np.sqrt(T)
return S*N(d1) -X*np.exp(r*T)*N(d2)
def iv(S, X, r, T, C):
return root(lambda s: bs(S, X, r, s, T)-C, 0.50*np.ones(C.shape)).x
L = 2.5
X = 100.*np.exp(np.linspace(-L, L, 101))
cH = bs(100., X, mH, sH, 1.)
cL = bs(100., X, mL, sL, 1.)
c = wH*cH+(1-wH)*cL
m =np.log1p(wH*(np.exp(mH)-1)+(1-wH)*(np.exp(mL)-1))
v = iv(100., X, m, 1., c)
fg = plt.figure()
ax = fg.add_subplot(111)
ax.plot(np.log(100./X), v)
ax.set_xlim(-L, L)
ax.set_xlabel('log[spot/strike]')
ax.set_ylabel('implied volatility')
ax.grid()
```
## Answer by user34971 (score 1)
https://quant.stackexchange.com/a/68271
An old question, but I'd like to add to the answer by Kiwiakos that it is not only correlation that results in skew (defined as the slope of the ATM implied volatility), but actually the product of correlation and the "vol of vol", which explains why/how skew exists and its magnitude when volatility is stochastic. (Of course there could be other reasons for existence of skew such as supply and demand, market expectation of jumps etc etc.)
At risk of self-promotion, see also equations (16), (21) and (22) in this very short scribble and take a look at the references therein, but especially the Medvedev-Scaillet paper and the Alos et al. paper which explains how the short-time skew can blow up for rough volatility models.Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.