Professional Documents
Culture Documents
27 August 2011
Visixion GmbH
Derivatives Analytics & Python Programming
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 1 / 34
1 Market Realities
Index Returns
Implied Volatility Surface
Interest Rates
4 Numerical Results
Example Options & Accuracy
Selected Results
5 Conclusions
6 Contact
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 2 / 34
Guiding Questions for the Talk
1 Why do we need a stochastic volatility, stochastic short rate (SVSI) model at all?
2 How do I value American options via Monte Carlo simulation?
I problem: Monte Carlo is forward evolving, American options are valued backwards
4 How can I improve performance of the Monte Carlo valuation of American options in
such a model?
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 3 / 34
BASIC NOTIONS: historical/realized, instantaneous, implied volatility
historical/realized volatility: the standard deviation of log returns of a nancial time
series; assume N (past) log returns rn log Sn log Sn1 , n {1, ..., N }, with
1
PN
mean return
= N n=1 rn ; the historical/realized volatility
is then given by
v
u
u1 X N
=t (rn
)2
N n=1
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 4 / 34
Market Realities Index Returns
8000
7000
6000
DAX Daily Quotes
5000
4000
3000
2000
1992 1994 1996 1998 2000 2002 2004 2006 2008 2010
0.10
DAX Daily Log Returns
0.05
0.00
0.05
1992 1994 1996 1998 2000 2002 2004 2006 2008 2010
0.8
0.6
Return (252d Mov)
0.4
0.2
0.0
0.2
0.4
0.6
0.8
1.01992 1994 1996 1998 2000 2002 2004 2006 2008 2010
0.50
0.45
0.40
Vola (252d Mov)
0.35
0.30
0.25
0.20
0.15
0.101992 1994 1996 1998 2000 2002 2004 2006 2008 2010
1.0
0.5
Corr (252d Mov)
0.0
0.5
1.01992 1994 1996 1998 2000 2002 2004 2006 2008 2010
21
20
19
18
Implied Volatility
17
16
15
14
13
12
7000 7200 7400 7600 7800 8000
Strike
4
EURIBOR Daily Quotes
1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011
0.3
0.2
EURIBOR Log Changes
0.1
0.0
0.1
0.2
1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011
EURIBORterm structure 5
4
EURIBOR Daily Quotes
1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 10 / 34
The SVSI Model Model Economy
dSt = rt St dt + vt St dZt1 (1)
dvt = v (v vt )dt + v vt dZt2 (2)
for 0tT and with the following meaning of the variables and parameters
I St index level at date t
I rt risk-less short rate at date t
I vt variance at date t
I v speed of adjustment of vt to ...
I ... v , the long-term average of the variance
I v volatility coecient of the index's variance
I Ztn standard Brownian motions
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 11 / 34
The SVSI Model Model Economy
drt = r (r rt )dt + r rt dZt3 (3)
the time t value of a zero-coupon bond paying one unit of currency at T, 0 t < T,
is
Z T
Bt (T ) = EQ
t exp ru du
t
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 12 / 34
The SVSI Model European Options
Vt = EQ
t (Bt (T )VT )
with V0 = EQ
0 (B0 (T )VT ) as the important special case for valuation purposes
6
E denotes the expectation operator and Q the unique risk-neutral probability
measure equivalent to the real world measure P
for example, the Black-Scholes-Merton model is known to be complete from which
uniqueness of the risk-neutral measure Q follows
the dening characteristic of Q is that it makes the discounted index level process a
martingale
since the short rate part of the model is not correlated with the stochastic volatility
H93
index part, it suces to consider the characteristic function 0 of the Heston
(1993) model (see equation (10))
Z
S0 K h i du
C0H93 (K, T ) = S0 B0 (T ) Re eiuk H93
0 (u i/2, T ) (4)
0 u2 + 1/4
the discount factor B0 (T ) is known in closed form for the CIR85 model (see
equation (11))
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 14 / 34
The SVSI Model Monte Carlo Simulation
to this end, divide the given time interval [0, T ] in equidistant sub-intervals t such
that now t {0, t, 2t, ..., T }, i.e. there are M + 1 points in time with M T /t
a discretization of the continuous time market model (1), (2) and (3) of MS2009 is
then given by the so called Full Truncation scheme (with s = t t):
St = Ss exp(( rt vt /2)t + vt tzt1 )
p
vt = vs + v (v vs+ )t + v vs+ tzt2
vt = vt+
p
rt = rs + r (r rs+ )t + r rs+ tzt3
rt = rt+
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 15 / 34
Least Squares Monte Carlo American Options
the valuation of options with American, i.e. early, exercise can be formulated as an
optimal stopping problem
V0 = sup EQ
0 (B0 ( )h (S )) (6)
[0,T ]
denitions are:
I V0 present value of the American derivative
I a Fadapted stopping time
I T date of maturity
I B0 ( ) discount factor appropriate for stopping time
I h a non-negative, F measurable payo function
I S the index level process stopped at t =
the expectation is again taken under the unique risk-neutral measure Q (e.g. given
by some kind of model calibration procedure)
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 16 / 34
Least Squares Monte Carlo American Options
V0 = sup EQ
0 (B0 ( )h (X )) (7)
{0,t,2t,...,T }
the continuation value Ct at date t of the option, i.e. the value of not exercising the
option at this date, is given under risk-neutrality as
Ct (x) = EQ
t (e
rt t
Vt+t (Xt+t )|Xt = x)
using the Markov property of Xt
applying another important result in this context, the value of the American option
at date t is then
i.e. the maximum of the payo ht (x) of immediate exercise and the expected payo
Ct (x) of not exercising
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 17 / 34
Least Squares Monte Carlo American Options
t,i
ht (Xt,i ) if ht (Xt,i ) > C (exercise takes place)
Vt,i = t,i
Yt,i if ht (Xt,i ) C (no exercise takes place)
I
1X
V0LSM = V0,i (9)
I i=1
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 18 / 34
Least Squares Monte Carlo American Options
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 19 / 34
Least Squares Monte Carlo American Options
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 20 / 34
Least Squares Monte Carlo Variance Reduction
we correct the LSM estimator (9) by the simulated dierences gained from a control
variate
consider that we have simulated I paths of Xt to value an American put option with
maturity T and strike K
then there are also I simulated present values of the corresponding European put
option
they are given by P0,i = B0 (T )hT (ST,i ), i {1, ..., I}, with hT (s) max[K s, 0]
we correct the estimator (9) as follows
I
1 X
V0CV = V0,i (P0,i P0H93 )
I i=1
where we set for simplicity 1 and where we get P0H93 from (4) and (5)
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 21 / 34
Least Squares Monte Carlo Variance Reduction
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 22 / 34
Numerical Results
The Challenge
To give an idea of the computational advantage of our method, a Matlab code
implementing the algorithm of Longsta and Schwartz (2001) takes dozens of
minutes to compute a single option price while our approximation takes roughly
a tenth of a second.
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 23 / 34
Numerical Results Example Options & Accuracy
the rst yardstick should apply to options with very small values (where the absolute
dierence is better suited) while the second rather applies to those with higher
values (where the relative dierence is better suited)
In line with market microstructure benchmarks we set
I P Y1 = 0.025 currency units (i.e. 2.5 cents) and
I P Y2 = 0.015 (i.e. 1.5%).
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 24 / 34
Numerical Results Example Options & Accuracy
a Data for the period 19962010; OTM, ATM, ITM = out-of-the, at-the, in-the-money options;
number = number of put options included in the sample; maturity = average option maturity in
days; mid-price = middle of bid and ask quotes in USD; spread = USD dierence of bid and ask
quote; relative spread = spread relative to mid-price. Source: Chaudhury (2011).
The tick sizei.e. the minimum allowed change of the price of an optionin the table
for options with bid quotes below 3 USD is 5 cents. For options with bid quotes above 3
USD the minimum tick size is 10 cents.
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 25 / 34
Numerical Results Example Options & Accuracy
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 26 / 34
Numerical Results Selected Results
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 27 / 34
Numerical Results Selected Results
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 28 / 34
Numerical Results Selected Results
Table: Simulation results for dierent congurations of the LSM algorithm and an accuracy
level of P Y1 = 0.01 and P Y2 = 0.01.
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 29 / 34
Conclusions
Conclusions
1 a realistic market model should take into account stochastic volatility and short rates
2 the valuation of non-vanilla options, like American put options, makes it necessary
to use Monte Carlo simulation
3 the simulation of complex models in combination with Least Squares Monte Carlo is
computationally demanding and time consuming
6 the speed-up compared to the times reported in MS2009 is 800+ times (0.9 seconds
vs. 720+ seconds)
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 30 / 34
Contact
Contact
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 31 / 34
Contact
CV Yves Hilpisch
Implementation in Python
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 32 / 34
Contact
c1 v v
p
c2 (v ui v )2 v2 (ui u2 )
v v ui + c2
c3
v v ui c2
1 c1 ec3 T
c1
H1 (u, T ) r0,T uiT + 2 v v ui + c2 )T 2 log
v 1 c3
c2 T
v v ui + c2 1 e
H2 (u, T )
v2 1 c3 ec2 T
and all variables as dened as in the main text. In H1 we set r0,T = log(B0 (T ))/T .
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 33 / 34
Contact
The discount factor for discounting cash ows due at time T to time t = 0, i.e. the
present value of a zero-coupon bond paying one unit of currency at T , takes the form
Y. Hilpisch (Visixion GmbH) Fast Monte Carlo Valuation Paris, EuroScipy 2011 34 / 34