Romain WARLOP Rapport

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 25

Ecole Normale Suprieure de Cachan

Rapport de stage
Matres de stage : Laurent DESVILLETTES([email protected]) et
Francesco SALVARANI([email protected])

Mod`ele de Black-Scholes
WARLOP Romain ([email protected])

Cachan, le 29 juin 2011

Table des matires


1 Introduction

Mathmatiques financires

2 Quelques notions lmentaires de mathmatiques financires


2.1 Options, couverture et problme de pricing . . . . . . . . . . . . . . .
2.1.1 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2 Couverture . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.3 Problme de pricing . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Stratgie auto-finanante, consquence de lA.O.A et march complet .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

4
4
4
4
4
5

3 Parit Put-Call

II

LEDP de Black-Scholes

4 Prsentation du modle
4.1 Dfinitions et Proprits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6
7
7

III Rsolution analytique de lquation de Black-Scholes dans le cas dun


Call et dun Put europen
8
5 Rsolution de lquation de la chaleur sans second membre
5.1 Solution fondamentale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Rsolution gnrale de lquation de la chaleur avec conditions initiales . . . . . .

8
8
9

6 Cas dune option Call europenne


6.1 Evaluation du prix de loption . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10
12

7 Cas dune option Put europenne

13

IV

14

Estimation de la volatilit

8 Volatilit
8.1 Prsentation . . . . . . . . .
8.2 Calcul . . . . . . . . . . . .
8.2.1 Volatilit implicite .
8.2.2 Volatilit historique

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

Tracs obtenus avec Matlab

14
14
14
14
17

17

9 Trac de la solution explicite obtenue


9.1 Application de la formule de Black-Scholes pour matlab . . . . . . . . . . . . . .
9.2 Rsultats graphiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17
17
18

10 Rsolution numrique par diffrences finies


10.1 Mise en quation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.2 Rsultats graphiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18
18
19

VI

19

Application un cas rel

VII

Critique du modle

21

10.3 Les hypothses sont discutables . . . . . . . . . . . . . . . . . . . . . . . . . . . .


10.4 Et les crises ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

VIII
10.5
10.6
10.7
10.8
10.9

Annexes

21
22

22

Fonction BScall . . . . . . . . . . . . . . . . . .
Trac de la solution en 2D . . . . . . . . . . . .
Trac de la solution en 3D . . . . . . . . . . . .
Fonctions matlab pour Euler implicite . . . . .
Calcul de la volatilit implicite par dichotomie

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

22
22
23
23
24

Introduction

Dans le monde daujourdhui, la finance joue un rle des plus importants et est parfois
lorigine de crises mondiales. Il apparat alors important que la finance soit base sur des modles
solides permettant dvaluer les risques et les prix. De cette ncessite, le modle et la formule
de Black-Scholes sest impose comme rfrence depuis 1973, dans le calcul doption. Malgr
ses dfauts, ce modle connat ce succs car il possde de nombreux avantages : sa simplicit
dapplication et de formule, son importante utilisation par les oprateurs du march mais aussi
et surtout parce quil permet de calculer un paramtre important en finance : la volatilit. La
volatilit mesure la variation moyenne dans le temps dun actif financier et donne donc une
information cruciale sur le risque.

Premire partie

Mathmatiques financires
2

Quelques notions lmentaires de mathmatiques financires

Pour arriver lEDP de Black-Scholes, nous allons commencer par prsenter quelques bases
des modles financiers.

2.1
2.1.1

Options, couverture et problme de pricing


Options

Dfinition 1 (Call Europen) Une option dachat europenne, call, donne le droit son dtenteur dacheter une certaine quantit dactif sous-jacent (de valeur St linstant t) une
certaine date future, appele maturit, not T, et un prix fix dans le contrat, not E, appel
strike. Lacheteur ayant donc le droit et non le devoir dexercer loption a la maturit, il va
exercer son option si ST > E sinon il ne fait rien. La valeur relle donc change la maturit,
appele le "pay-off" de loption, est donc (ST E)+ = max(ST E, 0).
Dfinition 2 (Put Europen) Une option de vente europenne, put, donne le droit son
dtenteur de vendre une certaine quantit dactif sous-jacent une date future et un prix fix
dans le contrat. Avec les mmes notations que pour le call, on obtient que le pay-off du put est
(E ST )+ = max(E ST , 0).
Ce sont les deux types doptions qui sont alors changes sur le march.
2.1.2

Couverture

Le problme de couverture dune option consiste trouver une stratgie financire base sur
les actifs du march dont la valeur chaque date t est gale au pay-off de loption.
2.1.3

Problme de pricing

Pour des options call et put un problme majeur apparat. Par exemple dans le cas dun
call lacheteur est toujours protg car il choisit lexercice de loption donc il ne craint rien.
En revanche pour le vendeur le risque est maximal car sa perte est possiblement infinie. Il est
donc naturel quen mathmatiques financires le problme de pricing dune option, cest--dire
de dtermination de la valeur de loption toute date, soit trs important, ainsi que le problme
de couverture de loption.
4

Pour rpondre ces problmes, on a besoin dune hypothse fondamentale appele Absence
dOpportunit dArbitrage (A.O.A), qui suppose quil est impossible de gagner de largent sans
prendre de risque un instant donn.

2.2

Stratgie auto-finanante, consquence de lA.O.A et march complet

Dfinition 3 Une stratgie auto-finanante est une stratgie dans laquelle il ny a pas dajout
ou de retrait dargent dans le portefeuille entre le temps t et t+1.
? Considrons un march dans lequel lhypothse dA.O.A est vrifie. On peut en dduire
deux rsultats : 1) Si deux actifs financiers X et Y ont le mme flux terminal XT = YT , alors
t T on a Xt = Yt .
2) Si XT YT , alors t T on a Xt Yt .
Dfinition 4 Un produit financier est dit rplicable, ou atteignable, sil existe une stratgie
auto-finanante de couverture de ce produit. En dautres termes, le produit financier S est dit
rplicable si on peut construire un portefeuille qui dpend des autres produits du march et qui
a chaque instant t vaut St . Pour construire ce portefeuille on achte une certaine quantit de
diffrents produits et on vend une certaine quantit dautres produits dans le but davoir une
valeur de portefeuille gale S.
Dfinition 5 Considrons un march dans lequel lhypothse dA.O.A est vrifie. Ce march
est dit complet si tout produit financier est rplicable. Dans la suite le march sera suppos
complet.

Parit Put-Call

Dfinition 6 (zro-coupon) Un bond zro-coupon est un actif qui paie la maturit T 1.


On dsigne par B(t, T ) son prix la date t.
Considrons le cas o le taux dintrt est une constante r, par exemple le taux dintrt dune
banque.
Si on place 1 linstant t, linstant t + t on possde (1 + rt).
Si maintenant on place St linstant t, linstant t + t on a St+t = St + rSt t. On a donc
dSt = rSt dt. Soit donc St = ert .
On en dduit que le prix du zro-coupon est donn par :
B(t, T ) = er(T t) .
Si le taux dintrt nest pas constant, on obtient :
B(t, T ) = e

RT
t

r(s)ds

Dans la suite on considrera le taux dintrt constant.


En mathmatiques financires, il est possible de montrer une relation entre un Call europen
et un Put europen, dans un march sans arbitrage, appele la parit Put-Call. Cette relation
est trs pratique pour dterminer le prix de lun des deux dans le modle de Black-Scholes. En
effet, il suffit de calculer lun des deux partir du modle de Black-Scholes, la seconde se dduit
5

immdiatement grce cette relation.


Considrons donc un call et un put europen bass sur le mme actif sous-jacent S, de maturit
T , et de strike E. Pour dmontrer la relation de parit Put-Call, nous allons nous servir de la
proposition 1. On va donc construire deux portefeuilles ayant mme valeur la maturit et grce
cette proposition on pourra conclure lgalit de ces deux portefeuilles tout instant.
On considre donc les deux stratgies suivantes :
1/ On achte un call, et on vend un put. Dans la valeur du portefeuille, ce que lon achte un
signe positif, ce que lon possde, et ce que lon vend un signe ngatif. La valeur du portefeuille
un instant t est donc : Ct Pt . On obtient alors un flux terminal, gal au pay-off des options,
valant :
(ST E)+ (E St )+ = ST E.
2/ On achte St et on vend E quantit de zro-coupon. La valeur du portefeuille un instant
t est donc : St EB(t, T ). Le flux terminal de ce portefeuille est alors :
ST E.
Par la proposition prcdente, on conclut que
t [0, T ],

Ct Pt = St Eer(T t)

(1)

car B(t, T ) = er(T t) .

Deuxime partie

LEDP de Black-Scholes
4

Prsentation du modle

On va prsenter une faon de rsoudre le problme du pricing et de la couverture dune


option europenne, en passant par la drivation dune EDP.
On sintresse une option europenne, qui rapporte son dtenteur H = h(S(T ))
lchance T (o h est la fonction pay-off). Par exemple, dans le cas dun call europen on
h(x) = (x K)+ .
Le prix de cette option linstant t est Et , 0 t T . On a bien sr ET = h(S(T )).
Il existe une application u C 1,2 ([0, T ] R+ ; R+ ) telle que pour tout 0 t T , on ait
Et = u(t, St ).
On peut dmontrer cela par une approche probabiliste et grce des rsultats sur les processus
de Markov. (Voir [1] pour une dmonstration de ce rsultat.)
-

Pour obtenir lquation de Black-Scholes, certaines hypothses doivent tre faites :


le march est complet,
le temps est continu,
le sous-jacent est infiniment divisible (par exemple on peut acheter 1/1000 de sous jacent),
les ventes dcouvert sont autorises,
il ny a pas de coup de transaction,
il existe un taux dintrt constant,
il ny a pas de dividende (bnfices distribus aux dtenteurs dactions).
6

4.1

Dfinitions et Proprits

Dfinition 7 (Mouvement brownien) Un processus stochastique (Bt )t0 est appel mouvement brownien si ses trajectoires sont continues, B0 = 0 et
(i) pour tout n N, 0 = t0 < t1 < < tn , la suite Bt1 ; Bt2 Bt1 ; ; Btn Btn 1 est une suite
de variables alatoires indpendantes.
(ii) pour tout 0 < s < t, la loi de Bt Bs est la loi N(0 ; t - s).
Dfinition 8 (Processus dIt) On appelle processus dIt, un processus X = (Xt )0tT
valeurs dans R tel que :
dXt = Kt dt + Ht dBt
avec
K = (Kt )0tT et H = (Ht )0tT sont des processus adaptes la filtration (Ft ) = ((X1 , ..., Xt )).
R
P( 0T |Ks |ds < ) = 1.
R
P( 0T |Hs |2 ds < ) = 1.
Proposition 1 (Lemme dIt) Soit X un processus dIt, cest dire tel que dXt = Kt dt +
Ht dBt et f C 2 (R R+ ; R). Alors 0 t T ,
f
f
1 2f
f
(t, Xt ) Kt +
(t, Xt ) +
(t, Xt ) Ht2 dt +
(t, Xt ) Ht dBt .
2
X
t
2 X
X
!

df (t, Xt ) =

4.2

Application

Dans le cadre de notre modle, on dsigne par (Bt )t1 un mouvement brownien, et des
t
constantes, de sorte que lon a dS
St = dt + dBt et donc St = S0 exp(t + Bt ).
est appel le drive, et correspond une mesure du taux moyen de croissance du prix de lactif,
et est appel la volatilit, et mesure la fluctuation du cours de lactif financier considr.
Or dSt = St dt + St dBt . On peut donc appliquer le Lemme dIt, ce qui nous donne :
!

dEt =

u
u
2 2u
u
(t, St ) + St (t, St ) + St2 2 (t, St ) dt + St (t, St )dBt
t
x
2
x
x

(2)

Le march tant complet il existe une stratgie auto-finanante (Xt , Yt )0tT , o Xt est
un vecteur donnant chaque instant la quantit de zro-coupon, not ici Rt , dtenus dans le
portefeuille, et Yt le quantit du produit S dans le portefeuille chaque instant ; telle que la
richesse VT associe linstant final T soit
VT (X, Y ) = h(ST ), o h est la fonction pay-off
alors ncessairement
Par ailleurs,

Vt (X, Y ) = Et , 0 t T.
Vt (X, Y ) = Xt Rt + Yt St = u(t, St ).

(3)

et la condition dauto-financement scrit en temps continu


dVt (X, Y ) = Xt dRt + Yt dSt = dEt .
Mais
or

dRt = rRt dt,

(4)

dSt = St dt + St dBt ,

(5)

Daprs (4) et (5) on en dduit :


dEt = (rXt Rt + Yt St )dt + Yt St dBt

(6)

Daprs les quations (2) et (6) on a galit entre les coefficients de Bt et de dt. Do,
Yt St = St
Soit encore
Yt =
et en outre
rXt Rt + Yt St =

u
(t, St )
x

u
(t, St )
x

(7)

u
u
2 2u
(t, St ) + St (t, St ) + St2 2 (t, St )
t
x
2
x

(8)

Et on tire de (3) et (7) que


Xt = Rt1 (u(t, St ) St

u
(t, St )).
x

Donc la relation (8) devient :

2
2

u (t, S ) + rS u (t, S ) + S 2 u (t, S ) = ru(t, S )


t
t
t
t
t
t
x
2 t x2

u(T, ST ) = h(ST )

Une C.N.S. pour que ces relations soient satisfaites presque srement est que u soit solution de
lEDP parabolique

2
2

u (t, x) + rx u (t, x) + x2 u (t, x) = ru(t, x),


t
x
2 x2

u(T, x) = h(x),

t [0, T ], x R+

(9)

x R+

Cest lEDP de Black Scholes.

Troisime partie

Rsolution analytique de lquation de


Black-Scholes dans le cas dun Call et dun
Put europen
5

Rsolution de lquation de la chaleur sans second membre

On commence par rsoudre lquation de la chaleur car lEDP de Black-Scholes se ramne


cette quation.

5.1

Solution fondamentale

On cherche rsoudre le problme

u = u ,
t
x2

u(x, 0) = u0 (x).
8

Remarque : Si la solution u(x, t) dune quation aux drives partielles dpend seulement dune
combinaison de deux variables indpendantes, le problme peut tre rduit une quation diffrentielle ordinaire dans laquelle cette combinaison est la variable.
Ici on a R linvariance, x 7 x, t 7 2 t.
u
2u
Ainsi avec les nouvelles variables X = X et T = 2 t, on a T
= X
2
x
X

= T est la seule combinaison de X et T qui est indpendante de , on cherchera une


t
solution de la forme u (x, t) = t1/2 U () avec = xt .
On drive par rapport au temps et deux fois en espace, on obtient :

u
1
1

= t3/2 U () t3/2 U0 (),

u = t3/2 U 00 ().

Soit, en rinjectant dans lquation de la chaleur :


1
1
U00 () + U () + U0 () = 0,
2
2

1
U00 () + ( U ())0 = 0.
2
On prend la primitive :
Z

U00

1
1
( U ())0 = U0 + U () = 0.
2
2

On divise par U puis on prend nouveau la primitive :


U0
=
U

1
d,
2

1
(U )
= 2,
C
4
o C est une constante. On obtient alors :
ln

1 2

U = Ce 4 .
On normalise la solution en choisissant C =

u (x, t) =

2 t

u (x, 0) = (x)

5.2

pour avoir

R +

u (x, t)dx = 1. On a donc :

x2

e 4t ,
o (.) reprsente la fonction Dirac.

(10)

Rsolution gnrale de lquation de la chaleur avec conditions initiales

Dans cette section on va soccuper du systme :

u = u ,
t
x2

u(x, 0) = u0 (x).

o u0 (x) se comporte suffisamment bien, cest dire :

lim u0 (x)eax = 0,

a > 0,

|x|+

lim u(x, t)eax = 0,

(11)

a > 0, t > 0.

|x|+

Soit v dfini par :

Z +
(sx)2
1

u
(s)e
ds,
v(x,

)
=
0

2
Z +
Z +

u0 (s)(s x)ds = u0 (x).


u0 (s)u (s x, 0)ds =
v(x, 0) =

Montrons que v est solution du systme prcdent. Daprs la partie commune de cette prsentation, on sait que v est C et de plus, daprs les conditions de rgularit sur u0 on peut appliquer
le thorme dinversion drive-intgrale de Leibnitz, de sorte que :
v
1
=

4
v
1
=
x
2
2v
x2

Z +

Z +

u0 (s)e

u0 (s)

Z +

(sx)2
4

ds +

Z +

u0 (s)

(s x)2 (sx)2
e 4 ds
8 2

s x (sx)2
e 4 ds
2

u0 (s)e

(sx)2
4

ds +

Z +

u0 (s)

(s x)2 (sx)2
e 4 ds
8 2

v est donc bien solution du systme tudi.

Cas dune option Call europenne

Pour une option Call europenne, notons sa valeur C(S, t), ce qui correspond au u prcdemment, o S reprsente le prix du sous-jacent, et t [0, T ], T tant la maturit. On a lquation
suivante :

2
2

C (S, t) + rS C (S, t) + S 2 C (S, t) rC(S, t) = 0,


t
S
2
S 2

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

t [0, T ], S R+ ,

(12)

S R+

Pour rsoudre cette quation, nous allons procder divers changements de variable pour
nous ramener une quation de la chaleur du type :

u = u ,
t
x2

u(x, 0) = u0 (x)

(13)

Pour pouvoir se ramener ce type dquation, commenons tout dabord par supprimer les
coefficients S et S 2 de lquation de Black-Scholes.
Pour ce faire, on pose : S = Eex , t = T 22 , C(S, t) = Ev(x, ).
Un changement de temps de ce type parat naturel pour se ramener a une condition en t=0 et
non plus en t=T.
On a donc :


1
2
1
v(x, ) = C Eex , T 2 = C(S, t)
(14)
E

10

On drive (14) par rapport x :


v
x

1 C S
1 C t
+
E S x |E t
{z x}

S C
E S

=0

On drive une nouvelle fois par rapport x :


2v
x2

=
=
=
=

v
1 C
=
S
x x
x E S


1 C S
S
S E S x


1 C
2C
+S 2 S
E S
S
2
S C
S 2C
+
E S
E S 2


Drivons maintenant (14) par rapport :


v
1 C t
1 C 1
=
=

E t
E t 12 2
Pour plus de clart on introduit les valeurs suivantes :
Ct =

E 2
v
2

(15)

SCS = Evx

(16)

S 2 CSS = Evxx SCS = Evxx Evx .

(17)

Rappelons lquation de Black-Scholes :


1
Ct + 2 S 2 CSS + rSCS rC = 0.
2

(18)

On injecte alors (15), (16) et (17) dans (18), ce qui nous donne :

Soit, en divisant par

E 2
2

E 2
E
v + 2 (vxx vx ) + rEvx rEv = 0.
2
2

v + vxx vx + kvx kv = 0

avec k =

2r
.
2

Ou encore avec les notations du dpart :


2v
v
v
=
+ (k 1)
kv
2

x
x

avec k =

2r
.
2

On a alors comme condition initiale (en = 0 puisque la condition est en t=T) :


v(x, 0) =

1
1
C(Eex , T ) = max(Eex E, 0) = max(ex 1, 0).
E
E
11

(19)

Pour arriver une quation comme celle de lquation de la chaleur, on procde alors un second
changement de variables. On pose :
v(x, ) = ex+ u(x, )
On rinjecte alors cela dans lquation (19) :
ex+ (u +

u
u
u 2 u
) = ex+ 2 u + 2
+ 2 + (k 1)(u +
) ku .

x x
x


Soit encore :

u 2 u
u
u
= 2 u + 2
+ 2 + (k 1)(u +
) ku.

x x
x
En regroupant les termes de mmes drives :
u +

u
u
2u
+ (2 + (k 1) k )u + (2 + k 1) .
=

x2
x
Pour se ramener au cas de lquation de la chaleur, il nous faut liminer les termes en u et
on doit donc rsoudre le systme suivant :
(

u
x ,

= 2 + (k 1) k,
2 + k 1 = 0.

= (k 1)

= (k + 1)2 .
4

On a donc :

v = e 2 (k1)x 4 (k+1) u(x, ).

et u vrifie alors

u = u ,

x2

x R,

> 0

u(x, 0) = u0 (x) = e 2 (k1)x max(ex 1, 0) = max(e 2 (k+1)x e 2 (k1)x , 0).

u0 (x) vrifie bien (11). La solution est donc :


1
u(x, ) =
2

6.1

Z +

u0 (s)e

(xs)2
4

(20)

ds.

Evaluation du prix de loption

Dans cette section, nous allons nous atteler lvaluation de lintgrale dans lquation (20).
sx
On commence par poser x0 =
2
u(x, ) =
=
=

+
(xs)2
1

u0 (s)e 4 ds
2
Z +

x02
1

u0 (x0 2 + x)e 2 dx0


2
Z +
Z +

02
1
1
x02
1
1
0
(k+1)(x+x0 2 x2
0
2

e
e
dx
e 2 (k1)(x+x 2 e 2 dx0
2 x2
2 x2

{z

I1

12

{z
I2

Calcul de I1

On va ici essayer de se ramener la loi de rpartition normale centre rduite :


1

I1 =
=

e 2 (k+1)x

2
e

Z +

2
1
(k+1)x+ 14 (k+1)2
2

Z +

e 4 (k+1) e 2 (x 2 (k+1)

2 )2

dx0

1 2

12 (k+1) 2

e 2 d

avec = x0 12 (k + 1) 2 .
Rx
1 2
e 2 s ds qui est la fonction de rpartition de la loi normale
On note alors N (x) = 12
centre rduite.

On pose galement d1 = x2 + 12 (k + 1) 2 .
On obtient alors :
1
1
2
I1 = e 2 (k+1)x+ 4 (k+1) (1 N (d1 )).
Or, d R, on a N (d) + N (d) = 1. Donc finalement :

1
(k+1)x+ 14 (k+1)2

N (d1 )
I1 = e 2

1
+ (k + 1) 2
2
2

d1 =
Calcul de I2

Par un calcul similaire on obtient :

1
(k1)x+ 14 (k1)2

N (d2 )
I2 = e 2

1
+ (k 1) 2
2
2

d2 =

Maintenant que lon a lexpression de u remontons lexpression de C, valeur du Call. Tout


dabord, on a : v(x, t) = ex+ et C(S, t) = Ev(x, ).
S
On rappelle galement que x = ln E
, = 12 2 (T t) et k = 1 r2 . Do :
2

21 (k1)x 14 (k+1)2

C(S, t) = Ee


1
(k+1)x+ 41 (k+1)2
2

N (d1 ) e

1
(k1)x+ 14 (k1)2
2

N (d2 )

= Ee 2 (k1)ln E 4 (k+1) 2 (T t)


S
S
1
1
(k+1)ln E
+ 41 (k+1)2 21 2 (T t)
(k1)ln E
+ 41 (k1)2 12 2 (T t)
2
2
e
N (d1 ) e
N (d2 ) .
1

21

Ce qui se simplifie en :

C(S, t) = SN (d1 ) Eer(T t) N (d2 )

+ (r + 12 2 )(T t)
ln E

d1 =

(T t)

ln E + (r 12 2 )(T t)

p
d2 =

(21)

(T t)

Cas dune option Put europenne

On pourrait procder de mme pour une option Put europenne, mais on va utiliser la
remarque faite dans la premire partie : la parit Put-Call. On note P le prix du Put europen.
13

On avait montr quentre un Put et un Call europen, de mme maturit et de mme strike E,
existe une relation entre leur prix :
C(S, t) P (S, t) = S Eer(T t) .
Donc :

P (S, t) = S(N (d1 ) 1) Eer(T t) (1 N (d2 )).

On peut simplifier cette quation en utilisant le fait que N (d) + N (d) = 1. On obtient alors :

P (S, t) = Eer(T t) N (d2 ) SN (d1 )

+ (r + 21 2 )(T t)
ln E

d1 =

(T t)

ln E + (r 21 2 )(T t)

p
d
=
2

(22)

(T t)

Quatrime partie

Estimation de la volatilit
8

Volatilit

8.1

Prsentation

Lestimation de la volatilit est capitale en mathmatiques financires pour calculer le prix


dune option. Elle permet de mesurer linstabilit du cours dun actif financier. Plus la volatilit
est importante plus lactif est instable, si la volatilit est nulle, on peut connatre de manire
exacte la valeur de lactif dans le futur.
Il existe deux mthodes de calculs de la volatilit :
la volatilit implicite : En utilisant les prix observs des options Ct et en inversant la formule
de Black-Scholes, on peut retrouver le paramtre . Ici, en gnral, on na pas une seule valeur
de sigma, mais une courbe qui dpend du strike K, cest le phnomne du "smile de volatilit".
la volatilit historique : En utilisant les donnes historiques du cours sous-jacent (St )t et des
mthodes statistiques destimation pour la moyenne et la variance, on en dduit le paramtre
de volatilit.

8.2
8.2.1

Calcul
Volatilit implicite

Pour obtenir une expression de la volatilit daprs la formule de Black-Scholes, reprenons


donc la formule de Black-Scholes pour un call-europen :
C(S, t) = SN (d1 ) Eer(T t) N (d2 )

14

Rx
1 2
1
e 2 s ds,
2
1 2
1 e 2 x et
2

Or N (x) =
N 0 (x) =

on a alors :

1 2
1
SN 0 (d1 ) = S e 2 d1
2


21

1
= S e
2
=
=
=

1 2 )(T t)
ln ES +(r+
2

2

(T t)

2 S
2
2 2
2
S
1 ln ( E )+(r+ 2 ) (T t) +2(r+ 2 )(T t)ln( E )
S
1

ln
(E)
2 (T t)
2

Ee
e
2

 2
ln ( ES )+(r+ 22 )2 (T t)2 +ln( ES )(T t)(2r+2 22 )
21
1
2 (T t)
Ee
2
 2

ln ( ES )+(r+ 22 )2 (T t)2 +2ln( ES )(T t)(r 22 )
1
2
1
2 (T t)
Ee
2

dautre par :
1 2
1
Eer(T t) N 0 (d2 ) = Eer(T t) e 2 d2
2


12

1 2 )(T t)
ln ES +(r
2

2

1
(T t)
= Eer(T t) e
2
 2

ln ( ES )+(r 22 )2 (T t)2 +2ln( ES )(r 22 )(T t)
1
+2r(T t)
1 2
2 (T t)
= E e
2
 2

ln ( ES )+2ln( ES )(r 22 )(T t)+(r 22 )2 (T t)2 2r(T t)2 2
21
1
2 (T t)
= E e
2
 2

ln ( ES )+2ln( ES )(r 22 )(T t)+(T t)2 (r2 + 44 r2 +2r2 )
1
1 2
2 (T t)
= E e
2
 2

ln ( ES )+(r+ 22 )2 (T t)2 +2ln( ES )(T t)(r 22 )
21
1
2 (T t)
= Ee
2
Et donc, on a :

SN 0 (d1 ) = Eer(T t) N 0 (d2 )

On pose ensuite :
C (1) =

C
(lnS)

C (2) =

2C
(lnS)2

= C (2) C (1)
On a :
C (1) = SN (d1 ) +

S
Eer(T t) 0
N 0 (d1 )
N (d2 )
(T t)
(T t)
15

(23)

C (2) = SN (d1 ) + 2
Donc :
=

S
S
Eer(T t) 00
0
N 0 (d1 ) +
N
(d
)

N (d2 )
1
(T t)
((T t))2
((T t))2

S
S
Eer(T t) 00
00
N 0 (d1 ) +
N
(d
)

N (d2 )
1
(T t)
((T t))2
((T t))2

Or N 00 (d) = dN 0 (d), d1 = d2 + (T t) et en utilisant (23) on a :


=
=

1
S
N 0 (d1 ) +
(Eer(T t) d2 N 0 (d2 ) Sd1 N 0 (d1 ))
(T t)
((T t))2
S
1
N 0 (d1 ) +
Eer(T t) (T t)N 0 (d2 )
(T t)
((T t))2

S
Eer(T t) 0
N 0 (d1 ) +
N (d2 )
(T t)
(T t)

2S
2Eer(T t) 0
N 0 (d1 ) =
N (d2 )
(T t)
(T t)

Soit E llasticit de la fonction auxiliaire par rapport S :


E =

ln||
lnS

Or ln|| = ln(2) + ln(S) ln((T t)) ln( 2)

d21
2 .

Do :

d1
(T t)
d1
1
r
1
r
=
+ + 2+ 2
(T t) 2
2

E = 1

(r + 2 )(T t) 1
d1
r
=
+
+ 2
2
(T t)
(T t)
2
1
S
1
r
= 2
ln( ) + 2
(T t) E
2
et
2 (T t)(E

1
r
E
1
E
+ ) = ln( ) 2 (T t)(E ) = ln( ) r(T t)
2 2
S
2
S

Do
v
u
u ln( E ) r(T t)
=t S
1

(T t)(E 2 )

On a donc une expression de la volatilit en fonction des autres paramtres et de E qui nest
autre quune combinaison des diffrentielles premires et secondes du prix du call par rapport
au logarithme du sous-jacent. En connaissant donc les valeurs prcdentes du call, on en dduit
la volatilit.
On remarque que la volatilit implicite dpend du strike et de la maturit, on obtient donc une
courbe qui a la forme dun sourire, do le phnomne de "smile de la volatilit".
En pratique, pour calculer la volatilit implicite, on ne se sert pas de cette formule trop
complique mettre en place, on utilise une rsolution numrique. Si on appelle C0 la valeur
dun call linstant initial, pour calculer la volatilit implicite, on cherche rsoudre :
C0 SN (d1 ) EerT N (d2 ) = 0
16

8.2.2

Volatilit historique

Il existe diffrente formule pour calculer la volatilit historique. Lune delle consiste en un
calcul dcart-type en se basant sur les valeurs passes du call. Notons Ci la valeur dun call
europen en fin de la ime priode, C la moyenne de ces valeurs entre linstant 1 et n, on a :
s

n =

i=1 (Ci

Pn

C)

C=

avec

Pn

i=1 Ci

Cinquime partie

Tracs obtenus avec Matlab


Les codes matlab utiliss dans cette partie sont disponibles en annexes.

9
9.1

Trac de la solution explicite obtenue


Application de la formule de Black-Scholes pour matlab

Pour tracer la solution explicite, il nous faut calculer N (d). Pour cela, on peut se servir
de la fonction erf(x) de Matlab, et plus prcisment de la fonction erfc(x). Ces fonctions
correspondent :

Z x
2
2

et dt,

erf(x) =
0
Z +

2
2

et dt = 1 erf(x).
erfc(x) =

Il nous faut donc exprimer N (d) en fonction de erfc(x) :


N (d) =
=
=

d
1 2
1

e 2 s ds
2
Z 0

Z d
1 2
1 2
1

e 2 s ds +
e 2 s ds
2
0
Z d
1 2
1
1
+
e 2 s ds.
2
2 0

On fait alors le changement de variable suivant :


N (d) =

1 1

2 2

1 s
2
d

= t. On obtient :
1

e 2 2t

2dt

1 1 2
2 t2
+
e dt
2 2 0



d
1 1
=
+
1 erfc
2 2
2


1
d
= 1 erfc
2
2

De plus, il est facile de montrer que erfc(x) = 1 + erf(x) = 2 erfc(x).


Donc erfc(x) = erfc(x) 2. On obtient alors
1
d
N (d) = erfc .
2
2


17

(24)

Call europen Pour le Call on a : C(S, t) = SN (d1 ) Eer(T t) N (d2 ).


On obtient donc en fonction de erfc(x) :
C(S, t) = S

1
d1
erfc
2
2




Eer(T t)

1
d2
erfc
2
2




Put europen Pour le Put on a : P (S, t) = Eer(T t) N (d2 ) SN (d1 )


On obtient donc en fonction de erfc(x) :
P (S, t) = Eer(T t)

9.2

1
d2
erfc
2
2




1
d1
erfc
2
2




Rsultats graphiques

A partir des codes 10.5, 10.6 et 10.7, on obtient les tracs 2D et 3D suivants :

(a) Trac de la solution en 2D t=0

(b) Trac de la solution en 3D

Figure 1 Reprsentation graphique des valeurs dune option call europen en deux et trois
dimensions

10

Rsolution numrique par diffrences finies

Ici, nous allons rsoudre lquation de Black-Scholes laide de la mthode des diffrences
finies en utilisant la mthode dEuler implicite.

10.1

Mise en quation

Pour un call europen de strike E, et de maturit T, on a lquation de Black-Scholes suivante,


dans laquelle on a fait le changement de variable = T t pour se ramener une condition en
= 0 (lquation est crit en t et non en pour plus de commodit :

2
2

C (x, t) + rx C (x, t) + x2 C (x, t) rC(x, t) = 0,


t
x
2
x2

C(x, 0) = (x E) = max(x-E,0),

x [0, R]

18

t [0, T ], x [0, L],

(25)

On utilise donc un schma dEuler implicite en posant cm


i = C(xi , tm ) avec :
R
xj = jh avec j = 0, ..., M et h = M le pas despace,
tn = nk avec n = 0, ..., N et k =

T
N

le pas de temps. On obtient donc :

n+1
n+1
n+1
n+1
cn+1
cnj
cn+1
2 cj+1 2cj + cj1
j
j+1 cj1
rcn+1
= 0.
+ rxj
+ x2j
j
k
2h
2
h2

On a en plus besoin de condition au bord pour x = 0 et x = R.


.
Pour x = 0 on prend C(0, t) = 0 = ua, et pour x = L on prend C(R, t) = BScall(R, E, T
.
t, r, sigma) = ub(t) ou BScall est la fonction permettant dobtenir le prix du call daprs ltude
analytique.
t
n
n t
On pose alors Cnew = (cn+1
, ..., cn+1
1
M ) ,Cold = (c1 , ..., cM ) . On a alors une formule matricielle
donnant les composantes de Cnew en fonction de celles de Cold sous la forme
ACnew = Cold + Bn
k x1 2
1
1 + k( xh 1 )2 + rk rkx
2h 2 ( h )

rkx1 k ( x1 )2
2h
2 h

..
avec A=
.

..

0
..
.
..
.

k x1 2

2
1 + k( xh 2 )2 + rk rkx

2h 2 ( h )

..
..
..

.
.
.

..
..
rkxM 1
xM 1 2
k
.
2h 2 ( h )
.
0
rkxM
k xM 2
1 + k( xhM )2 + rk
0

0
2h 2 ( h )
et Bn est un vecteur quasiment nulle, seul B(M ) est non nul et on a :

B(M ) =

10.2

rkxM
k  xM 2
+
ub(nk)
2h
2
h


Rsultats graphiques

Les tracs obtenus avec la mthode par diffrence finies (cf 10.8) sont les suivants :

(a) Trac de la solution en t=T

(b) Trac de la solution pour t dans ]0;T[

Figure 2 Reprsentation graphique des valeurs dune option call europen

19

(a) Euler implicite

(b) Solution explicite

Figure 3 Comparaison des rsultats pour un call europen en t=0

Figure 4 Comparaison des tracs linstant initial

20

Sixime partie

Application un cas rel


Cherchons a calculer le prix dun call europen bas sur le cac40 de maturit T=1 jour.
Le sous-jacent a pour valeur : S=3 850 .
Le strike vaut : E=4 100
Le taux constant est celui de la banque centrale europene : r=1,25%.
La valeur actuelle du call est de : C0 =0.025 .
On rsout alors par dichotomie lquation C0 SN (d1 ) EerT N (d2 ) = 0.
On obtient comme volatilit : =0.0168. En appliquant la formule de Black-Scholes, on obtient
le graphique suivant :

Figure 5 Valeur du call

Septime partie

Critique du modle
10.3

Les hypothses sont discutables

Le modle de Black-Scholes diverge de la ralit en de nombreux points, mais il reste nanmoins une approximation trs utile. Cependant, lutilisateur se doit dtre au courant de ces
limites ou il risque de faire face dimportants risques imprvus. Les premires critiques qui
peuvent tre faites concernent les hypothses que lon a fait nous menant lE.D.P. de Black21

Scholes : le march nest en ralit pas complet, le temps nest pas continu en finance, en gnral
il y a un coup de transaction, le taux dintrt ainsi que la volatilit sont rarement constants.
Ces divergences avec la ralit conduisent des risques qui peuvent tre valus par ce que lon
appelle les "Grecques". On distingue cinq grecques principales : le Delta, le Thta, le Gamma,
le Vega et le Rh. Nous ne dvelopperons pas ici le calcul de ces quantits, mais pour plus de
dtail, le lecteur pourra se rfrer [4].

10.4

Et les crises ?

Le mathmaticien Benot Mendelbrot a plusieurs fois remis en questions le modle de BlackScholes, non seulement du fait que les hypothses considres sont peu ralistes, mais aussi
cause du fait que le modle toujours t incapable de prvoir les diffrents krachs boursiers.
Le problme provient de lutilisation de la loi normale qui sous-estime trop les vnements
"improbables" comme les krachs boursiers, beaucoup plus frquents que la loi ne laisse paratre.

Huitime partie

Annexes
Cette partie prsente les diffrents code matlab utiliss.

10.5

Fonction BScall

Cette fonction calcule la solution analytique de lquation de Black-Scholes pour un call


europen.
function c= BScall(S,E,r,T,sigma)
d1=(log(S./E) + (r + sigma.^2 /2) .* T) ./ (sigma .* sqrt(T));
d2=d1- sigma .* sqrt(T);
Ee = E .* exp(-r .* T);
N1=0.5*erfc(-d1/sqrt(2));
N2=0.5*erfc(-d2/sqrt(2));
c=S .* N1 - Ee .* N2;

10.6

Trac de la solution en 2D

Cette fonction permet de tracer la solution analytique de Black-Scholes pour un call europen,
grce a la fonction BScall, en deux dimensions : le prix en fonction de la valeur finale du sousjacent, le temps tant fix et tant linstant initial.
sigma = 0.3; %volatilit
N=200; %nombre de point
E=100; %valeur du strike
r=0.1; %taux sans risque
T=1; %maturit
L=log(3);
h=2/(N-1); %pas despace
x=(-1:h:1);
S=E*exp(L*x); %valeur finale du sous-jacent
call = BScall(S,E,r,T,sigma);
22

plot(S,call)
xlabel(S), ylabel(valeur du call,rot,0)
box off

10.7

Trac de la solution en 3D

Mme chose que prcdent sauf quici le temps nest pas fixe. On obtient donc un trac en
trois dimensions.
sigma = 0.3; %volatilit
N=50; %nombre de points
E=100; %strike
r=0.1; %taux sans risque
T=1; %maturit
e=1e-4;
Svals = linspace(e,3,N); %cre N points rgulirement espacs entre e et 3
tvals = linspace(e,T-e,N);
[Smat,tmat]=meshgrid(Svals,tvals); %cre un tableau de valeur pour le tracer
C=BScall(E*Smat,E,r,T-tmat,sigma); %calcul du call dans tout les tats
mesh(Smat,tmat,C) %tracer en 3D
xlabel(S), ylabel(t), zlabel(C(S,t),rot,0)
box off

10.8

Fonctions matlab pour Euler implicite

Cette fonction permet dobtenir la solution de lquation de Black-Scholes par diffrences


finies.
function [y,V]=EulerImp(E,L,r,a,T,sigma)
M=50;
b=E*exp(L);
ua=0;
ub=@(t) BScall(b,E,r,t,sigma);
k=0.02;
h=(b-a)/(M+1);
N=T/k;
V=zeros(M+2,N+1);
for i=1:N+1
V(M+2,i)=ub((N+1-i)*k);
end
%k est reprsente le pas de temps, h le pas despace.

i=1:M;
x=a+i*h;
z=a+(i+1)*h;
w=a+(i-1)*h;
y=[0 x b];
bb1=k*(sigma.*x/h).^2;
bb=(1+r*k)*ones(M,1)+bb1;
23

aa=r*k*z/(2*h)-k/2*(sigma.*z/h).^2;
cc=-k/2*(sigma*w/h).^2-r*k*w/(2*h);
A=spdiags([aa,bb,cc],[-1,0,1],M,M);
B=zeros(M,1);
B(1)=-ua*(r*k*x(1)/(2*h)-k*(sigma*x(1)/h)^2);
u0=zeros(M,1);
for l=floor(M*exp(-L)+1):M
u0(l)=l*b/M-E;
end
V(2:M+1,N+1)=u0;
U=u0;
figure(1)
B(M)=(k/2*(sigma*x(M)/h)^2+r*k*x(M)/(2*h))*ub(k);
Uold=U;
U=A\(Uold+B);
plot(y,[ua U ub(k)])
xlabel(S), ylabel(valeur du call,rot,0)
for i=1:N
t=i*k;
Uold=U;
B(M)=(k/2*(sigma*x(M)/h)^2+r*k*x(M)/(2*h))*ub(t);
U=A\(Uold+B);
V(2:M+1,N+1-i)=U;
figure(2)
plot(y,[ua U ub(t)])
xlabel(S), ylabel(valeur du call,rot,0)
hold on
axis([a b -1 250])
drawnow
pause(0.1)
end
figure(3)
plot(y,[ua U ub(T)])
axis([a b -1 250])
xlabel(S), ylabel(valeur du call,rot,0)
hold on

10.9

Calcul de la volatilit implicite par dichotomie

Cette fonction permet de calculer la volatilit dun call europen. On a une fonction tout
fait similaire pour un put europen.
function volatilite=volatilite(S,E,r,T,C0)
d1=@(sigma) (log(S./E) + (r + sigma.^2 /2) .* T) ./ (sigma .* sqrt(T));
d2=@(sigma) d1(sigma)- sigma .* sqrt(T);
Ee = E .* exp(-r .* T);
24

N1=@(sigma) 0.5*erfc(-d1(sigma)./sqrt(2));
N2=@(sigma) 0.5*erfc(-d2(sigma)./sqrt(2));
c=@(sigma) S .* N1(sigma) - Ee .* N2(sigma);
F=@(sigma) C0-c(sigma);
a=0; a1=a;
b=10; b1=b;
d=(a+b)/2;
i=0;
while i<300
if F(a)*F(d)>0
a=d;
else b=d;
end
d=(a+b)/2;
i=i+1;
end
plot([a1 b1],F([a1 b1]))
volatilite=d;

Rfrences
[1] E. Pardoux : Processus de Markov et application ; (2006)
[2] L. Gabet, F. Abergel, I.M. Toke : Introduction aux mathmatiques financires ; Ecole Centrale Paris (2010)
[3] N. Sukhomlin, P. Jacquinot : Solution exacte du problme inverse de la valorisation des
options dans le cadre du modle de Black et Scholes ; Ecole Centrale Paris (2010)
[4] A. Verraux : Rsolution de lquatin de Black et Scholes ; Tampere University of technoligy
(2008)

25

Vous aimerez peut-être aussi