Volatility Smiles in Commodity Futures - SciComp Smiles in Commodity Futures Qimou Su SciComp Inc....
Transcript of Volatility Smiles in Commodity Futures - SciComp Smiles in Commodity Futures Qimou Su SciComp Inc....
Volatility Smiles in Commodity Futures
Qimou SuSciComp Inc.
Global Derivatives USA 2012Trading and Risk Management
November 14-15, 2012
Introduction Margins Copula Results
Outline
1 Introduction
2 Marginal Distribution Surface
3 Joint Distribution through Copula
4 Numerical Results
Introduction Margins Copula Results
Smiles
We see smiles everywhere: EQ, FX, IR, Commodity...
0
1
2
3
4
5 −0.5
0
0.5
10.2
0.25
0.3
0.35
0.4
0.45
0.5
log moneyness
Implied volatility vs maturity and log moneyness
maturity
imp
lied
vo
latilit
y
Figure: Smiles in oil futures
How to incorporate the smile info into pricing and risk?
Introduction Margins Copula Results
Overview
Much research has been done: EQ, FX, IR ...Local volatility, stochastic volatility and jumps for spot priceCalibration is not always accurate and stable in practice
A market modeling framework:Direct modeling of the forward prices (market observable)Flexibility to model term-structure and correlationDifficulty due to multi-dimension and lack of market data
Objective and requirements:Match the market-implied marginal distributions (smiles)Consistent with the lognormal modelExtend to multi-asset multi-factor frameworkPractical and easy implementation
Introduction Margins Copula Results
Log-normal Model
Log-normal Model: Gabillon (1991), Schwartz (1997), Schwartzand Smith (2000), etc.Start from spot price: mean reverting, convenience yield,Samuelson effect, etc.Forward price representation:
dF(t,Ti) = σ(t,Ti)F(t,Ti)dWi(t), t ≤ Ti, (1)
for i = 1, · · · , nModel components:
instantaneous volatility σ(t, T) is a deterministic function of time tcorrelation ρij(t) can be modeled through a multi-factor frameworkinitial forward curve is an exogenous market input
Samuelson effect: captured by the volatility model σ(t,T)
Introduction Margins Copula Results
Example: Gabillon model
Spot price dynamics:
dS(t)S(t)
= κ lnL(t)S(t)
dt + σSdWS(t)
dL(t)L(t)
= µLdt + σLdWL(t)
Model components:S(t) is the short-term (spot) priceL(t) is the long-term priceSamuelson effect: σS > σL
Correlation: < dWS, dWL >= ρSL
Introduction Margins Copula Results
Forward Price
Gabillon model:Volatility
σ2(t, T) = σ2Se−2κ(T−t) + 2ρSLσSσL
(e−κ(T−t) − e−2κ(T−t)
)+ σ2
L
(1 − e−κ(T−t)
)2
Correlation
dW(t) = σSe−κ(T−t)
σ(t, T)dWS(t) + σL
1 − e−κ(T−t)
σ(t, T)dWL(t)
Schwartz-Smith model (another example):Volatility
σ2(t, T) = σ2Xe−2κ(T−t) + 2ρXYσXσY e−κ(T−t) + σ2
Y
Correlation
dW(t) = σXe−κ(T−t)
σ(t, T)dWX(t) + σY
1σ(t, T)
dWY(t)
Introduction Margins Copula Results
Calibrated (ATM) Volatility Term Structure
The model-implied volatility:
σmod(τ,T) =
√1τ
∫ τ
0σ2(t,T)dt, τ ≤ T (2)
Gabillon model: κ = 0.37, ρSL = −0.29, σS = 0.41, σL = 0.29
0 1 2 3 4 5 60.24
0.26
0.28
0.3
0.32
0.34
0.36
0.38
0.4
0.42Gabillon implied volatility vs maturity
maturity
implie
d v
ola
tility
Figure: Volatility term structure
Introduction Margins Copula Results
Humped-Shape Term Structure
Volatility model:
σ(t,T) = [a(T − t) + c]e−b(T−t) + d (3)
Much better fit: a = 1.10, b = 3.38, b = 0.13, d = 0.21
0 1 2 3 4 5 60.24
0.26
0.28
0.3
0.32
0.34
0.36
0.38
0.4
0.42Calibrated implied volatility vs maturity
maturity
implie
d v
ola
tility
Figure: Volatility term structure
Introduction Margins Copula Results
Correlation
Forward model: flexibility to model the correlationA correlation model given by Ronn (2009):
ρij = e−b|Ti−Tj| + (1− e−b|Ti−Tj|)e−a/min(Ti,Tj), (a, b > 0) (4)
Nice properties:|ρij| ≤ 1 and ρii = 1ρij is decreasing with |Ti − Tj|ρij increases with min(Ti, Tj) and limTi,Tj→∞ ρij = 1
We assume a well calibrated log-normal modelAim to adjust the model to incorporate the smile info
Introduction Margins Copula Results
Outline
1 Introduction
2 Marginal Distribution Surface
3 Joint Distribution through Copula
4 Numerical Results
Introduction Margins Copula Results
Marginal Distribution
Consider a single forward contract with maturity T
Assume a European call option expires on τ ≤ T
The option price C (without discount) at time 0 is
C(τ,K) = EQ0 [(F(τ,T)− K)+] =
∫ +∞
K(y− K)f (τ, y)dy,
where f (τ, y) is the risk-neutral density of F(τ,T)
The marginal distribution of forward price F at τ :
ψ(τ,K) := P(F(τ,T) < K) = 1 +∂
∂KC(τ,K) (5)
Surface of call price⇒ surface of marginal distribution
Introduction Margins Copula Results
Surface of Options Prices
How to construct the surfaces C(t,K; τ,T) for t < τ ≤ T?The main problem is lack of market data:
Option quotes are only available for discrete strikesUsually only one volatility smile is available per forward contract
Traditional method:Fit each slice to some model, SVI/SABR/Heston, with constraintsThen, interpolate the resulted curves with no-arbitrage conditionsPotential issues: accuracy and stability
New method from local volatility model:Andreasen-Huge (2011): local volatility surface for FX spot marketApply the Dupire forward equation to perform the interpolationExtend to commodity futures volatility in multi-dimension setting
Introduction Margins Copula Results
Local Volatility Model
Imagine a local volatility model:
dF(t,T) = σloc(t,F; T)F(t,T)dW(t), (t ≤ T) (6)
The Dupire equation:
∂
∂τC(τ,K; T) =
12σ2
loc(τ,K; T)K2 ∂2
∂K2 C(τ,K; T) (7)
In terms of forward log-moneyness x := ln(K/FT):
∂
∂τC(τ, x; T) =
12σ2
loc(τ, x; T)
[∂2
∂x2 −∂
∂x
]C(τ, x; T) (8)
Consider a set of forward maturities: 0 = T0 < T1 < · · · < Tn
Corresponding option expiries: 0 = τ0 < τ1 < · · · < τn (τi ≤ Ti)
Introduction Margins Copula Results
Option Prices on Discrete Expiries
Now fix a forward maturity Ti:Given local volatility ϑij(x) := σloc(τj, x; Ti) constant in t
Construct the call prices for all option expiries by solving:[1− 1
2∆τjϑ
2ij(x)
(∂2
∂x2 −∂
∂x
)]C(τj, x; Ti) = C(τj−1, x; Ti) (9)
with C(0, x; Ti) = F(0,Ti)(1− ex)+, (1 ≤ j ≤ i ≤ n)Fully implicit FD scheme for the Dupire PDETri-diagonal solver: A(τj)C(τj; Ti) = C(τj−1; Ti)
A(t) is tri-diagonal, diagonally dominantwith positive diagonal and negative off-diagonalsA−1 ≥ 0, Nabben (1999), Andreasen and Huge (2011)
One-step PDE solver for each option expiry⇒ Fast
Introduction Margins Copula Results
Calibrate ϑij(x) to Market Quotes
Objective: bootstrap the local volatility from the market quotesFor a given set of call option prices C(τj, x; Ti) (j ≤ i)
Apply optimization routine to minimize the pricing errors of (9)Quotes are available for C(τi, x; Ti) (one smile per maturity)Use the ATM implied volatility to scale the previous smiles:
λij :=σimp(τj, 0; Ti)
σimp(τj, 0; Tj)=
√∫ τj
0 σ2(t,Ti)dt∫ τj
0 σ2(t,Tj)dt(10)
Define a volatility smile for option expiries τj by scaling:
σimp(τj, x; Ti) = λijσimp(τj, x; Tj) (11)
Introduction Margins Copula Results
Calibration: Smile Scaling
Scaled market implied volatilities for forward maturity T = 4.93
0
1
2
3
4
5 −0.5
0
0.5
10.2
0.25
0.3
0.35
0.4
0.45
0.5
log moneyness
Implied volatility vs maturity and log moneyness
maturity
imp
lied
vo
latilit
y
(a) Market Volatility
0
1
2
3
4
5 −0.5
0
0.5
10.18
0.2
0.22
0.24
0.26
0.28
0.3
log moneyness
Implied volatility vs maturity and log moneyness
maturity
imp
lied
vo
latilit
y
(b) Scaled Volatility
Remove most of the Samuelson effect
Introduction Margins Copula Results
Calibration cont.
Discretize the local volatility function ϑij(x):For a fixed pair of (i, j), let ϑij(xijk) = θijk,Define the function ϑij(x) through interpolation:
ϑij(x) = h({
xijk, θijk}
k),
where h can be a nearest-neighbor or linear interpolation
Solve the optimization problem:
minΘij
∑k
[C(τj, xijk; Ti, θijk)− C(τj, xijk; Ti)
]2(12)
Calibrated local volatility:
ϑ∗ij(x) = h({
xijk, θ∗ijk
}k)
Introduction Margins Copula Results
Calibration results
Calibrated ϑij(x) and pricing errors (maturity T = 4.93)
01
23
45 −0.5
0
0.5
10.1
0.2
0.3
0.4
0.5
logmon
Calibrated theta vs expiry and logmon
expiry
the
ta
(c) Calibrated theta
01
23
45 −0.5
0
0.5
1−1
−0.5
0
0.5
1
x 10−3
logmon
Calibration: pricing error vs expiry and logmon
expiry
pricin
g e
rro
r
(d) Pricing errors
Underlying forward price: $89.15The RMSE of call price: $3.3e-4 (5-year options)
Introduction Margins Copula Results
Fill the Gaps between Options Expiries
Use the calibrated local volatility to interpolate the intermediateoption prices at t ∈ (τj−1, τj)
Again, by solving the PDE[1− 1
2(t − τj−1)ϑ2
ij(x)
(∂2
∂x2 −∂
∂x
)]C(t, x; Ti) = C(τj−1, x; Ti),
for 1 ≤ j ≤ i ≤ n
This is the same PDE as in the calibration step with (τj − τj−1)replaced by (t − τj−1)
No optimization involved: simple one-step PDE solver
Introduction Margins Copula Results
Marginal Distribution
Interpolated call price surface and marginal distribution surfaceχ(t, x) = ψ(t,F(0,T)ex), (maturity T = 4.93)
(e) Interpolated call option prices (f) Marginal distribution surface
One surface for each forward contract
Introduction Margins Copula Results
Local Volatility Surface
Local volatility surface and pricing errors (maturity T = 4.93)
(g) Local volatility surface
0
1
2
3
4
5 −0.5
0
0.5
1−1
−0.5
0
0.5
1
1.5
2
x 10−3
logmon
Pricing error: impvol vs expiry and logmon
expiry
imp
vo
l
(h) Pricing errors
The RMSE of ImpVol = 1.6 bps
Introduction Margins Copula Results
Pricing Errors
Re-price the options using the imaginary local volatility surfacesCalculate the implied volatilities and pricing errors (vs market)The resulted RMSE:
Expiry (y) 0.08 0.16 0.25 0.33 0.42 0.50RMSE (bp) 2.0 2.9 2.6 2.2 1.8 1.8Expiry (y) 0.58 0.67 0.75 0.91 1.17 1.42RMSE (bp) 1.7 1.4 1.8 1.5 1.6 2.3Expiry (y) 1.92 2.41 2.92 3.92 4.93RMSE (bp) 2.2 2.0 2.4 2.6 1.6
Table: The RMSE of implied volatility
Introduction Margins Copula Results
Outline
1 Introduction
2 Marginal Distribution Surface
3 Joint Distribution through Copula
4 Numerical Results
Introduction Margins Copula Results
Copula Function
Copula: transforms random variables by their margins to obtainuniform variables that contain the same informationA copula function can be defined
c(x1, · · · , xn) := g(g−11 (x1), · · · , g−1
n (xn))
for a distribution g(x1, · · · , xn) and its margins g1(x1), · · · , gn(xn)
Moreover, a joint distribution can be defined by
g(x1, · · · , xn) := c(g1(x1), · · · , gn(xn)),
for a given copula function c(· · · ) and a set of margins g1, · · · , gn
How to obtain a reasonable copula function?
Introduction Margins Copula Results
Log-normal Distribution
Fix a time spot t and denote by F(t,T1), · · · ,F(t,Tn) the forwardprices obtained from a log-normal model:Gabillon (1991), Schwartz-Smith (2000), Humped-shape, etc.Define random variable:
Zi(t) :=ln(F(t,Ti)/F(0,Ti))− µ(t,Ti)
ν(t,Ti)
where
µ(t,T) = −12
∫ t
0σ2(s,T)ds and ν(t,T) =
(∫ t
0σ2(s,T)ds
)1/2
The random variables are joint Normal:
(Z1(t), · · · ,Zn(t)) ∼ N(0,Σ)
Introduction Margins Copula Results
Gaussian Copula
The normal variable Zi(t) can be transformed to a uniform:
Ui(t) = Φ(Zi(t)), (i = 1, · · · , n)
where Φ(·) is a normal CDFThe joint distribution of the uniforms define a copula function:
c(u1, · · · , un) := FU1(t),··· ,Un(t)(u1, · · · , un)
Use to define a joint distribution with the “skewed” marginsThis can be done by the following transform
Zi(t) = Φ−1i (t,Ui(t)) = Φ−1
i (t,Φ(Zi(t)))
The “skewed” margins are given by
Φi(t, z) = χi(t, µ(t,Ti) + zν(t,Ti))
Introduction Margins Copula Results
Simulation Algorithm
Input: the marginal distribution surface χi(t, x)
Output: the “skewed” forward price F(t,Ti)
Generate forward price F(t,Ti) from a log-normal modelTransform the log-normal price F(t,Ti) to a Normal variable Zi(t)
Compute the probability Ui(t) = Φ(Zi(t)) using Normal CDF Φ(z)
Compute the “skewed” random variable Zi(t) = Φ−1i (Ui(t)) using
the “skewed” margin Φi(t, z) = χi(t, µ(t,Ti) + zν(t,Ti))
Recover the “skewed” forward price F(t,Ti) using formula
F(t,Ti) = F(0,Ti) exp{µ(t,Ti) + ν(t,Ti)Zi(t)
}
Introduction Margins Copula Results
Outline
1 Introduction
2 Marginal Distribution Surface
3 Joint Distribution through Copula
4 Numerical Results
Introduction Margins Copula Results
Simulation Results
Re-price the options using MC simulationCalculate implied volatility (total variance) vs market quotes
0
1
2
3
4
5 −0.5
0
0.5
10.2
0.25
0.3
0.35
0.4
0.45
0.5
log moneyness
Implied volatility vs maturity and log moneyness
maturity
imp
lied
vo
latil
ity
(i) Implied volatility
−0.4 −0.2 0 0.2 0.4 0.6 0.8 10
0.05
0.1
0.15
0.2
0.25
0.3
0.35Total variance vs log moneyness
log moneyness
To
tal v
aria
nce
(j) Total variance
Introduction Margins Copula Results
Simulation Results, cont.
Individual smiles: market vs model (from MC simulation)
−0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.40.34
0.36
0.38
0.4
0.42
0.44
0.46
0.48Implied volatility vs log moneyness (maturity = 0.331507, the 4th slice)
log moneyness
imp
lied
vo
latilit
y
−0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.50.34
0.36
0.38
0.4
0.42
0.44
0.46Implied volatility vs log moneyness (maturity = 0.419178, the 5th slice)
log moneyness
imp
lied
vo
latilit
y
−0.2 −0.1 0 0.1 0.2 0.3 0.4 0.50.32
0.34
0.36
0.38
0.4
0.42
0.44Implied volatility vs log moneyness (maturity = 0.49863, the 6th slice)
log moneyness
imp
lied
vo
latilit
y
−0.1 0 0.1 0.2 0.3 0.4 0.5 0.60.32
0.33
0.34
0.35
0.36
0.37
0.38
0.39
0.4
0.41Implied volatility vs log moneyness (maturity = 0.580822, the 7th slice)
log moneyness
imp
lied
vo
latilit
y
−0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5 0.60.32
0.34
0.36
0.38
0.4
0.42
0.44Implied volatility vs log moneyness (maturity = 0.668493, the 8th slice)
log moneyness
imp
lied
vo
latilit
y
−0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5 0.60.3
0.32
0.34
0.36
0.38
0.4
0.42Implied volatility vs log moneyness (maturity = 0.750685, the 9th slice)
log moneyness
imp
lied
vo
latilit
y
Introduction Margins Copula Results
Reference
Qimou Su and Curt Randall, Putting Smiles Back to The Futures,Wilmott, September 2012Qimou Su and Curt Randall, Construction of Volatility Surface forCommodity Futures, Working paper, 2012Qimou Su and Curt Randall, A Market Model for CommodityFutures with Smiles, Working paper, 2012