You are on page 1of 46

Derivation of the Heston Model

by Fabrice Douglas Rouah


www.FRouah.com
www.Volopta.com
The stochastic volatility model of Heston [7] is one of the most popular
equity option pricing models. This is due in part to the fact that the Heston
model produces call prices that are in closed form, up to an integral that must
evaluated numerically. In this Note we present a complete derivation of the
Heston model.
1 Heston Dynamics
The Heston model assumes that the underlying, o
|
, follows a Black-Scholes
type stochastic process, but with a stochastic variance
|
that follows a Cox,
Ingersoll, Ross process. Hence
do
|
= jo
|
dt
_

|
o
|
d\
1,|
(1)
d
|
= i(0
|
)dt o
_

|
d\
2,|
1 [d\
1,|
d\
2,|
[ = jdt.
We will drop the time index and write o = o
|
, =
|
, \
1
= \
1,|
, and \
2
= \
1,|
for notional convenience. The six parameters of the model are
j the drift of the process for the stock
i the mean reversion speed for the variance,
0 the mean reversion level for the variance,
o the volatility of the variance,
j the correlation between the two Brownian motions \
1
and \
2
, and

0
the initial (time zero) level of the variance.
1.1 Risk Neutral Parameters
To Come
2 Properties of the Variance Process
It is well-known (see CIR ) that conditional on a realized value of
s
, the random
variable 2c
|

|
follows a non-central chi-square distribution with d = 4i0,o
2
degrees of freedom and non-centrality parameter 2c
|

s
c
r(|s)
, where
c
|
=
2i
o
2
_
1 c
r(|s)
_. (2)
1
Consequently, the conditional mean and variance of
|
are, respectively,
: = 0 (
s
0) c
r(|s)
(3)
:
2
=

|
o
2
c
r(|s)
i
_
1 c
r(|s)
_

0o
2
2i
_
1 c
r(|s)
_
2
.
3 The Heston PDE
In this section we explain how to derive the PDE from the Heston model. This
derivation is a special case of a PDE for general stochastic volatility models
which is described by Gatheral [9]. Form a portfolio consisting of one option
\ = \ (o, , t), ^ units of the stock o, and c units of another option l =
l(o, , t) that is used to hedge the volatility. The portfolio has value
H = \ ^o cl
where H = H
|
. Assuming the portfolio is self-nancing, the change in portfolio
value is
dH = d\ ^do cdl.
3.1 Portfolio Dynamics
Apply Itos Lemma to d\ . We must dierentiate with respect to the variables
t, o, and . Hence
d\ =
0\
0t
dt
0\
0o
do
0\
0
d
1
2
o
2
0
2
\
0o
2
dt
1
2
o
2

0
2
\
0
2
dt ojo
0
2
\
00o
dt
since (do)
2
= o
2
(d\
1
)
2
= o
2
dt, (d)
2
= o
2
dt, and dod = ood\
1
d\
2
=
oojdt. We have used the fact that (dt)
2
= 0 and d\
1
dt = d\
2
dt = 0.
Applying Itos Lemma to dl produces the identical result, but in l
dl =
0l
0t
dt
0l
0o
do
0l
0
d
1
2
o
2
0
2
l
0o
2
dt
1
2
o
2

0
2
l
0
2
dt ojo
0
2
l
00o
dt.
Combining these two expressions, we can write the change in portfolio value,
dH, as
dH = d\ ^do cdl (4)
=
_
0\
0t

1
2
o
2
0
2
\
0o
2
joo
0
2
\
00o

1
2
o
2

0
2
\
0
2
_
dt
c
_
0l
0t

1
2
o
2
0
2
l
0o
2
joo
0
2
l
00o

1
2
o
2

0
2
l
0
2
_
dt
_
0\
0o
c
0l
0o
^
_
do
_
0\
0
c
0l
0
_
d.
2
3.2 The Riskless Portfolio
In order for the portfolio to be hedged against movements in the stock and
against volatility, the last two terms in Equation (4) involving do and d must
be zero. This implies that the hedge parameters must be
c =
J\
Ju
JI
Ju
(5)
^ = c
0l
0o

0\
0o
.
Moreover, the portfolio must earn the risk free rate, r. Hence
dH = rHdt = r (\ ^o cl) dt.
Now with the values of c and ^ from Equation (5) the change in value of the
riskless portfolio is
dH =
_
0\
0t

1
2
o
2
0
2
\
0o
2
joo
0
2
\
00o

1
2
o
2

0
2
\
0
2
_
dt
c
_
0l
0t

1
2
o
2
0
2
l
0o
2
joo
0
2
l
00o

1
2
o
2

0
2
l
0
2
_
dt
which we write as
dH = (c1) dt. (6)
Hence we have
c1 = r (\ ^o cl) .
Substituting for c and re-arranging, produces the equality
r\ ro
J\
JS
J\
Ju
=
1 rl ro
JI
JS
JI
Ju
(7)
which we exploit in the next section.
3.3 The PDE in Terms of the Price
The left-hand side of Equation (7) is a function of \ only, and the right-hand
side is a function of l only. This implies that both sides can be written as
a function )(o, , t) of o, , and t. Following Heston, specify this function as
)(o, , t) = i(0 ) `(o, , t), where `(o, , t) is the price of volatility risk.
Write the left-hand side of Equation (7) as
r\ ro
J\
JS
J\
Ju
= i(0 ) `(o, , t).
3
Substitute for and rearrange to produce the Heston PDE expressed in terms
of the price o
0\
0t

1
2
o
2
0
2
\
0o
2
joo
0
2
\
00o

1
2
o
2

0
2
\
0
2
(8)
r\ ro
0\
0o
[i(0 ) `(o, , t)[
0\
0
= 0.
This is Equation (6) of Heston [7]. The PDE in Equation (8) can be written
0\
0t
/\ r\ = 0
where
/ = ro
0
0o

1
2
o
2
0
0o
2
(9)
[i(0 ) `(o, , t)[
0
0

1
2
o
2

0
2
0
2
joo
0
00o
is the generator of the Heston model. As explained by Lewis [14], the rst line
in Equation (9) is the generator of the Black-Scholes model, while the second
line adds the corrections for stochastic volatility.
3.4 The PDE in Terms of the Log Price
Let r = lno and express the PDE in terms of r, t and instead of o, t, and .
This leads to a simpler form of the PDE. We need the following derivatives
0\
0o
=
0\
0r
0r
0o
=
0\
0r
1
o
by the chain rule.
0
2
\
00o
=
0
0
_
0\
0o
_
=
0
0
_
1
o
0\
0r
_
=
1
o
0
2
\
00r
by the chain rule.
0
2
\
0o
2
=
0
0o
_
0\
0o
_
=
0
0o
_
1
o
0\
0r
_
=
1
o
2
0\
0r

1
o
0
2
\
0o0r
=
1
o
2
0\
0r

1
o
0
0r
_
0\
0o
_
=
1
o
2
0\
0r

1
o
2
0
2
\
0r
2
by the product rule.
Plug into the Heston PDE Equation (8). All the o terms cancel and we obtain
the Heston PDE in terms of the log price r = lno
0\
0t

1
2

0
2
\
0r
2

_
r
1
2

_
0\
0r
jo
0
2
\
00r
(10)
1
2
o
2

0
2
\
0
2
r\ [i(0 ) `[
0\
0
= 0
where, as in Heston, we have written the market price of risk to be a linear
function of the volatility, so that `(o, , t) = `.
4
4 The Call Price
The call price is of the form
C
T
(1) = c
:r
1
_
(o
T
1)
+
_
(11)
= c
:r
1 [o
T
1
S
T
,1
[ c
:r
11 [1
S
T
,1
[
= c
rt
1
1
(r, , t) c
:r
11
2
(r, , t).
In this expression 1

(r, , t) each represent the probability of the call expiring


in-the-money, conditional on the value r
|
= lno
|
of the stock and on the value

|
of the volatility at time t, where t = T t is the time to expiration. Hence
1

(r, , t) = Ii (lno
T
ln1) (12)
for , = 1, 2. These probabilities are obtained under dierent probability mea-
sures. In Equation (11), the expected value 1 [1
S
T
,1
[ is the probability of the
call expiring in-the-money under the original measure Q that makes \
1
and \
2
in Equation (1) Brownian motion. Hence
1
Q
[1
S
T
,1
[ = Q(o
T
1) = Q(lno
T
ln1) = 1
2
(r, , t) .
Evaluating c
:r
1 [o
T
1
S
T
,1
[ in Equation (11) requires changing the original
measure Q to another measure P. Dene the Radon-Nikodym derivative
Z
|
=
o
|
,o
T
1
|
,1
T
where 1
|
= oxp
_
_
|
0
rdn
_
= c
:|
. Then the second expectation is
c
:r
1
Q
[o
T
1
S
T
,1
[ = 1
Q
_
1
|
1
T
o
T
1
S
T
,1
_
= 1
P
_
1
|
1
T
o
T
1
S
T
,1
Z
|
_
= o
|
1
P
[1
S
T
,1
[
= c
rt
P(o
T
1) = c
rt
1
1
(r, , t) .
This implies that the call price in Equation (11) can be written in terms of both
measures as
C
T
(1) = o
|
P(o
T
1) 1c
:r
Q(o
T
1) .
In Section 6.1 we show a more general derivation of this. Now take derivatives
of C
0C
0t
= c
r
01
1
0t
1rc
:r
1
2
1c
:r
01
2
0t
(13)
= c
r
_
01
1
0t
_
1c
:r
_
r1
2

01
2
0t
_
,
5
0C
0r
= c
r
1
1
c
r
01
1
0r
c
:r
1
01
2
0r
= c
r
_
1
1

01
1
0r
_
1c
:r
_
01
2
0r
_
,
0
2
C
0r
2
= c
r
1
1
2c
r
01
1
0r
c
r
0
2
1
1
0r
2
c
:r
1
0
2
1
2
0r
2
= c
r
_
1
1
2
01
1
0r

0
2
1
1
0r
2
_
1c
:r
_
0
2
1
2
0r
2
_
,
0C
0
= c
r
_
01
1
0
_
1c
:r
_
01
2
0
_
,
0
2
C
0
2
= c
r
_
0
2
1
1
0
2
_
1c
:r
_
0
2
1
2
0
2
_
,
and
0
2
C
0r0
= c
r
01
1
0
c
r
0
2
1
1
00r
c
:r
1
0
2
1
2
00r
= c
r
_
01
1
0

0
2
1
1
00r
_
1c
:r
_
0
2
1
2
00r
_
.
Since in the rst line of Equation (13) we actually need the derivative with
respect to maturity t = T t rather than the derivative with respect to t, we
actually need
Jc
Jr
=
Jc
J|
J|
Jr
=
Jc
Jr
. We use the derivatives from Equation (13)
in the following section.
4.1 The PDE for P
1
and P
2
Since the call price C in Equation (11) is also an option, it also follows the
PDE in Equation (10), which we write here in terms of C but using the time
derivative with respect to t rather than t

0C
0t

1
2

0
2
C
0r
2

_
r
1
2

_
0C
0r
jo
0
2
C
00r
(14)
1
2
o
2

0
2
C
0
2
rC [i(0 ) `[
0C
0
= 0.
To obtain the Heston PDE for 1
1
and 1
2
, we note that the PDE in Equation
(14) is independent of the terms of the call contract. Hence, by setting 1 = 0
and o = 1 in Equation (11) we obtain an option whose price is simply 1
1
. This
option will also follow the PDE. Similarly, by setting o = 0, 1 = 1, and r = 0
in Equation (11) we obtain an option whose price is 1
2
. Since 1
2
follows
6
the PDE, so does 1
2
. This implies that from Equations (13) we can regroup
terms common to 1
1
and substitute into the PDE Equation (14) to obtain

01
1
0t

1
2

_
1
1
2
01
1
0r

0
2
1
1
0r
2
_

_
r
1
2

__
1
1

01
1
0r
_
(15)
jo
_
01
1
0

0
2
1
1
0r0
_

1
2
o
2

0
2
1
1
0
2
r
_
c
r
1
1
c
:r
11
2

[i(0 ) `[
01
1
0
= 0.
Set 1 = 0 and o = 1 so that the PDE for 1
1
in Equation (15) becomes

01
1
0t

_
r
1
2

_
01
1
0r

1
2

0
2
1
1
0r
2
jo
0
2
1
1
0r0
(16)
[jo i(0 ) `[
01
1
0

1
2
o
2

0
2
1
1
0
2
= 0.
Similarly, in Equations (13), regroup terms common to 1
2
and substitute into
the PDE for 1
2
in Equation (14)
_
r1
2

01
2
0t
_

1
2

0
2
1
2
0r
2

_
r
1
2

_
01
2
0r
jo
0
2
1
2
00r
(17)
1
2
o
2

0
2
1
2
0
2
r
_
c
r
1
1
c
:r
11
2

[i(0 ) `[
01
2
0
= 0.
Set o = 0, 1 = 1, and r = 0 so that the PDE for 1
2
in Equation (17) becomes

01
2
0t

1
2

0
2
1
2
0r
2

_
r
1
2

_
01
2
0r
jo
0
2
1
2
00r
(18)

1
2
o
2

0
2
1
2
0
2
[i(0 ) `[
01
2
0
= 0.
For notional convenience, we can combine Equations (16) and (18) into a single
expression

01

0t
jo
0
2
1

0r0

1
2

0
2
1

0r
2

1
2
o
2
0
2
1

0
2
(19)
(r n

)
01

0r
(a /

)
01

0
= 0
for , = 1, 2 and where n
1
=
1
2
, n
2
=
1
2
, a = i0, /
1
= i`jo, and /
2
= i`.
This is Equation (12) of Heston [7] but in terms of t rather than t. That
explains the minus sign in the rst term of Equation (19) above.
4.2 Obtaining the Characteristic Functions
When the characteristic functions )
1
(c; r, ) and )
2
(c; r, ) corresponding to
the in-the-money probabilities 1
1
and 1
2
are known, each probability can be
7
recovered from its characteristic function via the inversion theorem
1

= Ii (lno
T
ln1) =
1
2

1

_
1
0
Io
_
c
Iln 1
)

(c; r, )
ic
_
dc. (20)
At maturity, when t = T so that t = 0, the probabilities are subject to the
terminal condition
1

(r, , 0) = 1
r,ln 1
(21)
which simply means that at expiry, when o
T
1 the probability of the call
being in-the-money is unity. Heston assumes that the characteristic functions
are of the log-linear form
)

(c; r, ) = oxp (C

(t, c) 1

(t, c) icr) (22)


where C

and 1

are coecients and t = T t is the time to maturity. The


characteristic functions )

will follow the PDE in Equation (19). This is a


consequence of the Feynman-Kac theorem
1
, which stipulates that if a function
)(r
|
, t) of the SDE r
|
satises the PDE
J}
J|
r)/) = 0 with terminal condition
)(r
T
, T), where r
|
= (lno
|
,
|
) is the Heston bivariate diusion and / is the
Heston generator from Equation (9)
/ = ro
0
0o

1
2
o
2
0
0o
2
[i(0 ) `(o, , t)[
0
0

1
2
o
2

0
2
0
2
joo
0
00o
then the solution to ) is
)(r
|
, t) = 1 [ )(r
T
, T)[ r
|
= r,
|
= [ .
Using )(r
T
, T) = c
Ir
T
= c
Iln S
T
produces the solution
)(r
|
, t) = 1
_
c
Iln S
T

lno
|
= o,
|
=

which is the characteristic function for lno


T
. Hence the PDE for the charac-
teristic function is, from Equation (19)

0)

0t
jo
0
2
)

0r0

1
2

0
2
)

0r
2

1
2
o
2
0
2
)

0
2
(23)
(r n

)
0)

0r
(a /

)
0)

0
= 0.
1
See the Note on www.FRouah.com for an explanation of the Feynman-Kac theorem.
8
To evaluate this PDE for the characteristic function we need the following deriv-
atives
0)

0t
=
_
0C

0t

01

0t

_
)

0)

0r
= ic)

0
2
)

0r
2
= c
2
)

0)

0
= 1

0
2
)

0
2
= 1
2

0
2
)

00r
= ic1

Substituting these derivatives in Equation (23) and drop the )

terms to obtain

_
0C

0t

01

0t
_
joic1


1
2
c
2

1
2
o
2
1
2

(24)
(r n

) ic (a /

) 1

= 0
or equivalently

01

0t
joic1


1
2
c
2

1
2
o
2
1
2

ic /

_
(25)

0C

0t
ric a1

= 0.
This produces two of dierential equations
01

0t
= joic1


1
2
c
2

1
2
o
2
1
2

ic /

(26)
0C

0t
= ric a1

.
These are Equations (A7) in Heston [7]. Heston species the initial conditions
1

(0, c) = 0 and C

(0, c) = 0. The rst Equation in (26) is a Riccati equation


in 1

while the second is an ODE for C

that can solved using straightforward


integration once 1

is obtained.
4.3 Solving the Heston Riccati Equation
4.3.1 Solution of the Riccati Equation
The Riccati equation for j(t) with coecients 1(t), Q(t) and 1(t)
dj(t)
dt
= 1(t) Q(t)j(t) 1(t)j(t)
2
(27)
9
can be solved by considering the second-order ordinary dierential equation for
n(t)
n
00

_
1
0
1
Q
_
n
0
11n = 0 (28)
which we write as n
00
/n
0
cn = 0. The solution to Equation (27) is then
j(t) =
n
0
(t)
n(t)
1
1(t)
.
The ODE in Equation (28) can be solved via the auxiliary equation r
2
/rc = 0
which has two solutions for given by
c =
/
_
/
2
4ac
2
and , =
/
_
/
2
4ac
2
.
The solution to the second-order ODE in Equation (28) is n(t) = c
o|
1c
o|
where and 1 are constants. The solution to the Riccati equation is therefore
j(t) =
cc
o|
1,c
o|
c
o|
1c
o|
1
1(t)
.
4.3.2 Solution of the Heston Riccati Equation
From Equation (26) the Heston Riccati equation is
01

0t
= 1

11
2

(29)
where
1

= n

ic
1
2
c
2
(30)
Q

= /

joic
1 =
1
2
o
2
.
The corresponding second order ODE is
n
00
Q

n
0
1

1 = 0 (31)
so that 1

=
1
1
u
0
u
. The auxiliary equation is r
00
Q

r
0
1

1 = 0 which has
roots
c =
Q


_
Q
2

41

1
2
=
Q

2
and
, =
Q


_
Q
2
41

1
2
=
Q

2
,
10
where
d

= c , (32)
=
_
Q
2

41

1
=
_
(joic /

)
2
o
2
_
2n

ic c
2
_
.
For notational simplicity we sometimes omit the , subscript for some of the
variables. The solution to the Heston Riccati equation (29) is therefore
1

=
1
1
n
0
n
=
1
1
_
cc
o|
1,c
o|
c
o|
1c
o|
_
=
1
1
_
1cc
o|
,c
o|
1c
o|
c
o|
_
(33)
where 1 =
.
1
. The initial condition 1

(0, c) = 0 implies that we set t = 0


in Equation (33), so that the numerator is 1c , = 0 from which 1 =
o
o
.
Hence, the solution for 1

becomes
1

=
,
1
_
c
or
c
or
q

c
or
c
or
_
=
,
1
_
1 c
Jjr
1 q

c
Jjr
_
=
Q

21
_
1 c
Jjr
1 q

c
Jjr
_
where
q

= 1 (34)
=
/

joic d

joic d

.
We can write the solution for 1

as
1

=
/

joic d

o
2
_
1 c
Jjr
1 q

c
Jjr
_
. (35)
The solution for C

is found by integrating the second equation in (26). Hence


C

=
_
r
0
ricdj a
_
Q

21
__
r
0
_
1 c
Jj
1 q

c
Jj
_
dj.
The rst integral is rict and the second integral can be found by substituting
r = c
J
, from which dr = dc
J
dj and j =
1
rJ
dr. We have
C

= rict
a
d

_
Q

o
2
__
t
d
1
_
1 r
1 q

r
_
1
r
dr. (36)
11
The integral in Equation (36) is evaluated by partial fractions
_
t
d
1
1 r
r(1 qr)
dr =
_
t
d
1
_
1
r

1 q
1 qr
_
dr
=
_
lnr
1 q
q
ln(1 qr)
_
r=t
d
r=1
=
_
dt
1 q
q
ln
_
1 qc
Jr
1 q
__
.
Substituting the integral back into (36), and substituting for d

, Q

, and q

produces the solution for C

= rict
a
o
2
_
(/

joic d

) t 2 ln
_
1 q

c
Jjr
1 q

__
. (37)
This completes the original derivation of the Heston model.
4.4 Summary
Recall from Equation (11) that the call price is of the form
C
T
(1) = c
rt
1
1
(r, , t) c
:r
11
2
(r, , t).
where the in-the-money probabilities 1
1
and 1
2
are
1

=
1
2

1

_
1
0
Io
_
c
Iln 1
)

(c; r, )
ic
_
dc (38)
with the characteristic functions )
1
and )
2
)

(c; r, ) = oxp (C

(t, c) 1

(t, c) icr) .
To obtain the call price, we use the expressions for C

and 1

in Equations (37)
and (35) to obtain the two characteristic functions. We must then evaluate the
integrals for 1
1
and 1
2
using a numerical integration algorithm.
4.5 Remark on the Characteristic Functions
It makes sense that two characteristic functions )
1
and )
2
are associated with
the Heston model, because 1
1
and 1
2
are both in-the-money probabilities, but
obtained under dierent measures. On the other hand, is also seems that a
single characteristic function of o
T
, the terminal log stock price, ought to exist,
since there is only one security. Indeed, in many instances the probabilities 1
1
and 1
2
are written in terms of a single characteristic function ) (c) = ) (c; r, )
as
1
1
=
1
2

1

_
1
0
Io
_
c
Iln 1
)(c i)
ic)(i)
_
dc. (39)
12
and
1
2
=
1
2

1

_
1
0
Io
_
c
Iln 1
)(c)
ic
_
dc. (40)
In this section we show that these formulations are not contradictory. The
"true" characteristic function is actually )
2
, since it is associated with the prob-
ability measure Q that makes \
1
and \
2
in Equation (1) Brownian motion
(see Section 4). Hence, using more compact notation, we can write ) (c) = )
2
,
and we must show that
)
1
(c) =
) (c i)
) (i)
. (41)
Because of the log-linear form of the characteristic function, this is equivalent
to showing that
C
2
(t, c i) C
2
(t, i) = C
1
(t, c) , and (42)
1
2
(t, c i) 1
2
(t, i) = 1
1
(t, c) .
To simplify the task, we denote d

= d

(c), q

= q

(c),
G

(c) =
1 c
Jj()r
1 q

(c)
, and
H

(c) =
1 c
Jj()r
1 q

(c) c
Jj()r
to emphasize the dependence of these quantities on c. It is straightforward to
show the following identities
d
2
(c i) = d
1
(c) and d
2
(i) = jo i,
q
2
(c i) = q
1
(c) and q
2
(i) = 0,
G
2
(c i) = G
1
(c) and G
2
(i) = 0,
H
2
(c i) = H
1
(c) and H
2
(i) = 1 c
cr
.
With these identities, it is easy to show that Equations (42) and (41) hold, and
consequently, that the probabilities can be written written in terms of Equation
(38) or equivalently in terms of (39) and (40). In Section (6) we present a
formal proof of the relation (41).
5 The Little Heston Trap
Albrecher et al. [1] note that the solution to 1

in Equation (35) can be multi-


plied by
1
j
c
Jjr
in the numerator and denominator, which leads to the equiv-
alent form
1

=
1
j
(/

joic d

)
o
2
_
1 c
Jjr
1
1
j
c
Jjr
_
(43)
=
/

joic d

o
2
_
1 c
Jjr
1 c

c
Jjr
_
13
where, from Equation (34)
c

=
1
q

(44)
=
/

joic d

joic d

.
The logarithm in the solution to C

in Equation (37) can be written in the


equivalent form
d

t 2 ln
_
1 q

c
Jjr
1 q

_
= d

t 2 ln
_
1
c
Jjr
_
c
Jjr
q

1 q

__
(45)
= d

t 2d

t 2 ln
__
c
Jjr
q

1 q

__
= d

t 2 ln
__
1 c

c
Jjr
1 c

__
.
This implies that C

can be written in the equivalent form


C

= rict
a
o
2
_
(/

joic d

) t 2 ln
_
1 c

c
Jjr
1 c

__
. (46)
Implementing this formulation is very simple and involves only replacing C

and 1

with slightly diernt forms. Albrecher et al. [1] explain that although
Hestons original formulation and their formulation are identical, their formula-
tion causes fewer numerical problems in the implementation of the model. We
illustrate this by plotting the integrand
Io
_
c
Iln 1
)

(c; r, )
ic
_
for both characteristic functions )
1
and )
2
. We use the same parameter values
as in [1], namely i = 1.768, o = 0.71, j = 0.711, 0 = 0.0808, and

0
= 0.017. In addition, we use o = 1 = 100, and r = 0.08. These
integrands appear in the Figures for c ranging from 0 to 10.
14
-0.1
-0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
0.00 1.00 2.00 3.00 4.00 5.00 6.00 7.00 8.00 9.00 10.00
Original Heston Formulation
Alternate Formulation
-0.05
0
0.05
0.1
0.15
0.2
0.25
0.00 1.00 2.00 3.00 4.00 5.00 6.00 7.00 8.00 9.00 10.00
Original Heston Formulation
Alternate Formulation
Finally, the rotation algorithm of Jackael (REFERENCE) can be used to
overcome the discontinuities brought on by the original Heston formulation.
The algorithm, however, oers little benet over the Albrecher et al. ([1])
formulation. Hence, we do not cover the rotation algorithm in this book, but
refer interested readers to the article by Jackael ().
6 Bakshi and Madan Approach
Bakshi and Madan [8] present a general framework in which the characteristic
function of the state-price density can be used to price most derivatives. In
particular, the Heston model arises a special case of their approach. This is a
more compact way of obtaining the call price, since only a (joint) characteristic
function needs to be obtainedthe PDE in Equation (19) is not needed.
15
6.1 Call Price
The time-t price C
T
(1) of a European call with strike 1 and maturity T is the
expected discounted value under the risk neutral measure Q
C
T
(1) = 1
Q
|
_
c
b(|,T)
(o
T
1)
+
_
=
_
{
c
b(|,T)
(o
T
1) ()d
where /(t, T) =
_
T
|
r
u
dn, () is the risk neutral joint density for = (/(t, T), o
T
),
o
T
is the terminal stock price, and { = o
T
1 is the exercise region. Bakshi
and Madan [8] show that the call price can be written
C
T
(1) =
_
{
c
b(|,T)
o
T
()d 1
_
{
c
b(|,T)
()d
=
_

c
b(|,T)
o
T
()d
_
_
{
c
b(|,T)
o
T
()d
_

c
b(|,T)
o
T
()d
_
1
_

c
b(|,T)
()d
_
_
{
c
b(|,T)
()d
_

c
b(|,T)
()d
_
= G(t, T)H
1
11(t, T)H
2
where
G(t, T) =
_

c
b(|,T)
o
T
()d = 1
Q
|
_
c
b(|,T)
o
T
_
(47)
is the scaled forward price,
1(t, T) =
_

oxp
_

_
T
|
r
u
dn
_
()d = 1
Q
|
_
c
b(|,T)
_
(48)
is the time-t price of a zero-coupon bond paying 1 at time T, and \ = o
T
0
is the admissible region for the stock price at expiry. The Arrow-Debreu security
H
1
is
H
1
=
_
{
c
b(|,T)
o
T
()d
_

c
b(|,T)
o
T
()d
=
_
{
_
c
b(|,T)
o
T
G(t, T)
_
()d
= 1
Q
|
_
c
b(|,T)
o
T
G(t, T)
1
{
_
= 1
Q

|
[1
{
[ ,
where 1
{
is the Heaviside function. The last expectation is written using

()d =
t
b(t;T)
S
T
c(|,T)
()d, i.e., using the Radon-Nikodym derivative
dQ

dQ
=
c
b(|,T)
o
T
G(t, T)
=
oxp
_

_
T
|
r
u
dn
_
o
T
_

c
b(|,T)
o(T)()d
. (49)
16
Similarly, the Arrow-Debreu security H
2
is
H
2
=
_
{
c
b(|,T)
()d
_

c
b(|,T)
()d
=
_
{
_
c
b(|,T)
()d
1(t, T)
_
()d
= 1
Q
|
_
c
b(|,T)
G(t, T)
1
{
_
= 1
Q

|
[1
{
[ ,
which uses the Radon-Nikodym derivative
dQ

dQ
=
c
b(|,T)
1(t, T)
=
oxp
_

_
T
|
r
u
dn
_
_

c
b(|,T)
o
T
()d
. (50)
Since H
1
= 1
Q

|
[1
{
[ and H
2
= 1
Q

|
[1
{
[, each can be interpreted as the time-
t probability that the option expires in-the-money, albeit under the dierent
probability measures Q

and Q

respectively. Hence
H
1
= Q

(o
T
1) and H
2
= Q

(o
T
1) .
In the Heston model, these probabilities are 1
1
and 1
2
from Equation (12). The
Heston probabilities require two separate valuation PDEs, regrouped in Equa-
tion (19), and two separate characteristic functions. In the following section we
show that In Bakshi and Madans approach only a single characteristic function
is required.
6.2 Characteristic Function
The joint characteristic function for = (/(t, T), o
T
) is

) (c, ,) = 1
Q
|
_
c
I,b(|,T)+IS
T
_
(51)
=
_

c
I,b(|,T)+IS
T
()d.
By setting , = i in Equation (51) Bakshi and Madan [8] obtain the characteristic
function of the state-price density c
b(|,T)
() as
)(c) = 1
Q
|
_
c
b(|,T)+IS
T
_
(52)
=
_

c
b(|,T)
c
IS
T
()d.
Setting c = 0 in Equation (52) shows that )(0) = 1(t, T). Dierentiating
Equation (52) with respect to c produces
)

(c) = i
_

c
b(|,T)
c
IS(T)
o(T)()d. (53)
Setting c = 0 in Equation (53) shows that )

(0) = iG(t, T). The characteristic


function for o
T
in terms of the probability H
1
is the expected value of c
IS(T)
17
under Q

and is denoted )
1
(c). Use the Radon-Nikodym derivative (49) and
write
)
1
(c) = 1
Q

|
_
c
IS
T

= 1
Q
|
_
dQ

dQ
c
IS
T
_
(54)
=
_

c
b(|,T)
o
T
G(t, T)
c
IS
T
()d
=
_

c
b(|,T)
o
T
c
IS
T
()d
_

c
b(|,T)
o
T
()d
=
)

(c)
)

(0)
=
)

(c)
iG(t, T)
.
Similarly, the characteristic function for o
T
in terms of the probability H
2
is
the expected value of c
IS(T)
under Q

and is denoted )
2
(c). Use the Radon-
Nikodym derivative (50) and write
)
2
(c) = 1
Q

|
_
c
IS
T

= 1
Q
|
_
dQ

dQ
c
IS
T
_
(55)
=
_

c
b(|,T)
1(t, T)
c
IS
T
()d
=
_

c
b(|,T)
c
IS
T
()d
_

c
b(|,T)
()d
=
)(c)
)(0)
=
)(c)
1(t, T)
.
Hence we have the important result that the two characteristic functions )
1
and )
2
can each be expressed in terms of the characteristic function ) of the
state-price density, its derivative, the bond price 1(t, T), and the forward price
G(t, T), as
)
1
(c) =
)

(c)
iG(t, T)
and )
2
(c) =
)(c)
1(t, T)
.
6.3 Characteristic Function for the Heston Model
Since H
1
and H
2
are analogous to the in-the-money probabilities 1
1
and 1
2
,
respectively, in Equation (12), by the inversion theorem they can each be ex-
pressed in terms of their characteristic functions )
1
and )
2
as
H

=
1
2

1

_
1
0
Io
_
c
I1
)

(c)
ic
_
dc. (56)
The probabilities 1
1
and 1
2
are for the log price A
T
= lno
T
and the log strike
price ln1. To translate them into H
1
and H
2
we must substitute ln1 into
Equation (56) and express the derivation in Section 6 in terms of lno
T
instead
18
of o
T
. In this case the inversion theorem produces
H

=
1
2

1

_
1
0
Io
_
c
Iln 1
)

(c)
ic
_
dc (57)
which is identical to Equation (20). The scaled forward price G(t, T) in Equa-
tion (47) becomes
G(t, T) =
_

c
b(|,T)
lno
T
()d (58)
and the characteristic function )(c) in Equation (52) becomes
)(c) =
_

c
b(|,T)
c
Iln S
T
()d (59)
with derivative
)

(c) = i
_

c
b(|,T)
c
Iln S
T
lno
T
()d. (60)
Recall from Equations (54) and (55) that the two characteristic functions are
)
1
(c) =
}

(;|,T)
Ic(|,T)
and )
2
(c) =
}(;|,T)
1(|,T)
, where now we use the updated form of
the characteristic function in Equation (59). Substitute for )
2
in Equation (57)
to obtain the second survival probability
H
2
=
1
2

1

_
1
0
Io
_
c
Iln 1
)(c)
ic1(t, T)
_
dc
or, when interest rates are xed
H
2
=
1
2

c
:(T|)

_
1
0
Io
_
c
Iln 1
)(c)
ic
_
dc.
Substitute c = i in Equation (59) and compare with Equation (58) to obtain
G(t, T) = ) (i). Next, note that from Equations (59) and (60) we have the
relationship )

(c; t, T) = i) (c i). This implies that the rst characteristic


function can be written )
1
(c) =
}(I)
}(I)
. Hence the rst survival probability is
H
1
=
1
2

1

_
1
0
Io
_
c
Iln 1
)(c i)
ic)(i)
_
dc.
6.4 Comparison with Hestons Approach
To evaluate the in-the-money probabilities 1
1
and 1
2
via the inversion theorem,
two characteristic functions )
1
and )
2
for the logarithm of the terminal stock
price are required because the probabilities 1
1
and 1
2
are obtained under two
dierent measures. Under Bakshi and Madans approach, a single character-
istic function, namely

) (c, ,) in Equation 51, is obtained. This is the joint
characteristic function for the bivariate vector = (/(t, T), o
T
). From

) they
obtain )(c) in Equation (52), the characteristic function of the state-price den-
sity. Bakshi and Madan then show that )
1
and )
2
can be expressed solely in
terms of )(c) and its derivatives. Under Hestons approach, )
1
and )
2
must
obtained separately.
19
7 Derivation Using the Fourier Transform
In this section we show how to derive the Heston call price using the Fourier
transform. We follow the derivation described by Gatheral [9].
7.1 Fourier Transform and its Derivative
There are several denitions of the Fourier transform

) of a function ). The
one used by Gatheral [9] is

)(/) =
_
1
1
c
I|r
)(r)dr.
The derivative of

) is found by considering the Fourier transform of the deriv-
ative of ), denoted

)
0

)
0
(/) =
_
1
1
c
I|r
)
0
(r)dr.
Perform integration by parts, using n
0
= )
0
and = c
I|r

)
0
(/) = c
I|r
)(r)

1
1

_
1
1
i/c
I|r
)(r)dr
= i/

)(/)
which assumes that lim
r!1
c
I|r
)(r) = 0. Continuing in this way shows that
dierentiation of the Fourier transform corresponds to multiplication by i/ so
that

)
(n)
(/) = (i/)
n

)(/).
The inverse transform is
)(r) =
1
2
_
1
1
c
I|r

)(/)d/.
7.2 The Heston Model by the Fourier Transform
We follow the derivation in Gatheral [9]. He explains that the Heston model
can be simplied by the change of variable r
|
= ln
J
t;T
1
where 1 is the strike
price of the option and 1
|,T
= o
|
c
(T|)
is the forward price. Applying Itos
Lemma to the rst equation in (1) shows that r
|
follows the diusion
dr =
1
2
dt
_
d\
1
.
Under the assumptions used by Gatheral the market price of volatility risk is
assumed to be zero so that `(o, , t) = 0. With r
|
dened as ln
J
t;T
1
instead of
lno
|
, the terminal condition in Equation (21) becomes
1

(r, , 0) = 1
r,0
. (61)
20
With these modications the PDE in Equation (19) becomes

01

0t
jo
0
2
1

0r0

1
2

0
2
1

0r
2

1
2
o
2
0
2
1

0
2
(62)
n

01

0r
(a /

)
01

0
= 0
where the parameters are redened as n
1
=
1
2
, n
2
=
1
2
, a = i0, /
1
= i jo,
and /
2
= i since it is assumed that ` = 0. Now consider the Fourier transform

of the probabilities 1

(/, , t) =
_
1
1
c
I|r
1

(r, , t)dr.
Using the terminal condition (61) we have

(/, , 0) =
_
1
0
c
I|r
dr =
1
i/
c
I|r

r=1
r=0
=
1
i/
.
Remembering that dierentiation of the Fourier transform

1

with respect to r
corresponds to multiplication by i/, the PDE in Equation (62) for

1

is

0

1

0t
joi/
0

1

0

1
2
/
2

1


1
2
o
2
0
2

1

0
2
(63)
n

i/

(a /

)
0

1

0
= 0.
Re-arranging, we obtain

_
c

,
0

1

0

0
2

1
0
2
_
a
0

1

0

0

1

0t
= 0 (64)
where
c = n

i/
/
2
2
, = /

joi/
=
o
2
2
.
Note that these coecients are identical to the coecients 1, Q, and 1 in Equa-
tion (30) that dene the Riccati equation in Section 4.3.2, except that / replaces
c. Now the ansatz is that the

1

are of the form

(/, , t) = oxp[C

(/, t)0 1

(/, t)[

1

(n, , 0) (65)
=
1
i/
oxp[C

(/, t)0 1

(/, t)[ .
21
Take derivatives of Equation (65)
0

1

0t
=
_
0C

0t
0
01

0t

_

1

0

1

0
= 1

0
2

1

0
2
= 1
2

.
Substitute these derivatives back into the PDE in Equation (64) and dropping
the

1

terms produces

_
c ,1

1
2

_
a1


_
0C

0t
0
01

0t

_
= 0
which implies that the following two equations must be satised, which appear
as Equation (2.11) in Gatheral [9]
0C

0t
= i1

(66)
01
0t
= c ,1

1
2

= (1 r
+
) (1 r

) .
The rst equation obtains since a = i0. The second equation is identical to
the Riccati equation in (29). Dene, as in Gatheral [9]
r

=
,
_
,
2
4c
2c
=
=
/

joi/ d
o
2
where
d =
_
(joi/ /

)
2
o
2
(2n

i/ /
2
).
This expression for d is identical to that in Equation (32), with c replaced by
/. Then q
2
in Equation (44) can be written as q
2
=
:
:+
with c replaced by /,.
The solution for 1

in Equation (43) is then


1

= r

_
1 c
Jr
1 q
2
c
Jr
_
since cancels out of Equation (66). The solution for C

from Equation (46),


remembering that r = 0 in this derivation, is
C

=
i
o
2
_
(/

joic d) t 2 ln
_
1 q
2
c
Jr
1 q
2
__
= i
_
r

t
2
o
2
ln
_
1 q
2
c
Jr
1 q
2
__
22
since 0 cancels out. These expressions for 1

and C

are Equations (2.12) in


Gatheral [9].
7.3 Alternate Derivation Using the Fourier Transform
We use the following form of the Fourier transform

)(/) =
_
1
1
c
I|r
)(r)dr
which is more consistent with the fact that the characteristic function of a
random variable is the Fourier transform of its probability density.
7.3.1 The Convolution Theorem
The convolution of two function ) (r) and q (r) is another function, denoted
() q) (r) and dened as
() q) (r) =
_
1
1
) (n) q (r n) dn. (67)
The Convolution theorem states that the Fourier Transform of () q) (r) is the
product of the Fourier transforms of

) and q, namely that
\
() q) (/) =

)(/) q(/). (68)
Indeed
\
() q) (/) =
_
1
1
c
I|r
() q) (r) dr
=
_
1
1
c
I|r
__
1
1
) (n) q (r n) dn
_
dr
Use the transformation t = r n and reverse the order of integration
\
() q) (/) =
_
1
1
c
I|(r+u)
__
1
1
) (n) q (t) dn
_
dt
=
_
1
1
c
I|u
) (n)
__
1
1
c
I|r
q (t) dt
_
dn
=

) (/) q (/) .
7.3.2 Plancharel and Parseval Identities
The Plancharel identity states that the product of ) and q (the complex conju-
gate of q) can be expressed in terms of their Fourier transforms
_
1
1
) (r) q (r)dr =
1
2
_
1
1

) (/) q (/) d/ (69)


=
1
2
_
1
1

) (/) q (/) d/
23
since for a complex number q = [q[ c
I0
= [q[ (cos 0 i sin0), its complex conju-
gate is q = [q[ (cos 0 i sin0) = [q[ c
I0
. To prove this identity, use the fact
that Diracs delta function c (r) can be expressed in integral form as
c (r) =
1
2
_
1
1
c
Ir
dc (70)
The Parserval identity arises as a special case of the Plancharel identity, by
setting q = ) in Equation (69)
_
1
1
[) (r)[
2
dr =
1
2
_
1
1

) (/)

2
d/ (71)
since the absolute value of a complex number . = r ij is dened as [.[ =
_
r
2
j
2
8 The Fundamental Transform
To come. Alan Lewis.
9 Heston Greeks
To come.
10 Numerical Integration Schemes
To come
10.1 Newton-Coates Formulas
We evaluate three dierent formulas. The mid-point rule, the trapezoidal rule,
and Simpsons rule. The mid-
10.2 Quadratures
To come
11 Fast Fourier Transform
This is proposed by Carr and Madan ([5]) as a way to speed up the computation
of option prices. Recall the call price is
C
T
(/) = c
:r
_
1
|
_
c
r
T
c
|
_

T
(r) dr
= c
rt
P
_
o
T
c
|
_
1c
:r
Q
_
o
T
c
|
_
24
where / = ln1, r = lno
T
, t = T t and where P(o
T
1) and Q(o
T
1)
are found by inverting the characteristic function. This inversion obviously
requires that the characteristic function be integrable. Since
lim
|!1
C
T
(/) = lim
|!1
c
:r
_
1
|
_
c
r
c
|
_

T
(r) dr
= c
:r
1
Q
[c
r
[
= o
|
which is not zero, C
T
(/) is not integrable. Carr and Madan solve this by
dening the modied call price c
T
(/) as
c
T
(/) = c
o|
C
T
(/)
which includes the dampening factor c
o|
on C
T
(/). Since
lim
|!1
c
T
(/) = lim
|!1
c
:r
_
1
|
_
c
o|+r
c
(o+1)|
_

T
(r) dr
= c
:T
1
Q
[0[
which is zero, c
T
(/) is integrable. The idea is to nd the Fourier trans-
form c
T
() for c
T
(/), and obtain the Fourier transform for C
T
(/) in terms of
c
T
() and c. We thus have
c
T
() =
_
1
1
c
Iu|
c
T
(/) d/
=
_
1
1
c
Iu|
c
o|
C
T
(/) d/
= c
:r
_
1
1
c
(o+Iu)|
__
1
|
_
c
r
c
|
_

T
(r) dr
_
d/.
The area of integration < / < and / < r < is equivalent to <
r < and < / < r, so we can write

c
T
() = c
:r
_
1
1

T
(r)
__
r
1
_
c
(o+Iu)|+r
c
(o+Iu+1)|
_
d/
_
dr
= c
:r
_
1
1

T
(r)
_
c
(o+Iu+1)r
c
2
c
2
i (2c 1)
_
dr
=
c
:r
c
T
( (c 1) i)
c
2
c
2
i (2c 1)
since
c
T
(n) = 1
Q
_
c
Iur

=
_
1
1
c
Iur

T
(r)dr
25
is the characteristic function of r = lno
T
. This call price is therefore
C
T
(/) =
c
o|
2
_
1
1
c
Iu|
c
T
() d (72)
=
c
o|

_
1
0
Io
_
c
Iu|
c
T
()

d.
This last equality holds because while the integrand c
Iu|
c
T
() is a complex
number, the call price C
T
(/) is a real number. This implies that we can ignore
the imaginary part of the integrand, and work only with the real part, which is
even-valued.
11.1 Fast Fourier Transform
The discrete Fourier transform maps a vector of points x = (r
1
, , r

) to
another vector of points x = ( r
1
, , r

) via the relation


r
|
=

=1
c
I
2
N
(1)(|1)
r

for / = 1, , . (73)
Computing these sums independently of one another would require
2
steps.
The fast Fourier transform (FFT) computes these sums simultaneously, which
requires log
2
steps. Recall from Equation (72) that for a given value of
the log strike /, the call price is
C
T
(/) =
c
o|

_
1
0
Io
_
c
Iu|
c
T
()

d. (74)
The objective is to discretize the expression for C
T
(r) and express it in terms
of (73). Note that the inverse FFT of x = ( r
1
, , r

) is the vector x =
(r
1
, , r

) dened as
r
|
=
1

=1
c
I
2
N
(1)(|1)
r

for / = 1, , .
The FFT and inverse FFT are intuitive discrete analogues of their continuous
counterparts. We can denote the FFT that maps x to x by x = 1(x) and the
inverse FFT by x = 1
1
( x).
11.1.1 Discretization of the Integration Domain
We can approximate Equation (74) by the trapezoidal rule over the truncated
range of integration [0, a[ for , using equidistant points

= (, 1) j

=1
26
where j is the increment. The trapezoidal rule approximates C
T
(/) as
C
T
(/) -
c
o|

Io
_
1
2
c
Iu1|
c
T
(
1
) c
Iu2|
c
T
(
2
) (75)
c
Iu
N1
|
c
T
(
1
)
1
2
c
Iu
N
|
c
T
(

)
_
j
=
jc
o|

=1
Io
_
c
Iuj|
c
T
(

where n
1
= n

=
1
2
and n

= 1 for , = 2, , 1 are weights. If


Simpsons rule is used instead of the trapezoidal rule, we set n
1
= n

=
1
3
and
n

=
1
3
_
8 (1)

_
.
11.1.2 Discretization of the Strike Range
We are interested in strikes around the money, so we need to dene the dis-
cretization range of the log strikes so that it is centered about the log spot
price, log o
|
. A good choice is to use equidistant points
/
u
= / (n 1) ` log o
|

u=1
where ` is the increment and / =
X
2
. This produces log strikes over the range
[log o
|
/, log o
|
/ `[. For a log strike value /
u
on the grid we can write
Equation (75) as
C
T
(/
u
) -
jc
o|u

=1
Io
_
c
Iuj|u
c
T
(

.
Substitute for

and /
u
C
T
(/
u
) -
jc
o|u

=1
Io
_
c
I(1)q[b+(u1)X+log St]
c
T
(

) n

_
(76)
=
jc
o|u

=1
Io
_
c
IXq(1)(u1)
c
I(blog St)uj
c
T
(

) n

_
.
In order to express Equation (76) in terms of the FFT (73), we must have the
following constraint on the increments j and `
`j =
2

.
This is an important limitation of the FFT, since it implies a trade o between
the grid sizes. For a xed , choosing a ne grid for the integration range will
produce a coarse grid for the log strikes range, and vice-versa. The only way
27
to increase the granularity of both grids is to increase , and consequently, the
computation time. Dening
r

= c
I(blog St)uj
c
T
(

) n

(77)
and r
u
= C
T
(/
u
) the call price is expressed as the FFT
r
u
=
jc
o|u

=1
Io
_
c
I
2
N
(1)(u1)
r

_
(78)
for n = 1, , .
11.2 Fractional Fast Fourier Transform
This method was proposed by Chourdakis ([6]) for option pricing. It relaxes the
restrictive constraint on the increments `j =
2t

. The fast fractional Fourier


transform (FRFT) replaces
1

in the exponent to Equation (78) with a general


term
r
u
=
jc
o|u

=1
c
I2to(1)(u1)
r

.
The FRFT arises as the special case , =
1

. We can denote the FRFT that


maps x to x with the parameter , by x = 1(x, ,) Chourdakis ([6]) describes
how the FRFT can be used for option pricing. First, the dene the vectors y
and z each of dimension 2 as
y =
_
_
c
It(1)
2
o
r

=1
, 0

=1
_
z =
_
_
c
It(1)
2
o
_

=1
,
_
c
It(+1)
2
o
_

=1
_
.
Next, take the FFT of y and z to obtain the vectors y = 1(y) and z = 1(z),
and take their element by element product, which produces the vector

h of
dimension 2

h = y z = j

2
=1
.
Now take the inverse FFT of

h to produce the vector h = 1
1
_

h
_
of di-
mension 2, and multiply element-by-element the rst elements of h by
_
c
It(1)
2
o
_

=1
. Hence, we can write the fractional FFT in compact form as
x = 1(x, ,)
=
_
c
It(1)
2
o
_

=1
1
1
(1(y) 1(z)) .
Note that, similar to the FFT, the FRFT takes the -vector x and maps it
to the -vector x. The FRFT, however, uses the intermediate 2-vectors
28
y and z, which requires that two FFT be computed in the intermediate steps.
Neverthess, the increase in computational time required by the two intermediate
FFT is usually oset by the increase in accuracy
11.2.1 The FFT and FRFT for the Heston Model
Both the FFT and FRFT require the points r

= c
Ibuj
c
T
(

) n

dened in
Equation (77), where c
T
(c) is the characteristic function )
2
(c; r, ) dened in
Equation (22)
c
T
(c) = oxp(icr)
oxp
_
rict
i0
o
2
_
(i joic d) 2 ln
_
1 qc
Jr
1 q
___
oxp
_
i joic d
o
2
_
1 c
Jr
1 qc
Jr
_

0
_
where r = lno
|
the log spot price,
0
is the initial variance, t = T t, the time
to maturity, and where
d =
_
(joic i)
2
o
2
_
ic c
2
_
q =
i joic d
i joic d
.
If we use the formulation by Albrecher et al. [1], the characteristic function is
c
T
(c) = oxp(icr)
oxp
_
rict
i0
o
2
_
(i joic d) 2 ln
_
1 cc
Jr
1 c
___
oxp
_
i joic d
o
2
_
1 c
Jr
1 cc
Jr
_

0
_
where c = 1,q.
12 Eect of the Heston Parameters
12.1 Heston Terminal Spot Price S
T
If we generate distributions of the stock price at maturity, o
T
, under the Heston
model, we will get a distribution that is more skewed, and that has higher
kurtosis, than under Black-Scholes.
12.1.1 Eect of j on Skewness
If we choose j 0 the distribution of o
T
will be more positively skewed than the
distribution of o
T
generated under the Black-Scholes model, and if we choose
29
j < 0 the distribution will be more negatively skewed. In the following gures
we use the parameter settings in Heston [7] to generate 10,000 stock price paths.
The parameter settings are
0
= 0.01, i = 2, 0 = 0.01, ` = 0, and o = 0.1. We
generate Heston prices under two scenarios: j = 0.,. and j = 0.. The
volatilities used in the Black Scholes model are those matched by Heston [7],
so that when j = 0. we use o
1S
= 0.100400, and when j = 0., we use
o
1S
= 0.00061. In Equation (1) we use Milstein discretization of the Heston
variance process, and Euler discretization for the stock price. Figure 1 clearly
shows that j = 0. produces a distribution of o
T
that is positively skewed.
Figure 1: Distribution of o
T
under Black-Scholes and Heston, positive correlation
0
200
400
600
800
1000
1200
1400
1600
70 80 90 100 110 120 130 140
Black-Scholes
Heston
Figure 2 shows that j = 0. produces a distribution of o
T
that is negatively
skewed.
12.2 Heston Implied Volatility
Another feature of the Heston model is that implied volatilities backed out from
option prices generated by the model will show a smile or skew. The shape of
the skew is driven by the values of the parameters. The correlation parameter
j determines the direction of skew, with j 0 corresponding to a positive skew,
and j < 0 corresponding to a negative skews. This is illustrated by generating
call prices using o = 100, r = 0.0, Tt = 0.2, i = 2, 0 = 0.01, ` = 0,
0
= 0.01.
We use two values for the volatility of variance, o
1
= 0.8 and o
2
= 0.. Figure
3 plots the implied volatility for j = 0.. It clearly shows a negative skew for
the implied volatilities.
30
Figure 2: Distribution of o
T
under Black-Scholes and Heston, negative correlation
0
200
400
600
800
1000
1200
1400
1600
70 80 90 100 110 120 130 140
Black-Scholes
Heston
Figure 3:
0.07
0.08
0.09
0.10
0.11
0.12
0.13
95 97 99 101 103 105 107 109
Sigma = 0.3
Sigma = 0.5
Figure 3. Eect of negative correlation on implied
volatility from Heston call prices
Figure 4 plots the implied volatility for j = 0., and shows a positive skew.
31
0.07
0.08
0.09
0.10
0.11
0.12
0.13
0.14
95 97 99 101 103 105 107 109
Sigma = 0.3
Sigma = 0.5
Figure 4. Eect of positive correlation on implied
volatility from Heston call prices
Finally, Figure 5 plots the implied volatility for j = 0. The implied volatil-
ities are more symmetric.
0.07
0.08
0.08
0.09
0.09
0.10
0.10
0.11
0.11
0.12
0.12
95 97 99 101 103 105 107 109
Sigma = 0.3
Sigma = 0.5
Figure 5. Eect of zero correlation on implied volatility
from Heston call prices
12.3 Heston Call Prices
The results illustrated in Figures 1 and 2 suggest that because of the skew in
o
T
produced by the Heston model relative to Black-Scholes, option prices from
32
the Heston model should dier in a way that is sensible. Call prices in the
Heston model are aected by the correlation parameter, j, and by the volatility
of variance parameter, o.
12.3.1 Eect of Correlation on Skewness
When j 0, the skew in o
T
is positive, so more weight is assigned to the right
tail of the distribution. This implies that deep out-of-the-money calls from
the Heston model should be more expensive than those produced by the Black-
Scholes model. Since less weight is assigned to the left tail, deep in-the-money
calls from the Heston model should be less expensive than those produced by
Black-Scholes. Similarly, when j < 0 the skew in o
T
is negative, so more weight
is assigned to the left tail, and less in the right tail. This implies that deep
in-of-the-money calls from the Heston model should be less expensive than those
produced by the Black-Scholes model, and deep out-of-the-money calls should
be more expensive. Table 1 summarizes these observations.
Table 1. Price Comparisons
j 0 j < 0
OTM Calls Heston BS Heston < BS
ITM Calls Heston < BS Heston BS
Figure 6 reproduces Figure in Heston [7]. It plots the dierence between
call prices from both models (Heston price minus Black-Scholes price), as the
spot price varies from $70 to $140. We use the same parameter settings as
in Section 12.1, and the same "matched" Black-Scholes volatilities. Figure 6
indicates that the summary in Table 1 is correct.
-0.15
-0.10
-0.05
0.00
0.05
0.10
0.15
70 80 90 100 110 120 130 140
Rho = 0.5
Rho = -0.5
Figure 6. Eect of correlation on Heston prices relative
to Black-Scholes
33
The left portion of Figure 6 correspond to low stock prices and out-of-the-
money calls, and the right portion to high stock prices and in-the-money calls.
Clearly, when correlation is positive (solid line), the dierence is positive in the
OTM call region. Heston OTM calls are more expensive than Black-Scholes
OTM calls, due to the thickness in the right tail of the distribution of o
T
generated by the Heston model. When correlation is negative (dotted line),
the dierence is positive in the ITM call region. Heston ITM calls are more
expensive than Black-Scholes ITM calls, due to the thickness in the left tail of
the distribution of o
T
generated by the Heston model. Similar arguments can
be made for negative dierences.
12.3.2 Eect of Volatility of Variance on Kurtosis
The eect of increasing o is to increase kurtosis. This makes sense, since a
high volatility of variance will increase the range of terminal stock price values.
This is illustrated in Figure 7, which compares the dierence between the Heston
and Black-Scholes call prices when j = 0, and when o = 0.2 and o = 0.8. It
indicates that Heston prices are higher than Black-Scholes prices in ITM and
OTM regions, and lower in the at-the-money region. These two observations are
consistent with thicker tails of the distribution of o
T
generated by the Heston
model. Not surprisingly, the dierence is more pronounced when o is higher.
-0.25
-0.20
-0.15
-0.10
-0.05
0.00
0.05
0.10
70 80 90 100 110 120 130 140
Sigma = 0.2
Sigma = 0.3
Figure 7. Eect of volatility of variance on Heston prices
relative to Black-Scholes
13 Simulation in the Heston Model
To obtain the price of a European option using simulation in the Heston model,
we simulate the bivariate process (o
|
,
|
) in Equation (1), generate ' stock
34
price paths from t = 0 to t = T, retain the last stock price o
T
and obtain the
value of the European option, take the average over all stock price paths and
discount back to time zero. Hence, for example, the call price is
C = c
:r
1
'
1

I=1
max (0, o
T,I
1) ,
where o
T,I
is the terminal stock price generated by the ith stock price path,
i = 1, 2, , '. This requires that we have estimates of the parameters

0
, j, i, 0, and o. There are two issues that arise when simulating the bivariate
process (o
|
,
|
). The rst is the slow speed of convergence. The second, more
serious issue, is that since
|
follows a CIR process, many simulation schemes
including the Euler and Milstein schemeswill generate negative values for
|
.
The simplest way to deal with this second issue is to override negative values.
There are at least two ways to do this
1. In the full truncation scheme, a negative value for
|
is overidden with
zero. Hence,
|
is replaced by (
|
)
+
= max (0,
|
) everywhere in the
discretization of
|
.
2. In the reection scheme, a negative value for
|
is overridden with
|
.
Hence,
|
is replaced by [
|
[ everywhere in the discretization.
Another way to deal with negative simulated values of
|
is to devise simula-
tion schemes for
|
that do not produce negative values. Much of the research
on simulating the CIR variance process in the Heston model is devoted to this
approach. Alternatively, the process for ln
|
can be simulated, and then expo-
nentiated. Finally, the stock price o
|
or the log-stock price r
|
= lno
|
can be
simulated.
All of the simulation schemes contain the same basic steps. First, two corre-
lated standard normal random variables 7
s
and 7
u
are generated by generating
two standard normal independent random variables 7
1
and 7
2
, and by dening
7
u
= 7
1
and 7
s
= j7
u

_
1 j
2
7
2
. We then have 1 [7
u
[ = 1 [7
s
[ = 0
and 1 [7
u
7
s
[ = j1
_
7
2
1


_
1 j
2
1 [7
1
7
2
[ = j, as required. We then set
d\
1,|
=
_
dt7
s
and d\
2,|
=
_
dt7
u
, which produces correlated Brownian mo-
tion The basic steps of the simulation schemes are
Step 0. Initialize o
0
to the spot price (or r
0
to the log spot price), and
initialize
0
to the current variance parameter.
Step 1. Generate two dependent normal random variables 7
u
and 7
s
. Set
\
1,|
=
_
dt7
s
and \
2,|
=
_
dt7
u
.
Step 2. Given o
|
(or r
|
) and
|
, rst simulate the updated value
|+1
,
Step 3. Given
|+1
simulate the updated value o
|+1
(or r
|+1
).
The following subsections describe some common discretization schemes for
(o
|
,
|
). We assume that the time grid is discretized as 0 = t
1
< t
2
< <
t
n
= T, where the time increments are equally spaced with width dt.
35
13.1 Euler Scheme
The simplest way to discretize the process in Equation (1) is to use Euler dis-
cretization on the risk-neutral process (using j = r, the risk free rate), as
described in Gatheral [9] and derived for general processes in Glasserman [10].
13.1.1 Process for
|
The SDE for
|
in (1) in integral form is

|+J|
=
|

_
|+J|
|
i(0
u
) dn
_
|+J|
|
o
_

u
d\
u
. (79)
The Euler discretization approximates the rst integral as
_
|+J|
|
i(0
u
) dn - i(0
|
) dt.
The right hand side involves (0
|
) rather than (0
|+J|
) since at time t we
dont know the value of
|+J|
. The second integral is approximated as
_
|+J|
|
o
_

u
d\
2,u
- o
_

|
(\
|+J|
\
|
) = o
_

|
_
dt7
u
where 7
u
is a standard normal random variable. This leaves us with

|+J|
=
|
i(0
|
) dt o
_

|
_
dt7
u
.
13.1.2 Process for o
|
In a similar fashion, the SDE for o
|
in (1) (with j replaced by r) is written in
integral form as
o
|+J|
= o
|
r
_
|+J|
|
o
u
dn
_
|+J|
|
_

u
o
u
d\
u
.
The Euler discretization approximates the rst integral as
_
|+J|
|
o
u
dn - o
|
dt
and the second as
_
|+J|
|
_

u
o
u
d\
1,u
-
_

|+J|
o
|
(\
|+J|
\
|
) (81)
=
_

|+J|
o
|
_
dt7
s
where 7
s
is a standard normal random variable that has correlation j with 7
u
.
Note that we can write
_

|+J|
on the right hand side of (81) because in the
process for o
|
the value
|+J|
is assumed to be known. This leaves us with
o
|+J|
= o
|
ro
|
dt
_

|+J|
o
|
_
dt7
s
.
36
13.1.3 Process for (o
|
,
|
)
Given simulated values for
|
and o
|
we rst obtain
|+J|
under the full trunca-
tion scheme from

|+J|
=
|
i(0
|
) dt o
_
(
|
)
+
_
dt7
u
and we obtain o
|+J|
from
o
|+J|
= o
|
ro
|
dt
_
(
|+J|
)
+
o
|
_
dt7
s
.
To use the reection scheme, replace ()
+
with [[ in both equations.
13.2 Milstein Scheme
This scheme is described in Glasserman [10] and in Kloeden and Platen [13] for
general processes, and in Kahl and Jackel [12] for stochastic volatility models.
13.2.1 Process for
|
The SDE for
|
is
d
|
= i(0
|
) dt o
_

|
d\
|
= a
|
dt /
|
d\
|
where, for notational simplicity, a
|
= a (
|
) and /
|
= / (
|
). In integral form

|+J|
=
|

_
|+J|
|
a
s
d:
_
|+J|
|
/
s
d\
s
. (82)
Apply Itos Lemma to the coecients a
s
and /
s
. These will follow the process
da
s
=
_
a
s
a
0
s

1
2
/
s
a
00
s
_
d: (/
s
a
0
s
) d\
s
d/
s
=
_
a
s
/
0
s

1
2
/
2
s
/
00
u
_
dn (/
u
/
0
u
) d\
u
.
In integral form (with t < : < t dt)
a
s
= a
|

_
s
|
_
a
u
a
0
u

1
2
/
u
a
00
u
_
dn
_
s
|
/
u
a
0
u
d\
u
/
s
= /
|

_
s
|
_
a
u
/
0
u

1
2
/
2
u
/
00
u
_
dn
_
s
|
/
u
/
0
u
d\
u
Substitute for a
s
and /
s
into Equation (82)

|+J|
=
|

_
|+J|
|
_
a
|

_
s
|
_
a
u
a
0
u

1
2
/
u
a
00
u
_
dn
_
s
|
/
u
a
0
u
d\
u
_
d:

_
|+J|
|
_
/
|

_
s
|
_
a
u
/
0
u

1
2
/
2
u
/
00
u
_
dn
_
s
|
/
u
/
0
u
d\
u
_
d\
s
.
37
The terms higher than order one are d:dn = O
_
(dt)
2
_
and d:d\
u
= O
_
(dt)
3/2
_
and are ignored. The terms involving d\
u
d\
s
are retained since d\
u
d\
s
=
O(dt) is of order one. This leaves us with

|+J|
=
|
a
|
_
|+J|
|
d: /
|
_
|+J|
|
d\
s

_
|+J|
|
_
s
|
/
u
/
0
u
d\
u
d\
s
. (83)
Apply Euler discretization to the last term in (83)
_
|+J|
|
_
s
|
/
u
/
0
u
d\
u
d\
s
- /
|
/
0
|
_
|+J|
|
_
s
|
d\
u
d\
s
= /
|
/
0
|
_
|+J|
|
[\
s
\
|
[ d\
s
= /
|
/
0
|
_
_
|+J|
|
\
s
d\
s
\
|
\
|+J|
\
2
|
_
Now dene d1
|
= \
|
d\
|
. Using Itos Lemma, it is easy to show
2
that 1
|
has
solution 1
|
=
1
2
\
2
|

1
2
t so that
_
|+J|
|
\
s
d\
s
= 1
|+J|
1
|
=
1
2
\
2
|+J|

1
2
\
2
|

1
2
dt.
Substitute back to obtain
_
|+J|
|
_
s
|
/
u
/
0
u
d\
u
d\
s
-
1
2
/
|
/
0
|
_
(\
|+J|
\
|
)
2
dt
_
= .
1
2
/
|
/
0
|
_
^\
2
|
dt

.
where ^\
|
= \
|+J|
\
|
. Hence from (83) the general form of Milstein
discretization is

|+J|
=
|
a
|
dt /
|
^\
|

1
2
/
|
/
0
|
_
^\
2
|
dt
_
. (84)
To obtain the Milstein discretization of the Heston model, substitute for a
|
=
i(0
|
) dt and /
|
= o
_

|
and use the fact that ^\
|
is equal in distribution
to
_
dt7
u
, where 7
u
is standard normal. This produces

|+J|
=
|
i(0
|
) dt o
_

|
_
dt7
u

1
4
o
2
dt
_
7
2
u
1
_
(85)
which can be written

|+J|
=
_
_

|

1
2
o
_
dt7
u
_
2
i(0
|
) dt
1
4
o
2
dt.
2
Indeed,
@Y
@t
=
1
2
;
@Y
@W
= W, and
@
2
Y
@W
2
= 1, so that dYt =

1
2
+ 0 +
1
2
1 1

dt +
(Wt 1) dWt = WtdWt.
38
This last equation is also Equation (2.18) of Gatheral [9]. Milstein discretization
of the variance process produces far fewer negative values for the variance than
Euler discretization. Nevertheless, the full truncation scheme or the reection
scheme must be applied to (85) as well.
13.2.2 Process for lno
|
Gatheral [9] advocates the discretization of the log-stock process. By Itos
Lemma lno
|
follows the process
d lno
|
=
_
r
1
2

|
_
dt
_

|
d\
1,|
. (86)
He explains that the discretization of lno
|
rather than o
|
means that there are
no higher corrections to be brought to the Euler discretization. Hence lno
|
can
be discretized as
lno
|+J|
= lno
|

_
r
1
2

|
_
dt
_

|
_
dtd7
s
.
In later sections we show a renement to this scheme.
13.3 Implicit Milstein Scheme
In Equation (84), the drift coecient a
|
and the volatility coecient /
|
are both
functions of
|
. In the Milstein drift-implicit scheme, or simply implicit scheme,
the drift coecient is a function of
|+J|
. Hence under this scheme the drift
coecient is known only implicitly, and not explicitly, as is the case when it
depends on
|
. Under the Ito version of this scheme Equation (84) becomes

|+J|
=
|
a
|+J|
dt /
|
^\
|

1
2
/
|
/
0
|
_
^\
2
|
dt
_
where a
|+J|
= a (
|+J|
). See Kloeden and Platen [13]. It is also possible to
interpolate between explicit and implicit Milstein schemes as follows

|+J|
=
|
[ca
|+J|
(1 c) a
|
[ dt /
|
^\
|

1
2
/
|
/
0
|
_
^\
2
|
dt
_
where c [0, 1[. The explicit Mistein scheme corresponds to c = 0, and
the implicit Milstein scheme to c = 1. Under the Heston model, the implicit
scheme involves replacing i(0
|
) dt in Equation (85) with i(0
|+J|
) dt.
Bringing the term /
|+J|
dt over to the left-hand side of the resulting equation
and dividing by 1 idt produces

|+J|
=

|
i0dt o
_

|
_
dt7
u

1
4
o
2
dt
_
7
2
u
1
_
1 idt
. (87)
39
13.4 Balanced Implicit Milstein Scheme
This is presented by Platen and Heath [15] as

|+J|
=
|
a
|
dt /
|
^\
|
(
|

|+J|
) C (
|
)
where
C (
|
) = c
0
(
|
) dt c
1
(
|
) [^\
|
[
with c
0
and c
1
suitably chosen positive real valued and bounded functions. Kahl
and Jackel [12] suggest c
0
(
|
) = i and c
1
(
|
) = o
_

|
. Their balanced implied
Milstein scheme for the Heston model is therefore

|+J|
=
|
i(0
|
) dt o
_

|
_
dt7
u
(
|

|+J|
) C (
|
)
=

|
(1 C (
|
)) i(0
|
) dt o
_

|
_
dt7
u
C (
|
)
where ^\
|
is approximated as
_
dt7
u
so that C (
|
) =
_
idt o
_

|
_
dt [7
u
[
_
.
Under this scheme, simulated values of
|
are guaranteed to be positive. Un-
fortunately, as shown by Kahl and Jackel [12], the convergence of this scheme
can be very poor. For details, see [11], Equations (6.25) through (6.28)
13.5 Pathwise Approximation
One method for discretization of the variance is the pathwise approximation
illustrated in Kahl and Jackel [12]. Its convergence is fast, especially for small
values of o. The discretization scheme is given by

|+J|
=
|

_
i
_

0
|
_
o,
n
_

|
_
_
1
o,
n
2i
_

|
4
_

|
dt
_
dt
where

0 = 0
c
2
4r
and where ,
n
= 7
u
,
_
dt.
13.6 Kahl-Jackel Scheme
This was suggested by Kahl and Jackel [12]. It involves simulating
|
with
an implicit Milstein scheme from (87), and simulating lno
|
with their IJK dis-
cretization

|+J|
=

|
i0dt o
_

|
_
dt7
u

1
4
o
2
dt
_
7
2
u
1
_
1 idt
(88)
lno
|+J|
= lno
|

_
r

|

|+J|
4
_
dt j
_

|
7
u
_
dt

1
2
_
_

|

_

|+1
_
(7
s
j7
u
)
_
dt
jodt
2
_
7
2
u
1
_
.
Since this can also produce negative variances, in Equation (88) the full trunca-
tion scheme or the reection scheme should be used. See their paper for details
of the derivation.
40
13.7 QE Scheme
Recall from Section 2 that the value of
|+J|
conditional on a realized value

|
follows a non-central chi-square distribution. Andersen (reference) suggests
sampling from an approximation to the distribution, depending on whether the
non-centrality parameter, 2c
|+J|

|+J|
c
rJ|
, is large or small. Since the non-
centrality parameter is proporational to
|
, large or small values of the parameter
correspond to large or small values of
|
. The algorithm switches back and forth
between two dierent approximations to the non-central chi-square distribution,
depending on the magnitude of
|
.
1. For moderate or high values of
|
, a non-central chi-square random variable
can be approximated by a power function applied to a standard normal
variable 7
u

|+J|
= a (/ 7
u
)
2
(89)
where a and / are determined by moment-matching using the mean and
variance of the CIR process described in Section 2.
2. For low values of
|
, the non-central chi-square density can be approxi-
mated by a weighted average of a term involving Diracs delta function c
and a term involving c
or
Ii (
|+J|
[r, r dr[) =
_
jc (0) , (1 j) c
or
_
. (90)
where j and , are also determined by moment-matching. Note that
0 _ j _ 1. Integrating Equation (90) and inverting produces the inverse
distribution function
w
1
(n) =
_
0 for 0 _ n _ j
,
1
ln
1
1u
for j < n _ 1
. (91)
The sampling scheme for low values of
s
is therefore

|
= w
1
(l
u
) (92)
where l
u
is a uniform random number. The QE sampling schemes are
dened by Equations (89) and (92).
13.7.1 Moment-Matching
Recall that the mean and variance of the CIR process are
: = 0 (
|+J|
0) c
rJ|
, (93)
:
2
=

|+J|
o
2
c
rJ|
i
_
1 c
rJ|
_

0o
2
2i
_
1 c
rJ|
_
2
.
41
1. For moderate or high values of
s
, since
|+J|
= a (/ 7
u
)
2
from (89), we
have that 1 [
|+J|
[ = a
_
1 /
2
_
and Var[
|+J|
[ = 2a
2
_
1 2/
2
_
. Equating
these to : and :
2
respectively and solving for a and / produces
/ =
_
2
c
1
_
2
c
_
2
c
1
_
_
1
2
(94)
a =
:
1 /
2
,
where c = :
2
,:
2
. Note that / is only dened when c _ 2.
2. For low values of
s
, the mean and variance of
|
are found by inte-
grating Equation (90).directly, which produces 1 [
|+J|
[ = (1 j) ,, and
Var[
|+J|
[ =
_
1 j
2
_
,,
2
. Again, equating these to : and :
2
and solving
for j and , produces
j =
c 1
c 1
and , =
1 j
:
. (95)
Note that the condition that 0 _ j _ 1 in Equation (90) requires that
c _ 1.
The value of c stipulates which approximation to use. Indeed, for c _ 2
we can use the rst approximation, and for c _ 1 we can use the second
approximation. This implies that a critical level c
c
[1, 2[ ought to be dened
as a threshold. Andersen uses c
c
= 1.
The scheme can be summarized as follows, using a cuto value of 1 _ c
c
_ 2.
1. Given
|
, obtain : and :
2
from Equation (93) using estimates of 0 and i,
and obtain c =
s
2
n
2
.
2. Draw a uniform random number l
u
.
if c < c
c
compute a and / from Equation (94), and 7
u
= 1
1
(l
u
).
Dene
|+J|
= a (/ 7
u
)
2
if c c
c
compute , and j from Equation (95). Dene
|+J|
= w
1
(l
u
)
from Equation (91).
In the same paper, Andersen describes the Truncated Gaussian (TG) scheme,
which uses the approximation
|+J|
= (j o7
u
)
+
for j and o constants. The
performance of TG scheme is inferior that to the QE scheme, however, and
Andersen recommends that the QE scheme be the default choice.
13.7.2 Process for lno
|
Andersen proposes a discretization scheme for r
|
that overcomes the problem
of "leaky" correlation brought on by a Euler discretization of r
|
. The integral
42
form of the process for
|
is

|+J|
=
|
i0dt
_
|+J|
|

u
dn o
_
|+J|
|
_

u
d\
2,u
.
Rearranging terms produces
_
|+J|
|
_

u
d\
2,u
=
1
o
_

|+J|

|
i0dt i
_
|+J|
|
_

u
dn
_
. (96)
Now applying a Cholesky decomposition to the process for lno
|
means that it
can be written in the integral form
lno
|+J|
= lno
|
rdt
1
2
_
|+J|
|

u
dn
_
|+J|
|
_

u
_
jd\
2,u

_
1 j
2
d\
1,u
_
.
Now substitute Equation (96) to obtain
lno
|+J|
= lno
|
rdt
j
o
(
|+J|

|
i0dt)

_
ij
o

1
2
__
|+J|
|

u
dn
_
1 j
2
_
|+J|
|
_

u
d\
1,u
.
Andersen uses the approximations
_
|+J|
|

u
dn - dt (
1

|

2

|+J|
)
_
|+J|
|
_

u
d\
u
- 7
u
_
dt
_

|

2

|+J|
to arrive at
lno
|+J|
= lno
|
rdt 1
0
1
1

|
1
2

|+J|

_
1
3

|
1
4

|+J|
7
u
(97)
where
1
0
=
ij0
o
dt
1
1
=
_
ij
o

1
2
_

1
dt
j
o
1
2
=
_
ij
o

1
2
_

1
dt
j
o
1
3
=
_
1 j
2
_

1
dt
1
4
=
_
1 j
2
_

2
dt.
The constants
1
and
2
are arbitrary. Setting
1
= 1 and
2
= 0 produces an
Euler-type scheme, while
1
=
2
=
1
2
produces a central discretization. With
these values, the algorithm to generate a value of o
|+J|
, given o
|
,
|
, and
|+J|
is evident.
43
13.7.3 Martingale Correlation
Under the risk neutral measure Q, the discounted asset price will be a martingale
in continuous time. On the other hand, the discretizated stock price
o
|+J|
= o
|
oxp
_
rdt 1
0
1
1

|
1
2

|+J|

_
1
3

|
1
4

|+J|
7
u
_
(98)
will not be a martingale. The resulting bias is minor, since the drift away from
the martingale can be controlled by reducing the size of the time increment,
dt. Nonetheless, Andersen shows that the martingale property can be satised
simply by replacing 1
0
with 1

0
. Incorporating the martingale correction into
the QE algorithm is straightforward. Andersen shows that
1

0
=
_

_
.b
2
o
12.o

1
2
ln(1 2a)
_
1
1

1
2
1
3
_

|
when c _ c
c
ln
_
j
o(1)
o.
_

_
1
1

1
2
1
3
_

|
when c c
c
where = 1
2

1
2
1
4
, and where a and / are dened in Equation (94), and j
and , are from Equation (95). The martingale correction holds provided that
<
1
2o
when c _ c
c
, and provided that < , in the case c c
c
.
13.8 Exact Simulation Broadie and Kaya
To come.
13.9 Moment Matching Scheme
Andersen and Brotherton-Ratclie [3] propose a moment-matched discretiza-
tion scheme that preserves positivity of the variance. The scheme produces a
variance that is distributed as lognormal, so a natural choice of parameteriza-
tion is one that matches the rst two moments of the discretized process to the
lognormal moments. This produces a discretization of the form

|+J|
=
_
c
rJ|

|

_
1 c
rJ|
_
0
_
oxp
_

1
2
I
2
|
dt I
|
_
dt7
u
_
where
I
|
=
1
dt
ln
_
1
1
2r
o
2

|
_
1 c
2rJ|
_
(c
rJ|

|
(1 c
rJ|
) 0)
2
_
.
14 Variance Swap in the Heston Model
Recall from Equation (1) that the volatility of the Heston model is driven by
the CIR process
d
|
= i(0
|
)dt o
_

|
d7
|
44
where 7
|
= 7
(2)
|
. It is straightforward to show that the expected value of
|
,
given
s
(: < t) is
1 [
|
[
s
[ =
s
c
r(|s)
0
_
1 c
r(|s)
_
= 0 (
s
0) c
r(|s)
.
See, for example, Brigo and Mercurio [4]. As explained by Gatheral [9], a
variance swap requires an estimate of the future variance over the (0, T) time
period, namely of the total variance n
T
=
_
T
0

|
dt. A fair estimate of n
T
is its
conditional expected value 1 [ n
T
[
0
[. This is given by
1 [ n
T
[
0
[ = 1
_
_
T
0

|
dt

0
_
=
_
T
0
1 [
|
[
0
[ dt
=
_
T
0
_
0 (
0
0) c
r|

dt
= 0T
1 c
rT
i
(
0
0) .
Since
T
represents the total variance over (0, T), it must be scaled by T in order
to represent a fair estimate of annual variance (assuming that T is expressed in
years.) Hence the strike variance for a variance swap is given by
1
T
1 [ n
T
[
0
[ = 0
1 c
rT
iT
(
0
0) .
This is the expression on page 138 of Gatheral [9].
15 Parameter Estimation
To come.
References
[1] Albrecher, H., Mayer, P, Schoutens, W, and J. Tistaert (2006). "The
Little Heston Trap." Working Paper, Radon Institute, Austrian Academy
of Sciences.
[2]
[3]
[4] Brigo, D., and F. Mercurio (2006). Interest Rate Models - Theory and
Practice: With Smile, Ination, and Credit. Second Edition. New York,
NY: Springer.
45
[5] Carr, P., and D. Madan (1999). "Option Valuation Using the Fast Fourier
Transform." Journal of Computational Finance, Vol. 2, No. 4, pp. 61-73.
[6] Chourdakis, K. (2005). "Option Pricing Using Fractional FFT." Journal
of Computational Finance, Vol. 8, No 2., pp. 1-18.
[7] Heston, S.L. (1993). "A Closed-Form Solution for Options with Stochastic
Volatility with Applications to Bond and Currency Options." Review of
Financial Studies, Vol. 6, pp 327-343.
[8] Bakshi, G., and D. Madan (2000). "Spanning and Derivative-Security Val-
uation." Journal of Financial Economics, Vol. 55, pp 205-238.
[9] Gatheral, J. (2006) The Volatility Surface: A Practitioners Guide. New
York, NY: John Wiley & Sons.
[10] Glasserman, P. (2003). Monte Carlo Methods in Financial Engineering.
New York, NY: Springer.
[11] Kahl, C. (2008). Modeling and Simulation of Stochastic Volatility in Fi-
nance. Published by Dissertation.com.
[12] Kahl, C., and P. Jackel (2006). Fast Strong Approximation Monte-Carlo
Schemes for Stochastic Volatility Models. Quantitative Finance, Vol. 6,
No. 6.
[13] Kloeden, P.E., and E. Platen (1992). Numerical Solution of Stochastic
Dierential Equations. New York, NY: Springer.
[14] Lewis, A.L.(2000). Option Valuation Under Stochastic Volatility: With
Mathematica Code. Finance Press.
[15] Platen, E., and D. Heath (2009). A Benchmark Approach to Quantitative
Finance, Volume 13. New York, NY: Springer.
46

You might also like