Vous êtes sur la page 1sur 10

METHODES

NUMERIQUES
POUR LE PRICING DOPTIONS
DIDIER AUROUX
POLYTECHNICE-SOPHIA
MAM5 - OPTION IMAFA
2010-2011

`res
Table des matie
1. Notations et equation de Black-Scholes
1.1. Notations

1.2. Equation
de Black-Scholes
1.3. Conditions aux limites pour un call
1.4. Conditions aux limites pour un put
1.5. Lien entre lequation de Black-Scholes et lequation de la chaleur
1.6. Solution analytique
2. Schemas numeriques pour la resolution de lequation de la chaleur
2.1. Discretisation et differences finies
2.2. Schema dEuler explicite
2.3. Schema dEuler implicite
2.4. Schema de Crank-Nicholson
3. Resolution numerique de lequation de Black-Scholes

2
2
2
2
3
3
4
4
5
6
7
9
10

DIDIER AUROUX

quation de Black-Scholes
1. Notations et e
1.1. Notations. One note V la valeur dune option (on se limitera aux options
europeennes dans ce cours). On pourra faire la distinction entre un call C et un
put P si besoin. Ce sont des fonctions du temps t, et de la valeur actuelle de
laction sous-jacente S. On note donc V = V (S, t).
On notera egalement :
la volatilite du prix de laction ;
E le prix dexercice fixe par loption ;
T le temps qui reste `
a loption avant son echeance ;
r le taux dinteret.

1.2. Equation
de Black-Scholes. Cest une equation aux derivees partielles qui
permet de calculer la valeur dune option europeenne en fonction du temps et de la
valeur de laction sous-jacente. Le mod`ele est le suivant :
(1)

2V
1
V
V
+ 2 S 2 2 + rS
rV = 0.
t
2
S
S

Cest une equation aux derivees partielles (EDP) dordre 2, du type parabolique, et il est necessaire de preciser une condition initiale (ou finale) en temps, et
des conditions aux limites en espace.

1.3. Conditions aux limites pour un call. Dans le cas dun call (option
dachat) pour une option europeenne, on a une condition finale, `a linstant t = T
correspondant `
a lecheance de loption : `a t = T , la valeur du call est donnee par la
formule
(2)

C(S, T ) = max(S E, 0),

S.

En effet, si S est inferieur au prix dexercice au terme de loption, il est ininteressant


dexercer loption (sous peine de perdre E S). Dans le cas contraire, le benefice
du call est S E.
Le domaine detude en espace (variable S) est theoriquement [0, +[, et il faut
donc fixer les conditions aux limites sur la fonction C. Si S = 0, alors le benefice
a terme est forcement nul. Il ny a donc aucun interet `a exercer loption dachat
`
dans ce cas, meme sil reste du temps avant son expiration. On a donc la condition
suivante :
(3)

C(0, t) = 0,

t.

Si au contraire le prix de laction augmente considerablement (S +), il est


clair que loption sera exercee et que le prix dexercice de loption sera negligeable.
On a donc la condition suivante :
(4)

C(S, t) S,

S +.

Lensemble des equations (1)-(4) peut etre resolu afin de determiner la valeur
dun option dachat (call).

METHODES
NUMERIQUES
POUR LE PRICING DOPTIONS

1.4. Conditions aux limites pour un put. Dans le cas dune option du type
put (option de vente), la condition finale est le benefice :
P (S, T ) = max(E S, 0),

(5)

S.

En effet, si S est superieur au prix dexercice au terme de loption, il est ininteressant


dexercer loption (sous peine de perdre S E). Dans le cas contraire, le benefice
du put est E S.
Le domaine detude en espace (variable S) est toujours [0, +[, et il faut donc
fixer les conditions aux limites sur la fonction P . Si le prix de laction augmente
considerablement (S +), il est clair que loption de vente ne sera pas exercee,
et donc on a la condition suivante :
P (S, t) 0,

(6)

S +.

Si au contraire, on consid`ere le cas dune action dont le prix est nul (S = 0),
alors le benefice `
a terme est forcement E. Il faut tenir compte du taux dinteret r
pour en deduire la valeur de P (0, t) sachant qu`a linstant T , P (0, T ) = E. Dans le
cas dun taux dinteret constant, on trouve assez facilement la condition suivante
en resolvant lequation (1) dans le cas S = 0 :
P (0, t) = E er(T t) ,

(7)

t.

On peut generaliser cette formule dans le cas de taux non constants :


P (0, t) = E e

RT
t

r( ) d

t.

Lensemble des equations (1) et (5-(7) peut etre resolu afin de determiner la
valeur dune option de vente (put).
1.5. Lien entre l
equation de Black-Scholes et l
equation de la chaleur.
Prenons le cas dune option dachat (call), nous allons nous ramener de lequation
de Black-Scholes `
a lequation de la chaleur. On consid`ere donc lequation
C
1
2C
C
+ 2 S 2 2 + rS
rC = 0,
t
2
S
S
avec les conditions aux limites
(8)

C(0, t) = 0 ;

C(S, t) S, S +

et la condition finale
C(S, T ) = max(S E, 0).
Dans un premier temps, on effectue un changement de variable pour supprimer
les termes en S et S 2 devant les operateurs differentiels, revenir en temps croissant

(avec une condition initiale) : S = Eex , t = T 1 2 et C = Ev(x, ).


2
On obtient alors lequation suivante :
v
2v
v
=
+ (k 1)
kv,

x2
x

(9)
avec k =
(10)

1 2.
2

La condition initiale devient


v(x, 0) = max(ex 1, 0),

DIDIER AUROUX

et lintervalle de temps considere est maintenant [0, 12 2 T ].


En se basant sur lequation caracteristique 2 + (k 1) k correspondant
a lequation (9), on fait un changement de variable pour supprimer les operateurs
`
differentiels dordre 1 et 0. On pose tel que 0 = 2+(k1) et = 2 +(k1)k,
et v(x, ) = ex+ u(x, ), ce qui donne u solution de lequation de la chaleur
suivante :
u
2u
=
,

x2

(11)

pour > 0 (et en fait 12 2 T , delai dexpiration de loption), et x R. Enfin, la


condition initiale est
 1

1
u(x, 0) = u0 (x) = max e 2 (k+1)x e 2 (k1)x , 0 .
On voit donc que lequation de Black-Scholes se ram`ene `a lequation de la chaleur,
` partir de la
qui est plus facile `
a resoudre (numeriquement ou analytiquement). A
solution de lequation de la chaleur, on remonte `a lequation de Black-Scholes en
faisant les changements de variable `a lenvers.
1.6. Solution analytique. La solution de lequation (11) est donnee par
Z +
(xs)2
1
u0 (s)e 4 ds.
(12)
u(x, ) =
2
Apr`es remplacement de u0 par son expression, calcul, et changements de variables
inverses, on obtient :
(13)

C(S, t) = S N (d1 ) E er(T t) N (d2 ),

avec
(14)

d1

(15)

d2

(16)

N (d)


S
log( E
) + r + 12 2 (T t)

,
T t

S
) + r 12 2 (T t)
log( E

,
T t
Z d
1 2
1

e 2 s ds.
2

De meme, la valeur dune option de vente (put) est


(17)

P (S, t) = E er(T t) N (d2 ) S N (d1 )


mas nume
riques pour la re
solution de le
quation de la
2. Sche
chaleur

Nous nous interessons maintenant `a la resolution numerique de lequation de la


chaleur. Cette equation est en effet plus simple que lequation de Black-Scholes, et
nous avons vu quil etait possible de se ramener de lune `a lautre par des changements de variable. On rappelle lequation de la chaleur consideree ici :
(18)

u
2u
=
.

x2

METHODES
NUMERIQUES
POUR LE PRICING DOPTIONS

2.1. Discr
etisation et diff
erences finies. La resolution numerique dune EDP
necessite la discretisation du domaine detude considere, en temps comme en espace. On suppose que lintervalle de temps est decoupe suivant une grille avec un
nombre fini de points et dintervalles. On va calculer (et considerer) la solution
uniquement en ces instants-l`
a. La difficulte consiste alors `a calculer les derivees
(ici, en temps) `
a partir de ces valeurs discr`etes. Si on note lintervalle de temps
(suppose constant) de la grille de discretisation temporelle, et x le pas despace
(suppose aussi constant) de la grille de discretisation spatiale, on ne calculera la
solution quaux points x = n x et = m .

Comme vu precdemment,
lintervalle de temps considere est [0; 12 2 T ] (date
dexpiration de loption). On decoupe generalement cet intervalle en M intervalles
2
constants, et donc = 21 MT .
De meme, le domaine despace que lon consid`ere est R. Il est evident quon
ne peut pas discretiser toute la droite reelle, et on se limite donc `a un intervalle
despace borne [N x; N + x], o`
u N < 0 et N + > 0 sont deux entiers.
Dans la suite, on notera
(19)

um
n = u(n x, m )

la valeur de la solution u au point de grille (n x, m ). Lindice temporel est en


haut, et lindice spatial en bas.
Si on se place `
a un instant donne, et si on suppose quon connat la solution
u
u(x, ), on souhaite calculer la derivee temporelle
(x, ). Supposons que la solu
tion soit connue aux instants et + . Il existe alors plusieurs schemas aux
differences finies pour approcher la valeur de la derivee temporelle. On remarquera
que les memes schemas peuvent etre utilises pour les derivees spatiales.
2.1.1. Differences finies decentrees `
a droite. Une premi`ere approximation de la
derivee partielle de u est donnee par la formule des differences finies decentrees
a droite :
`
u
u(x, + ) u(x, )
(20)
(x, ) '
.

Lerreur dapproximation est dordre 1, en O( ). La justification de cette approximation est immediate en utilisant une formule de Taylor.
2.1.2. Differences finies decentrees `
a gauche. Une deuxi`eme approximation de la
derivee partielle de u est donnee par la formule des differences finies decentrees `a
gauche :
u
u(x, ) u(x, )
(x, ) '
.

Lerreur dapproximation est egalement dordre 1, en O( ).


Dans les deux cas, on utilise la valeur au point courant ( ), et la valeur en un
point voisin (`
a droite ou `
a gauche).
(21)

2.1.3. Differences finies centrees. Une bien meilleure approximation de la derivee


partielle de u est donnee par la formule des differences finies centrees, en utilisant
a la fois le point voisin `
`
a gauche et le point voisin `a droite :
(22)

u
u(x, + ) u(x, )
(x, ) '
.

DIDIER AUROUX

Lerreur dapproximation est desormais dordre 2, en O( 2 ) (cf formule de Taylor).


Cette formule est beaucoup plus precise, puisque lerreur est en 2 au lieu detre en
. Il nest donc pas necessaire de raffiner enormement la grille de discretisation en
temps (et diminuer ) pour obtenir des resultats tr`es precis. Par contre, cela complique leg`erement la mise en uvre informatique, puisque cest un sch`ema `a trois
points ( , et + ) et non deux (comme les schemas decentres precedents).
2.1.4. Differences finies centrees pour la derivee seconde. En utilisant les memes
formules, on peut approcher la derivee seconde en espace dans lequation (18) avec
la formule suivante :
2u
u(x x, ) 2 u(x, ) + u(x + x, )
(23)
(x, ) '
.
x2
x2
Lerreur dapproximation de cette formule est dordre 2 (en espace), en O(x2 ).
2.2. Sch
ema dEuler explicite. Le schema dEuler explicite consiste `a utiliser
un schema aux differences finies, decentre `a droite, pour le calcul de la derivee
temporelle :
m
um 2 um
um+1
um
n + un+1
n
n
.
' n1

x2
Ainsi, si la solution est connue `a linstant m en tous les points despace (et
plus particuli`erement en (n 1) x, n x et (n + 1) x), alors on peut calculer
explicitement la solution `
a linstant suivant (m + 1) , au point n x. On peut
donc calculer la solution `
a linstant + explicitement en fonction de la solution
a linstant .
`

(24)

2.2.1. Initialisation et conditions aux limites. Linitialisation du schema se fait `a


linstant initial :
u0n = u0 (n x), N n N + .
En ce qui concerne les conditions aux limites, en chaque pas de temps, on utilisera
les conditions aux limites en + et :

um
N = u (N x, m ),

+
um
N + = u+ (N x, m ),

0 < m M.

2.2.2. Stabilite. En notant

,
x2
on peut reecrire lequation (24) sous la forme
(25)

(26)

m
m
um+1
= um
n
n1 + (1 2) un + un+1 .

Pour des raisons de stabilite, il est imperatif que


1
(27)
.
2
En effet, si cest le cas, alors tous les poids dans lequation (26) sont positifs, et si
on note U m le maximum de tous les um
n pour tous les n, et on voit facilement que
um+1
( + (1 2) + ) U m = U m
n
et donc la solution `
a linstant + nest pas plus grande que celle `a linstant ,
ce qui empeche toute divergence ou explosion numerique de la solution.

METHODES
NUMERIQUES
POUR LE PRICING DOPTIONS

Si la condition de stabilite nest pas verifiee, alors on peut faire le meme calcul
mais en prenant la valeur absolue des poids :
um+1
( + |1 2| + ) U m = ( + (2 1) + )U m U m
n
si et seulement si 4 1 1, ce qui est equivalent `a 21 . La condition (27) est
donc une condition necessaire et suffisante de stabilite du schema numerique.
Lerreur dapproximation du schema numerique est en O( + x2 ), comme vu
precedemment. Le schema etant stable du moment que 21 x2 , il est inutile
de raffiner excessivement, et on prendra du meme ordre que x2 (par exemple
0, 4 x2 ). Lerreur est donc en O(x2 ). On choisit donc x en fonction de la precision
souhaitee, et du temps de calcul dont on dispose, puis on fixe de lordre de x2 .
2.3. Sch
ema dEuler implicite. Le schema dEuler implicite consiste `a utiliser
un schema aux differences finies, decentre `a gauche, pour le calcul de la derivee
temporelle :
m
m1
um 2 um
um
n + un+1
n un
' n1
.

x2
De facon equivalente, en augmentant m de 1, on obtient

(28)

(29)

um+1 2 um+1
+ um+1
um+1
um
n
n+1
n
n
.
' n1

x2

` la difference du schema dEuler explicite, le calcul de la solution `a linstant


A
(m + 1) est implicite en la solution `a linstant m , puisque la partie droite de
lequation est egalement inconnue. On ne peut donc pas calculer explicitement et
m+1
m
separement um+1
, um+1
esoudre cette
n
n1 ou un+1 en fonction de un . On doit donc r
equation dune mani`ere globale, afin de calculer en meme temps tous les um+1
, pour
n
tout n.
Comme dans le cas precedent, lerreur dapproximation du schema est en O( +
x2 ).
Lutilisation des conditions aux limites et linitialisation du schema se font de la
meme facon que pour le schema dEuler explicite.
2.3.1. Reecriture matricielle. Comme precedemment, on note =
donc reecrire (29) sous la forme

x2 .

On peut

m+1
m
um+1
um+1
n1 + (1 + 2)un
n+1 = un .

On se fixe un m, on suppose que tous les um


n sont connus, et on souhaite calculer
m+1
tous les um+1
. On rappelle que um+1
et
u
sont connus grace aux conditions aux

+
n
N
N
limites. On peut alors reecrire (29) de la mani`ere suivante :
(30)

m+1 m

um+1
uN +1
uN +1
1 + 2

0
...
0
N



..
..
1
+
2


0
.
.

m+1

..
..
m
..

.
.
0

+
u0
= u0

.
..
.
..
..
..
..


0
.
.
.

um
0
0
1 + 2
um+1
um+1
N + 1
N + 1
N+
On voit apparatre la matrice tridiagonale, avec des 1 + 2 sur la diagonale, et
des sur et sous la diagonale, puis le vecteur dinconnues constitue des um+1
,
n

DIDIER AUROUX

et dans le second membre, la partie connue : les um


n , ainsi que les conditions aux
m+1
limites um+1
et
u
.

+
N
N
La resolution du schema `
a chaque pas de temps revient donc `a calculer la solution
dun syst`eme lineaire de la forme
AU m+1 = bm ,

(31)

o`
u A est la matrice tridiagonale, U m+1 contient les inconnues um+1
, et bm est le
n
second membre, connu. On obtient alors la solution `a linstant + (les um+1
)
n
en fonction de la solution `
a linstant (les um
).
n
Linconvenient de la methode dEuler implicite par rapport `a la methode explicite
est lapparente difficulte supplementaire pour la resolution de ces syst`emes lineaires
afin de calculer la solution. Toutefois, un avantage certain de la methode est quelle
est intrins`equement stable. En effet, quelle que soit la valeur du param`etre > 0,
la norme de la matrice A1 est inferieure `a 1, assurant la stabilite du schema.
Une mani`ere a priori simple de resoudre les syst`emes lineaires (31) consiste `a
inverser la matrice A, en remarquant quelle est constante au fil des pas de temps.
Mais linverse dune matrice tridiagonale est pleine, ce qui represente un co
ut de
stockage important, au del`
a du co
ut de calcul de la matrice inverse. En temps
normal, linverse dune matrice de taille N necessite O(N 4 ) operations. Le stockage
de linverse de la matrice represente N 2 elements, `a comparer avec seulement 3N
elements dans la matrice A.
La resolution dun syst`eme lineaire peut se faire avec la traditionnelle methode
du pivot de Gauss, qui consiste `a iterer les operations sur les lignes ou colonnes de
la matrice pour rendre le syst`eme triangulaire. La resolution dun syst`eme lineaire
triangulaire est alors tr`es rapide.
La matrice etant ici tridiagonale, il est plus interessant dutiliser une decomposition
LU.
2.3.2. Methode LU pour la resolution du syst`eme lineaire. Lidee de la methode LU
consiste `
a decomposer la matrice A sous la forme dun produit A = LU , o`
u L est
une matrice triangulaire inferieure (Lower), et U une matrice triangulaire superieure
(Upper). Cette decomposition nexiste que sous conditions de rang et de non nullite
des mineurs principaux de la matrice. Dans le cas de la matrice A presente, cette
decomposition existe, et les matrices L et U nont que deux diagonales non nulles :

u1 0 . . .
0
1
0
0
...
0

..
..
l1 1 . . .
0 u2
.
.

..
..
..
..
,
U
=
,
L = 0 l2

.
.
0
u3
0
1
.
.

.
..
..
..
..
..
..
.
.
.
.
0
0 . . . 0 lN 1 1
0 ...
0
0 uN
o`
u les cfficients se calculent par recurrence :
u1 = (1 + 2),

un = (1 + 2)

2
,
un1

ln =

.
un

Il faut donc O(N ) operations pour calculer les matrices L et U . La resolution


du syst`eme (31) se fait alors en deux etapes :
(32)

Lz = bm ,

U U m+1 = z.

METHODES
NUMERIQUES
POUR LE PRICING DOPTIONS

Chacun de ces deux syst`emes lineaires est triangulaire, avec seulement une sous(ou sur-)diagonale non nulle. Le premier syst`eme se resoud donc rapidement : la
premi`ere ligne donne directement z1 = bm
eme ligne donne z2 en
1 . Puis la deuxi`
fonction de z1 et b2 . Et ainsi de suite. De meme, on peut resoudre le deuxi`eme
syst`eme lineaire, mais en partant de la derni`ere ligne, qui donne directement um+1
N
en fonction de zN .
Il faut donc O(N ) operations pour resoudre chacun de ces deux syst`emes, et
donc pour resoudre (31). Cest tr`es clairement lune des methodes les plus efficaces
pour resoudre un syst`eme lineaire tridiagonal, dautant plus que la decomposition
LU (ou le calcul des cfficients de ces matrices) est fait une fois pour toutes, la
matrice etant independante du pas de temps considere.
On voit donc quavec cette decomposition, le calcul de la solution `a linstant
(m + 1) en fonction de la solution `a linstant m nest pas particuli`erement
plus long que dans le cas de la methode dEuler explicite, avec la garantie de la
stabilite du schema en plus.
Toutefois, la precision de la methode est toujours en O( + x2 ), ce qui impose
un pas de temps tr`es petit si on veut garantir une certaine precision `a la solution
calculee.
2.4. Sch
ema de Crank-Nicholson. Le schema de Crank-Nicholson consiste `a
utiliser un schema aux differences finies, centre en espace, afin daccrotre la
precision. Linteret du schema de Crank-Nicholson est quil permettra de reduire
lerreur sur la derivee temporelle en O( 2 ), au lieu de O( ).
En pratique, le schema de Crank-Nicholson revient `a faire la moyenne du schema
dEuler explicite et du schema dEuler implicite :
!
m+1
m
m
um+1
+ um+1
um+1
um
1 um
n1 2 un + un+1
n1 2 un
n+1
n
n
(33)
'
+
.

2
x2
x2
On peut montrer que lerreur de ce schema est en O( 2 + x2 ), ce qui nimpose
plus des pas de temps particuli`erement petits pour garantir la precision.
On peut reecrire lequation (33) sous la forme
(34)

1
1
m+1
m
m
m
m
um+1
(um+1
+ um+1
n
n1 2un
n+1 ) = un + (un1 2un + un+1 ),
2
2

o`
u est toujours donne par (25). Le second membre est connu, et on obtient `a
nouveau une dependance implicite des um+1
en fonction des um
n
n.
Comme dans le cas du schema dEuler implicite, en assemblant les equations
(34) pour tous les n, on obtient un syst`eme lineaire
(35)

CU m+1 = bm ,

o`
u C est la matrice tri-diagonale suivante :

1 + 12
0
1 1 + 1
2
2

..
1
.
0

(36)
C=
2

..
.
..

.
0
0

...
..
..

.
21

0
0

1
2
1+

10

DIDIER AUROUX

Le second membre bm est donne par


m
m+1

uN
fN +1

..

1
m
m
..

(37)
b = f0
+ 2
.

..

.
m
fN
+ 1
um+1
N+

1
m
(um
n1 + un+1 ). On retrouve une fois encore la partie
2
provenant du second membre qui est connu (solution `a linstant m ) et la partie
provenant des conditions aux limites
 (egalement connues) `a linstant (m + 1) .
On remarque que C() = A 2 . Autrement dit, en considerant 2 au lieu de
dans le schema dEuler implicite, on obtient la meme matrice quici. On peut donc
utiliser la methode LU precedemment detaillee, en divisant par 2, pour resoudre
les syst`emes lineaires (35).

avec fnm = (1 )um


n +

solution nume
rique de le
quation de Black-Scholes
3. Re
Il est egalement possible de resoudre directement lequation de Black-Scholes
(1) sans passer par les precedentes transformations et lequation de la chaleur.
Parmi les schemas presentes, la facon la plus precise et efficace consiste `a utiliser
une methode de Crank-Nicholson en temps, et des schemas aux differences finies
centrees en espace. Une difficulte supplementaire apparat toutefois dans le fait que
les cfficients des derivees partielles spatiales ne sont pas constants (ils dependent
de S), ce qui complique la resolution des syst`emes lineaires (qui restent malgre tout
tri-diagonaux).

Vous aimerez peut-être aussi