optimal filtering of jump diffusions: extracting latent states from asset prices jonathan stroud,...
Post on 21-Dec-2015
227 views
TRANSCRIPT
Optimal Filtering of Jump Diffusions: Extracting Latent States from Asset Prices
Jonathan Stroud, Wharton, U. Pennsylvania
Stern-Wharton Conference on Statistics in Business
April 28th, 2006
Joint work with Mike Johannes (GSB, Columbia)and Nick Polson (GSB, Chicago)
Overview• Models in finance
- Typically specified in continuous-time.- Include latent variables such as stochastic volatility
and jumps.
• Two state estimation problems- Filtering - sequential estimation of states.- Smoothing - off-line estimation of states.
• Filtering is needed in most financial applications- e.g., portfolio choice, derivative pricing, value-at-risk.
S&P 500 Index, October, 1987Daily Closing Prices/Returns and
Options Implied Volatilities
Date Price($) Return ImpVol SpotVol Jump
Oct 14 305.2 -3.0 21.5
Oct 15 298.1 -2.4 22.7
Oct 16 282.7 -5.3 24.1
Oct 19 224.8 -22.9 62.3 ? ?
Oct 20 236.8 5.2 86.1
Oct 21 258.4 8.7 88.5
Oct 22 248.3 -4.0 66.9
Outline
• Jump diffusion models in finance
• The filtering problem and the particle filter
• Application: Double Jump model- Simulation study- S&P 500 index returns- Combining index and options data
Jump Diffusion Models in Finance
• Yt is observed, Xt is unobserved state variable
• Nty : latent point processes with intensity y(Yt-,Xt-).
• Zny : latent jump sizes with distribution y(Y(n-),X(n-)).
• Also observe derivative prices (non-analytic) .
xt
yt
N
1n
xt-t
xt
xt
N
1n
yt-t-t
ytt
yt
Zd)dW(Xσ)dt(XμdX
Zd)dWX,(Yσ)dtX,(YμdY
xn
yn
ttT
dsrQtttt X,Y|YfeEX,YgY
~T
ts
State-Space Formulation
• Assuming data at equally-spaced times t, t+1,… the observation and state equation are given by
• Also have a second observation equation for the derivative prices:
v
y
1t
yt
N
Nn
yn
1t
t
ys-s-s
y1t
tss
yt1t Z)dWX,(Yσ)dsX,(YμYY
x
1t
xt
N
Nn
xn
1t
t
xs-s
x1t
ts
xt1t Z)dW(Xσ)ds(XμXX
tttt εX,YglogY~
log
The filtering problem• Goal: compute the optimal filtering distribution of all latent
variables, given observations up to time t:
• Existing methods:- Kalman filter: linear drifts, constant volatilities.- Approximate methods: simple discretization, extended
Kalman filter.- Quadratic variation estimators: can’t separate jumps
and volatility; require high-frequency data; no models.
T.1,...,t,Y|)(Z ,N,Xp t:1tτ1tntt n
Our approach
We propose an approach which combines two existing ideas:
1) Simulating extra data points Time-discretize model and simulate additional data
points between observations to be consistent with continuous-time specification.
2) Applying particle filtering methods Sequential importance sampling methods to compute
the optimal filtering distribution.
Time-Discretization• Simulate M intermediate points using an Euler
scheme (other schemes possible)
• Given the simulated latent variables, we can approximate the (stochastic and deterministic) integrals by summations.
y
M
1t
y
M
1t
y
M
1t
tty-1
tty
M
1t
ZJ)εX,(Yσ)MX,(YμY
x
M
1t
x
M
1t
x
M
1t
tx-1
tx
M
1t
ZJ)ε(Xσ)M(XμX
Xt
Yt
time
time
Observed Variable, Yt
Unobserved Variable, Xt
1 2 3 4 5 6 7 8 90
1 2 3 4 5 6 7 8 90
Latent variable augmentation
Given the augmentation level M, we define the latent variable as Lt = (Xt
M, JtM, Zt
M), where
Then it is easy to simulate from the transition density p(Lt+1|Lt), and to evaluate the likelihood p(Yt+1|Lt+1).
M
1-t
M
1-M-t
M
M-t
Mt
M
1-t
M
1-M-t
M
M-t
Mt
M
1-t
M
1-M-t
M
M-t
Mt
Z...,,Z,ZZ
J...,,J,JJ
X...,,X,XX
Bayesian filtering• Let Lt denote all latent variables. At time t, the
filtering (posterior) distribution for the latent variables is given by
• The prediction and filtering distributions at time t+1 are then given by
t:1t Y|Lp
1t1tt:11t1t:11t L|YpY|LpY|Lp :Filtering
tt:1tt1tt:11t dL Y|Lp L|LpY|Lp:Prediction
The particle filter• Gordon, Salmond & Smith (1993) approximate the
filtering distribution using a weighted Monte Carlo sample (Lt
i, ti), i=1…N:
• The prediction and filtering distributions at time t+1 are then approximated by
N
1i
it
ittt:1t
N )πLδ(L)Y|(Lp
it
N
1i
it1tt:11t
N π L|LpY|Lp:Prediction
L|Yp πL|LpY|Lp:Filtering 1t1tN
1i
ii1t1t:11t
Ntt
Sampling-Importance Resampling Particle Filter Algorithm
.Mset πand }{πweightsingcorrespond
with}{LondistributidiscretethefromResample3.
π)L|p(Y π
: weightslikelihood theCompute 2.
).L|p(L~L
:n transitiostate the viaforward particles Propagate 1.
1...N.i)},π,{(Lset particle initialan Start with0.
1i1t
i1t
i1t
it
i1t1t
i1t
it1t
i1t
it
it
Application: Double-Jump Model
• Duffie, Pan & Singleton (2000) provide a model with SV and jumps in returns and volatility:
where Nt ~Poi(t), Zns ~N(s,2
s) and Znv ~Exp(v).
SV model : Stochastic Volatility SVJ model : SV with jumps in returns SVCJ model : SV with jumps in returns & volatility
t
t
N
1n
vn
vt-tvtvvt
N
1n
sn
st-tttvtt
ZddWVσdtVθκdV
ZddWVdt2/V-Vηr)dlog(S
Simulation Study• Simulate continuous-time process (M=100)
using parameter values from literature.• Sample data at daily, weekly & monthly freq’s.• Run filter using M=1,2,5,10,25 and N=25,000.
Questions of interest:1) How large must M be to recover the “true”
filtering distribution?2) How well can we detect jumps if data are
sampled at daily, weekly, monthly frequency?
Simulated Daily Data : SV Model
Returns
Volatility
Discretization Error
Simulated Monthly Data : SV Model
Returns
Volatility
Discretization Error
RMSE: Filtered Mean VolatilitySV model
M Daily Weekly Monthly
1 0.81 2.17 6.44
2 0.32 0.52 3.02
5 0.28 0.26 0.80
10 0.28 0.24 0.30
25 0.28 0.24 0.22
Filtered density for Spot Volatility Monthly Data
Simulated Daily Data : SVJ Model
Jump Classification RateSVJ model
Observation Frequency
Daily Weekly Monthly
.60 .30 .03
Percentage of true jumps detected by the filter.
S&P 500 Example
S&P 500 return data (1985-2002)
• Daily data (T=4522)
• SIR particle filter: M=10 and N=25,000.
• How does volatility differ across models?
Filtered Volatility: S&P 500 Data
Filtered Volatility: S&P 500 Data
S&P 500 Index, October, 1987Filtering Results (SV, SVJ, SVCJ)
Date Return Volatility (annual) P(Jump)
Oct 14 -3.0 20.9 20.8 18.7 .04 .10
Oct 15 -2.4 21.7 21.9 20.2 .01 .02
Oct 16 -5.3 25.8 23.6 27.1 .59 .59
Oct 19 -22.9 35.7 25.3 44.4 1.00 .98
Oct 20 5.2 35.6 27.7 43.0 .06 .00
Oct 21 8.7 36.6 29.0 42.9 .69 .00
Oct 22 -4.0 36.4 31.4 42.8 .03 .01
Filtered Volatility: October 13-22, 1987
October 13
October 16
October 22
Crash
Filtering with Option Prices
S&P 500 futures options data (1985-1994)
• At-the-money futures call options
• Assume 5% pricing error
• How does option data affect estimated volatility?
SV Model: Filtering with Option Prices
SV Model: Filtered Densities, Oct. 15-19, 1987
October 15
October 16
October 19
Conclusions
• Extend particle filtering methods to continuous-time jump-diffusions
• Incorporate option prices
• Evaluate accuracy of state estimation
• Easy to implement
• Applications