Price Impact Models & Optimal Execution
René Carmona
Bendheim Center for Finance
Department of Operations Research & Financial Engineering
Princeton University
Princeton, June 18, 2013
Queries
We already saw that we should split and spread large orders, so:
I split and spread large orders, so:
I How can we capture market price impact in a model?
I What are the desirable properties of a Price Impact model?
I How can we compute optimal execution trading strategies?
I What happens when several execution strategies interact?
”Amlgren-Chriss Price Impact” Model
I Unaffected (fair) price given by a semi-maringale
I Mid-price affected by trading
I Permanent price impact given by a function g of trading speed
dPtmid = g(v (t))dt + σdWt
I Temporary price impact given by function h of trading speed
Pttrans = Ptmid + h(v (t))
I Problem: find deterministic continuous transaction path to
maximize mean-variance reward.
I Closed form solution when permanent and instantaneous price
impact functions g and h are linear
I Efficient frontier: Speed of trading and hence risk/return
controlled by risk aversion parameter
Widely used in industry
Criticisms
I Mid-price Ptmid arithmetic Brownian motion + drift
I Can become negative
I Reasonable only for short times
I Possible issues with rate of trading in continuous time?
I Price impact more complex than instantaneous + permanent
I What is the link between Price Impact and LOB dynamics?
I e.g. can we combine elegant description of risk-return trade-off in
Almgren / Chriss with detail of Smith-Farmer type models?
I Empirical evidence that instantaneous price impact is
stochastic in many markets
Optimal Execution
An execution algorithm has three layers:
I At the highest level one decides how to slice the order, when to
trade, in what size and for how long.
I At the mid level, given a slice, one decides whether to place
market or limit orders and at what price level(s).
I At the lowest level, given a limit or market order, one decides to
which venue should this order be routed?
We shall not discuss the last bullet point here.
Optimal Execution Set-Up
Goal: sell x0 > 0 shares by time T > 0
I X = (Xt )0≤t≤T execution strategy
I Xt position (nb of shares held) at time t. X0 = x0 , XT = 0
I Assume Xt absolutely continuous (differentiable)
I P̃t mid-price (unaffected price), Pt transaction price, It price
impact
Pt = P̃t + It
e.g. Linear Impact A-C model:
It = γ[Xt − X0 ] + λẊt
I Objective: Maximize some form of revenue at time T
Revenue R(X ) from the execution strategy X
Z T
R(X ) = (−Ẋt )Pt dt
0
Specific Challenges
I First generation: Price impact models (e.g. Almgren - Chriss)
I Risk Neutral framework (maximize ER(X )) versus utility criteria
I More complex portfolios (including options)
I Robustness and performance constraints (e.g. slippage or tracking
market VWAP)
I Second generation: Simplified LOB models
I Simple liquidation problem
I performance constraints (e.g. slippage or tracking market VWAP)
and using both market and limit orders
Optimal Execution Problem in A-C Model
Z T
R(X ) = (−Ẋt )Pt dt
0
Z T Z T
= − Ẋt P̃t dt − Ẋt It dt
0 0
Z T
= x0 P̃0 + Xt d P̃t − C(X )
0
RT
with C(X ) = 0
Ẋt It dt.
Interpretation
I x0 P̃0 (initial) face value of the portfolio to liquidate
RT
I
0
Xt d P̃t volatility risk for selling according to X instead of
immediately!
I C(X ) execution costs due to market impact
Special Case: the Linear A-C Model
Z T Z T
γ 2
R(X ) = x0 P̃0 + Xt d P̃t − λ Ẋt2 dt − x
0 0 2 0
Easy Case: Maximizing E[R(X )]
Z T
γ 2
E[R(X )] = x0 P0 − x − λE Ẋt2 dt
2 0 0
Jensen’s inequality & constraints X0 = x0 and XT = 0 imply
x0
Ẋt∗ = −
T
trade at a constant rate independent of volatility !
Bertsimas - Lo (1998)
More Realistic Problem
Almgren - Chriss propose to maximize
E[R(X )] − αvar[R(X )]
(α risk aversion parameter – late trades carry volatility risk)
For DETERMINISTIC trading strategies X
T
ασ 2 2
Z
γ
E[R(X )] − αvar[R(X )] = x0 P0 − x02 − 2
X + λẊt dt
2 0 2 t
maximized by (standard variational calculus with constraints)
r
∗ sinh κ(T − t) ασ 2
Ẋt = x0 for κ=
sinh κT 2λ
For RANDOM (adapted) trading strategies X , more difficult as
Mean-Variance not amenable to dynamic programming
Maximizing Expected Utility
Choose U : R → R increasing concave and
maximize E[U(R(X T )]
Stochastic control formulation over a state process (Xt , Rt )0≤t≤T .
v (t, x, r ) = sup E[u(RT )|Xt = x, RT = r ]
ξ∈Ξ(t,x)
value function, where Ξ(t, x) is the set of admissible controls
Z T Z T
ξ = (ξs )t≤s≤T ; progressively measurable, ξs2 ds < ∞, ξs ds = x
t t
Z s
ξ
Xs = Xs = x − ξu du, Ẋs = −ξs , Xt = x
t
and (choosing P̃t = σWt )
Z s Z s
ξ
Rs = Rs = R+σ Xu dWu −λ ξu2 du, dRs = σXs dWs −λξs2 ds, Rt = r
t t
Finite Fuel Problem
Non Standard Stochastic Control problem because of the
constraints Z T
ξs ds = x0 .
0
Still, one expects
ξ ξ
I For any admissible ξ, [v (t, Xt , Rt )]0≤t≤T is a super-martingale
ξ∗ ξ∗
I For some admissible ξ ∗ , [v (t, Xt , Rt )]0≤t≤T is a true martingale
ξ ξ
If v is smooth, and we set Vt = v (t, Xt , Rt ), Itô’s formula gives
σ2 2
dVt = ∂t v (t, Xt , Rt ) + ∂rr v (t, Xt , Rt )
2
−λξt2 ∂r v (t, Xt , Rt ) − ξt ∂x v (t, Xt , Rt ) dt
+ σ∂x v (t, Xt , Rt )dWt
Hamilton-Jabobi-Bellman Equation
One expects that v solves the HJB equation (nonlinear PDE)
σ2 2
∂t v + ∂ v − inf [ξ 2 λ∂r v + ξ∂x v ] = 0
2 xx ξ∈R
in some sense, with the (non-standard) terminal condition
(
U(r ) if x = X0
v (T , x, r ) =
−∞ otherwise
Solution for CARA Exponential Utility
For u(x) = −e−αx and κ as before
2
v (t, x, r ) = e−αr +x0 αλκ coth κ(T −t)
solves the HJB equation and the unique maximizer is given by the
DETERMINISTIC
cosh κ(T − t)
ξt∗ = x0 κ
sinh κT
Schied-Schöneborn-Tehranchi (2010)
I Optimal solution same as in Mean - Variance case
I Schied-Schöneborn-Tehranchi’s trick shows that optimal
trading strategy is generically deterministic for exponential
utility
I Open problem for general utility function
I Partial results in infinite horizon versions
Shortcomings
I Optimal strategies
I are DETERMINISTIC
I do not react to price changes
I are time inconsistent
I are counter-intuitive in some cases
I Computations require
I solving nonlinear PDEs
I with singular terminal conditions
Recent Developments
Gatheral - Schied (2011), Schied (2012)
I In the spirit of Almgren-Chriss mean-variance criterion, maximize
Z T
E R(X ) − λ̃ Xt Pt dt
0
I The solution happens to be ROBUST
I P̃t can be a semi-martingale, optimal solution does not change
Recent Developments
Almgren - Li (2012), Hedging a large option position
I g(t, P̃t ) price at time t of the option (from Black-Scholes theory)
I Revenue
Z T Z T
R(X ) = g(T , P̃T ) + XT P̃T − P̃t Ẋt dt − λ Ẋt2 dt
0 0
I Using Itô’s formula and the fact that g solves a PDE,
Z T Z T
R(X ) = R0 + [Xt +∂x g(t, P̃t )]dt −λ Ẋt2 dt R0 = x0 P̃0 +g(0, P̃0 )
0 0
I Introduce Yt = Xt + ∂x g(t, P̃t ) for hedging correction
(
d P̃t = γ Ẋt dt + σdWt
2 2
dYt = [1 + γ∂xx g(t, P̃t )]dt + σ∂xx g(t, P̃t )dWt
I Minimize
T
σ2 2
Z
2
E G(P̃T , YT ) + Yt − γ Ẋt Yt + λẊt dt
0 2
2
Explicit solution in some cases (e.g. ∂xx g(t, x) = c, G quadratic)
Transient Price Impact
Flexible price impact model
I Resilience function G : (0, ∞) → (0, ∞) measurable bounded
I Admissible X = (Xt )0≤t≤T cadlag, adapted, bounded variation
I Transaction price
Z t
Pt = P̃t + G(t − s) dXs
0
I Expected cost of strategy X given by
−x0 P0 + E[C(X )]
where Z Z
C(X ) = G(|t − s|)dXs dXt
Transient Price Impact: Some Results
I No Price Manipulation in the sense of Huberman - Stanzl
(2004) if G(| · |) positive definite
I Optimal strategies (if any) are deterministic
I Existence of an optimal X ∗ ⇔ solvability of a Fredholm equation
I Exponential Resilience G(t) = e−ρt
x0
dXt∗ = − δ0 (dt) + ρdt + δT (dt)
ρT + 2
I X ∗ purely discrete measure on [0, T ] when G(t) = (1 − ρt)+ with
ρ>0
I dXt∗ = − x20 [δ0P
(dt) + δT (dt)] if ρ < 1/T
x0 n
I dXt∗ = − n+1 i=0 δiT /n (dt) if ρ < n/T for some integer n ≥ 1
Obizhaeva - Wang (2005), Gatheral - Schied (2011)
Optimal Execution in a LOB Model
I Unaffected price P̃t (e.g. P̃t = P0 + σWt )
I Trader places only market sell orders
I Placing buy orders is not optimal
R ∞ side of LOB given by a function f : R → (0, ∞) s.t.
Bid
I
0
f (x)dx = ∞. At any time t
Z b
f (x)dx = bids available in the price range [P̃t + a, P̃t + b]
a
I The shape function f does not depend upon t or P̃t
Obizhaeva - Wang (2006), Alfonsi - Fruth - Schied (2010), Alfonsi
- Schied - Schulz (2011), Predoiu - Shaikhet - Shreve (2011)
Optimal Execution in a LOB Model (cont.)
I Price Impact process D = (Dt )0≤t≤T adapted, cadlag
At time t a market order of size A moves the price from P̃t + Dt−
to P̃t + Dt where
Z Dt
f (x)dx = A
Dt−
Rx
I Volume Impact Qt = F (Dt ) where F (x) = 0
f (x 0 )dx 0 .
I LOB Resilience: Qt and Dt decrease between trades, e.g.
dQt = −ρQt dt, for some ρ > 0
I At time t, a sell of size A will bring
Z Dt Z Dt
(P̃t + x)f (x)dx = AP̃t + xdF (x)
Dt− Dt−
Z Qt
= AP̃t + ψ(x)dx = AP̃t + Ψ(Qt ) − Ψ(Qt− )
Qt−
Rx
if ψ = F −1 and Ψ(x) = 0
ψ(x 0 )dx 0 .
Stochastic Control Formulation
Holding trajectories / Trading strategies
Ξ(t, x) = (Ξs )t≤s≤T : càdlàg, adapted, bounded variation, Ξt = x
Z s
Ξac (t, x) = (Ξs )t≤s≤T : Ξs = x+ ξr dr for (ξs )t≤s≤T bounded adapted
t
dXt
= −dΞt
dQt = −dΞt − ρQt dt
dRt = −ρQt ψ(Qt )dt − σΞt dWt
Value Function Approach
State space process Zt = (Xt , Qt , Rt ), value function
v (t, x, q, r ) = v (t, z) = supξ∈Ξ(t,x) E[U(RT − Ψ(QT )]
First properties
I U(r − Ψ(q + r )) ≤ v (t, x, q, r ) ≤ U(r − Ψ(q))
I v (t, x, q, r ) = U(r − Ψ(q + r )) for x = 0 and t = T
I Functional approximation arguments imply
v (t, x, q, r ) = sup E[U(RT − Ψ(QT )]
ξ∈Ξ(t,x)
= sup E[U(RT − Ψ(QT )]
ξ∈Ξac (t,x)
= sup E[U(RT − Ψ(QT )]
ξ∈Ξd (t,x)
QVI Formulation
As before
I Assume v smooth and apply Itô’s formula to v (t, Xt , Qt , Rt )
I v (t, Xt , Qt , Rt ) is a super-martingale for a typical ξ implies
σ2 2 2
∂t v + x ∂rr v − ρqψ(q)∂r v − ρq∂q v ≥ 0
2
I ∂x v − ∂q v ≥ 0
QVI (Quasi Variational Inequality) instead of HJB nonlinear PDE
σ2 2 2
min[∂t v + x ∂rr v − ρqψ(q)∂r v − ρq∂q v , ∂x v − ∂q v ] = 0
2
with terminal condition v (T , x, q, r ) = U(r − Ψ(x + q))
Existence and Uniqueness of a viscosity solution
R.C. - H. Luo (2012)
Special Cases
Assuming a flat LOB f (x) = c and U(c) = x
q 2 (1 − e−2ρs ) (x + qe− ρs)2
v (t, x, q, r ) = r − −
2c c(2 + ρ(T − t − s)
with s = (T − t) ∧ inf{u ∈ [0, T ]; (1 + ρ(T − t − u))qe−ρu ≤ x}
Still with f (x) = c but for a CARA utility U(x) = −e−αx
α
v (t, x, q, r ) = − exp −αr − (αcσ 2 xx 2 +q 2 (1−e−2ρs )+ϕ(t +s)(x +qe−ρs )2
2c
where ϕ is the solution of the Ricatti’s equation
ρ2 2ραcσ 2 2ραcσ 2
ϕ̇(t) = 2
ϕ(t)2 + 2
ϕ(t) − , ϕ(T ) = 1
2ρ + αcσ 2ρ + αcσ 2ρ + αcσ 2
and
s = (T − t) ∧ inf{u ∈ [0, T ]; (αcσ 2 + ρϕ(t + u))x ≥ ρ(2 − ϕ(t + u))qe−ρu }