Méthodes numériques pour la finance

Transcription

Méthodes numériques pour la finance
Méthodes numériques pour la finance
Olivier Guibé
12 mars 2010
Table des matières
1 Les outils de modélisation pour les options
1.1 Options . . . . . . . . . . . . . . . . . . . .
1.2 Modèle du marché financier . . . . . . .
1.3 Méthodes numériques . . . . . . . . . . .
1.4 Le modèle binomial . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2 Black et Scholes analytique
2.1 Généralités sur les EDP . . . . . . . . . . . . . . . . . . . .
2.2 De Black et Scholes à l’équation de la chaleur . . . . . . .
2.3 Transformations importantes de l’équation de la chaleur
2.4 Solution analytique de l’équation de la chaleur . . . . . .
2.5 Formules de Black et Scholes . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 Différences finies
3.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Différences finies pour l’équation de la chaleur . . . . . . . . . . . . . . . . . . . . . .
3.2.1 Schéma explicite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.2 Schéma implicite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.3 Schéma de Crank-Nicolson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Conditions sur le bord dépendantes du temps . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4 Schémas numériques pour Black et Scholes en variables modifiées . . . . . . . . . .
3.5 Différences finies du modèle de Black et Scholes avec taux, volatilité et dividende
variables en variable logarithmique . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.1 Schéma explicite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.2 Schéma implicite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.3 Schéma de Crank-Nicolson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.4 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6 Stabilité au sens de Von Neumann . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7 Différences finies du modèle de Black et Scholes en variables d’origines . . . . . . .
4 Options américaines
4.1 La courbe d’exercice « avant perte » . . . . .
4.2 Comment écrire ce problème ? . . . . . . . .
4.3 Discrétisation du problème d’obstacle . . .
4.4 Résolution de l’inéquation . . . . . . . . . .
4.4.1 Méthode SOR projeté . . . . . . . . .
4.4.2 L’algorithme de Brennan et Schwartz
4.5 Stabilité, convergence et tests . . . . . . . .
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
4
5
6
.
.
.
.
.
10
10
11
12
12
13
.
.
.
.
.
.
.
.
17
17
18
19
22
23
24
24
25
.
.
.
.
.
.
.
27
29
30
31
31
31
32
.
.
.
.
.
.
.
32
32
34
37
39
39
41
41
Note : la présence dans la marge de droite de Modif, comme ici, indique une correction par rapport
à la version donnée. Cela vous permet de corriger les erreurs et ainsi d’éviter d’imprimer un nouvel
exemplaire.
1 Les outils de modélisation pour les options
1.1 Options 1
Une option est le droit (mais pas l’obligation) d’acheter (option d’achat ou call) ou de vendre
(option de vendre ou put) des actifs –risqués– à un prix convenu (prix d’exercice ou strike) et
durant une période spécifiée (période d’exercice) ou jusqu’à une date convenue (date d’exercice).
L’ actif sous-jacent est lié à un stock, un paquet d’actions d’une compagnie, un indice (Dow Jones,
etc), une monnaie, des matières premières, etc.
Une option est un contrat entre deux partis sur la négoce de l’actif a un temps futur. Un des
partis est le vendeur (the writer), souvent une banque, qui fixe les termes du contrat et qui vend
les options. L’autre est le détenteur (the holder) qui achète l’option au prix du marché, appelé
prime ou premium. Comment calculer au plus juste la valeur d’une option ?
Les options courent durant un temps limité, la date d’échéance ou maturity date T . À cette
date les droits du détenteur expirent, et pour t > T l’option ne vaut plus rien. Une option d’achat
(call) donne le droit au détenteur d’acheter à un prix entendu K à la date T . Une option de vente
(put) donne le droit au détenteur de vendre à un prix entendu K à la date T . Le prix convenu K
du contrat est le prix d’exercice ou strike. Il est important de souligner que le détenteur n’est pas
obligé d’exercer, i.e. de vendre ou d’acheter.
On distingue principalement les options européennes et américaines. Pour une option européenne l’exercice de l’option n’est possible qu’à la date d’échéance tandis que pour une option
américaine l’exercice peut se faire durant toute la période t ≤ T . Les options américaines sont
plus délicates à traiter du point de vue numérique et théorique.
La valeur d’une option sera notée V . La valeur de V dépend du prix à l’unicité du sous-jacent,
noté S. La lettre S signifie le stock qui est l’exemple type l’actif sous-jacent. Cette quantité S
dépend du temps t : S(t ) ou S t . La valeur d’une option dépend du temps qui reste à courir jusqu’à
la maturité : T − t . Ainsi V dépend de S et t : V (S, t ). Il est très difficile de définir et de calculer
une juste valeur de V pour une option à t < T . Mais il est facile de déterminer la valeur terminale
de V à la date d’expiration t = T . Dans ce qui suit nous nous mettons à la place du détenteur.
La fonction payoff
V
K
S
F IGURE 1 – valeur intrinsèque d’un call (fonction payoff)
Pour un call européen, si à la date T on a S < K le détenteur de l’option ne l’exerce pas (sinon
il perd de l’argent), d’où V = 0 si S T < K . Si S T > K alors le gain (hors prime payée pour acquérir
1. ce que j’ai compris ou presque
2
Modif
l’option) est S T − K . Donc pour un call
V (S T , T ) = max(S T − K , 0) = (S T − K )+ .
(1)
V
K
K
S
F IGURE 2 – valeur intrinsèque d’un put (fonction payoff)
Pour un put européen, l’exercice n’a lieu que si S T < K , la fonction payoff sera
V (S T , T ) = (K − S T )+ .
(2)
V
K
K
S
F IGURE 3 – Diagramme du profit
Dans les figures 1 et 2 nous n’avons pas tenu compte du profit. En effet le détenteur a acheté
l’option, (premium) et éventuellement les coûts de transaction. Comme ces sommes sont payées
à t 0 , l’actualisation donne un coefficient multiplicateur de profits ne correspond pas aux figures
1 ou 2 et induit exp(r (T − t 0 )), où r est le taux moyen. Ainsi le diagramme donne un profit négatif
pour certaines valeurs de S, voir par exemple la figure 3.
Pour un call américain on a la même formule (mais pour tout t ≤ T ), V (S, t ) = (S t − K )+ . Pour
un put américain : V (S, t ) = (K − S t )+ .
Bornes a priori
Le principe de non arbitrage est à la base de la détermination des actifs financiers (dans un
marché idéal). L’arbitrage est la possibilité avec un investissement nul d’avoir un gain financier.
Ce principe va donner des bornes sur la valeur de nos call, put, américain, européen.
Par exemple si un put américain a une valeur strictement inférieur au payoff. Si V < 0 ceci
contredit la définition d’une option. Ainsi V ≥ 0 et S et V sont dans le triangle de la figure 2 :
S < K et 0 ≤ V < K − S. Ce scénario permet une stratégie d’arbitrage : emprunter la somme de
S +V et acheter à la fois l’actif et le put. Il suffit alors de revendre immédiatement le put, vendant
l’actif sous-jacent au prix K (le strike). Le profit est alors K − S − V > 0, ce qui est en conflit avec
le principe de non arbitrage. On en déduit que
(3)
VPAm (S, t ) ≥ (K − S)+ pour tout S, t .
3
De façon similaire
(4)
VCAm (S, t ) ≥ (S − K )+ pour tout S, t .
Tout le monde aura deviné la signification de VCAm , VPAm , VCEur et VPEur .
Il y a d’autres propriétés. Si C ou P n’est pas spécifié la propriété est valide pour un call et un
put. Pour Am et Eur , c’est le côté européen ou américain qui est concerné.
0 ≤ VC (S t , t ) ≤ S t
V
0 ≤ VP (S t , t ) ≤ K
Eur
(S t , t ) ≤ V Am (S t , t )
S t − K ≤ VCAm (S t , t )
K − S t ≤ VPAm (S t , t )
VPEur (S t , t ) ≤ K exp(−r (T − t )).
Si on tient compte d’un dividende δ (δ = 0 dans le cas où aucun dividende n’est payé), la parité
call-put entraîne
S t exp(−δ(T − t )) − K exp(−r (T − t )) ≤ VC (S t , t )
K exp(−r (T − t )) − S t exp(−δ(T − t )) ≤ VP (S t , t )
Quand aucun dividende n’est payé jusqu’à T les valeurs d’un call et d’un put européen vérifient
une propriété plus forte, toujours à cause de la parité put-call
S + VPEur − VCEur = K exp(−r (T − t )).
En effet dans le cas contraire une stratégie d’arbitrage est possible (à montrer/comprendre).
Remarque 1. Ces encadrements seront utiles pour déterminer les conditions sur le bord de nos
EDP.
Paramètres
Nous avons déjà vu que V dépend de S, t et T . Il y a évidemment d’autres paramètres qui interviennent dans le marché. Les principaux que nous utiliserons seront r le taux d’intérêt annuel
(sans risque) et σ la volatilité du prix de l’action. La volatilité mesure les fluctuations : plus les
fluctuations sont importants plus la volatilité est grande (et plus il est difficile de prévoir).
Le temps est mesuré en année. Le taux r et la volatilité σ sont « par an ». Ceci est une simplification car dans le marché réel ces deux données sont mises à jour de façon continue.
La date d’achat de l’option est t 0 mais souvent nous supposerons t 0 = 0 et ainsi 0 ≤ t ≤ T .
1.2 Modèle du marché financier
Vous avez dit « Black et Scholes » ? Fisher Black et Myron Scholes ont proposé en 1973 ce
« désormais célèbre modèle ». Comme c’est un modèle ils sont partis des hypothèses
– le prix du sous-jacent suit un mouvement brownien géométrique
– la volatilité est connue à l’avance et est constante
– il est possible d’acheter et de vendre le sous-jacent à tout moment et sans frais
– les ventes à découvert sont autorisées (on emprunte pour acheter une certaine quantité de
sous-jacent pour la vendre)
– il n’y a pas de dividende
– le taux d’intérêt est connu à l’avance et est constant
4
– l’exercice de l’option ne peut se faire qu’à la date d’échéance et pas avant (option européenne)
Partant du fait que S suit une EDS (équation différentielle stochastique)
d S t = µS t d t + σS t DWt ,
où Wt est le brownien géométrique, à l’aide du calcul d’Itô et des hypothèses faites dans la modélisation nous arrivons à l’EDP (équation aux dérivées partielles)
∂V 1 2 2 ∂2V
∂V
+rS
+ σ S
−rV = 0
2
∂t
2
∂S
∂S
(5)
C’est un modèle continu et une condition finale est nécessaire (valeur de V à la date d’échéance :
payoff) :
(
(S T − K )+ si call
(6)
V (S, T ) =
(K − S T )+ si put
Le domaine des variables S et t est évidemment S > 0 , 0 ≤ t ≤ T . Pour résoudre une EDP il
est généralement nécessaire d’avoir des conditions sur le bord ou des conditions limites. Comme
c’est un problème à donnée finale fixée, ces conditions aux limites sont faites sur S. Par exemple
pour un call européen
(7)
VCEur (0, t ) = 0 VCEur (S, t ) ≈ S − K exp(−r (T − t )) quand S tend vers l’infini.
Dans certains cas, une condition en l’infini plus simple est
(8)
vCEur (S, t ) ≈ S quand S tend vers l’infini.
Remarque 2. Montrer que les deux approximations de VCEur (S, t ) quand S tend vers l’infini se
déduisent de la parité call-put et de la propriété « naturelle » VP (S, t ) tend vers 0 quand S tend
vers l’infini.
La transformation d’une EDS en EDP n’est pas très facile. L’EDP « Black et Scholes » est linéaire en V . Il est très amusant de constater (voir plus tard) qu’à un changement de variables
près cette EDP se ramène à l’équation de la chaleur dont on connaît la solution analytique et
un tas de propriétés (effet régularisant, résolution numérique, etc). Une non linéarité intervient
tout de même avec la fonction payoff. Si dans la modélisation on enlève l’hypothèse « sans frais »,
« possibilité de vente à découvert » sans restriction l’EDP ne sera plus linéaire par contre. Un tel
modèle reflète certainement mieux la réalité mais alors la résolution analytique est presque impossible et l’approximation numérique plus délicate aussi. On peut aussi supposer que le taux r
et la volatilité dépendent en réalité du temps t , ce qui est plus pertinent du point de vue de la
réalité du marché.
1.3 Méthodes numériques
Comme initialement la modélisation part d’un mouvement brownien géométrique, une première méthode numérique est la méthode de Monte-Carlo. Pour cela il faut l’artillerie probabiliste et des générateurs aléatoires de qualité. Le premier point est la simulation du Brownien géométrique et la qualité des générateurs aléatoires a une influence sur la qualité de cette simulation
(peut se voir pour des simulations « longues »).
Comme on part d’une EDS pour arriver à une EDP, une deuxième méthode numérique consiste
à utiliser l’artillerie « analyse numérique des EDP » avec
5
– méthode des différences finies : simple à programmer, facile à comprendre mais peu précise pour certaines EDP
– méthode des éléments finies (hors propos)
– méthode des volumes finis (hors propos)
– autre ?
Il est intéressant de noter que fondamentalement la finance est un monde discret (par opposition à continu), que les modèles donnent des problèmes continus et que l’approximation
numérique passent par une discrétisation du domaine de (S, t ). Dans la figure 4, à gauche une
discrétisation type uniforme pour une méthode de différences finies, tandis qu’à droite une grille
type « arbre » utilisé dans le modèle binomial. À ces modélisations s’ajoutent les erreurs de calcul
des ordinateurs.
t
t
T
T
∆t
∆t
0
0
S
S
F IGURE 4 – Domaines (S, t ) discrétisés
1.4 Le modèle binomial
Pourquoi ne pas commencer avec un modèle discret plutôt que les modèles continus qui
seront étudiés (en détail) par la suite ? Le modèle binomial est du à Cox, Ross et Rubinstein (1977)
et est encore appelé méthode (ou modèle) CRR. Il est robuste et largement applicable.
Dans la pratique on a souvent besoin d’une seule valeur V (S 0 , 0), celle de l’option pour le prix
courant immédiat S 0 . Il n’est pas alors nécessaire de calculer V (S, t ) sur tout un domaine (même
discrétisé) (ce que font les méthodes de différences finies) : beaucoup de calcul pour une seule
valeur demandée. La méthode CRR est basée sur une grille de type arbre binaire avec des règles
appropriées à chaque noeud (ou point de la grille). La grille est construite par la méthode et pas
prédéfinie, elle ressemble à celle de droite dans la figure 4.
Modèle discret
Commençons une discrétisation en temps, t 0 , t 1 , . . . , t M une discrétisation équidistante. Avec
6
les notations
M : nombre d’intervalle de temps
T
M
t i = i · ∆t ,
∆t =
S i = S(t i )
0≤i ≤M
Le domaine (S, t ) est semi-discrétisé dans un premier temps. L’étape suivante est de remplacer sur chaque ligne de temps t i , S i par des valeurs discrètes S j i pour des valeurs appropriées de
j.
Nous ferons les hypothèses suivantes
(Bi1)
Le prix sur chaque période de temps ∆t ne peut avoir que deux possibilités
d’évolution : augmente et passe Su ou diminue et passe à Sd . Ici u est le facteur d’augmentation et d le facteur de diminution
(Bi2)
La probabilité d’un mouvement « augmentation » est p : P(↑) = p
t
t + ∆t
ti +1
Sd
Su
S i +1
p
1−p
t
ti
S
0
S i +1
S
F IGURE 5 – Principe de la méthode binomiale
Les hypothèses (Bi1) et (Bi2) reflètent le caractère binomial du modèle, voir figure 5. Il faut
maintenant déterminer les valeurs de p, u et d . Pour cela une troisième hypothèse est nécessaire
qui reflète le comportement de S
(Bi3)
L’espérance et la variance de S sont celles du modèle continu évalué sans
risque avec un taux d’intérêt r .
Nous supposerons qu’il n’y pas de dividende, cela simplifie la dérivation du modèle.
Dérivation des équations
Nous avons donc d’une part
E (S i +1 ) = pS i u + (1 − p)S i d
et d’autre part, grâce à (Bi3)
E (S i +1 ) = S i exp(r ∆t ).
7
Ainsi u et d vérifie l’équation
(9)
exp(r ∆t ) = pu + (1 − p)d
soit p =
exp(r ∆t ) − d
.
d −u
Une condition (naturelle du point de vue de la finance) sera donc, pour avoir 0 ≤ p ≤ 1.
d ≤ exp(r ∆t ) ≤ u.
Utilisons l’information sur la variance. En utilisant le côté « binomial » et (Bi3) nous avons (un
peu de calcul !)
exp(2r ∆t + σ2 ∆t ) = pu 2 + (1 − p)d 2 .
Il reste à compléter par une troisième équation. Une hypothèse plausible est une symétrie entre
l’augmentation et la diminution, ce qui conduit à
(10)
ud = 1
Remarque 3. Selon les hypothèses faites les valeurs/équations de u, d et p varient. Dans certains
cas p est fixée 1/2, ou encore ud ne vaut pas nécessairement 1, etc. Le principe est bien sûr le
même une fois déterminer les paramètres u, d et p.
Une fois les paramètres u, d et p déterminés, la grille type arbre est construite avec la règle.
Comme l’illustre la figure 6 en deux étapes, 3 valeurs différentes de S i +2 sont calculées (Sud =
Sd u !).
Sd 2
Su 2
Sd u
Su
Sd
S
F IGURE 6 – le schéma pour 2 étapes
Résolution des équations
La résolution est laissée à titre d’exercice. En notant α = exp(r ∆t ), u est solution de
0 = u 2 − u(α−1 + α exp(σ2 ∆t )) + 1.
Comme u > 1 on aboutit alors à
(11)
1
β = (exp(−r ∆t ) + exp(r + σ2 )∆t )
2
q
u = β + β2 − 1
q
d = 1/u = β − β2 − 1
p=
exp(r ∆t ) − d
.
u −d
8
p
p
Remarque 4 (exercice). Montrer que u = exp(σ ∆t ) + O( (∆t )3 ).
Phase préliminaire : construction de l’arbre
Même si la discrétisation ne mène pas à une matrice pour S, S 0 sera notée S 00 et on obtient
les valeurs S j i pour 1 ≤ i ≤ M et 0 ≤ j ≤ i :
pour tout i ∈ {1, . . . , M } on calcule
S j i = S 0 u j d j −i ,
j ∈ {0, 1, . . . , i }.
Ainsi la grille (t i , S j i ) est fixée et le but est de calculer V (t i , S j i ).
Calcul de l’option, évaluation de l’arbre
Rappelons que nous partons de t M : V (S, t M ) est connu, c’est la fonction payoff. Ce payoff est
valide pour tous les S (discrétisés bien sûr), cela définit V j M :
(12)
VjM =
(
(S j M − K )+
+
(K − S j M )
si call
si put.
La « remontée dans le temps » permet de calculer pour t M −1 , . . . , t 0 la valeur de l’option. La formule récursive est basé sur l’hypothèse Bi3. Pour une option européenne, en répétant l’argumentation qui a mène à (9) on obtient
S j i exp(r ∆t ) = pS j i u + (1 − p)S j i d
et
S j i exp(r ∆t ) = pS j +1,i +1 + (1 − p)S j ,i +1 .
L’hypothèse (Bi3) donne alors
(13)
V j i = exp(−r ∆t )(pV j +1,i +1 + (1 − p)V j ,i +1 ).
À la fin on obtient la valeur V00 sensée être une approximation de V (S 0 , 0). On peut démontrer
que tout se passe bien, i.e. si M → +∞ alors V00 tend vers V (S 0 , 0). Pour ce faire on démontre la
convergence vers la solution de l’EDP de Black et Scholes. La question intéressante est la vitesse
de convergence et/ou la précision.
Pour une option américaine il y a juste la formule (13) à changer. En effet il faut tenir compte
du fait que le détenteur peut exercer son option pour tout t ∈ [0, T ]. Au temps t j il y a deux choix
{ exercer, continuer}
selon que l’un ou l’autre est préférable. Le détenteur choisit le « maximum », i.e.
max{payoff(S j i ), V jcont
}.
i
On modifiera donc (13) de la façon suivante (un test à faire)
(
max{(S j i − K )+ , exp(−r ∆t )(pV j +1,i +1 + (1 − p)V j ,i +1 )}
(14)
Vji =
max{(K − S j i )+ , exp(−r ∆t )(pV j +1,i +1 + (1 − p)V j ,i +1 )}
si call
si put
Exercice 5. Regrouper tout ce qui précède en un seul paragraphe tenant d’algorithme. Implémenter un des cas (celui de l’exemple qui suit). Dans le cas d’option européenne, il faut remarquer
que le stockage des valeurs S j i et V j i n’est pas nécessaire et évite donc une place importante
en mémoire. Cette optimisation est intéressante pour tester de grande valeurs M . Pour l’option
américaine il faut procéder autrement, mais comme on connaît la valeur de S j i aucun stockage
n’est nécessaire non plus.
9
Exemple 6 (exercice, un put européen). On prend K = 10, S = 5, r = 0.06, σ = 0.3 et T = 1. Effectuer plusieurs simulations pour les valeurs de M du tableau ci-dessous (on donne aussi les
résultats ainsi que V (5, 0) suivant l’EDP de Black et Scholes). Selon les arrondis de votre outil,
vous pouvez avoir des décimales supplémentaires.
M
V M (5, 0)
8
4.42507
16
4.42925
32
4.429855
64
4.429923
4.430047
128
256
4.430390
4.430451
2048
Black et Scholes 4.43046477621
Pour les plus courageux mettre en évidence que l’erreur est en O(M −1 ).
Exemple 7 (exercice). On prend K = 50, S = 50, r = 0.1, σ = 0.4, T = 0.41666 · · · (5/12 pour 5 mois)
et M = 32. Pour M = 32 on trouve V0 = 4.2719.
Remarque 8. Le paiement d’un dividende peut être incorporé dans la méthode binomiale. C’est
un bon exercice.
Le modèle trinomial est une extension du modèle binomial et possède l’avantage d’être plus
précis. C’est un bon exercice.
2 Black et Scholes analytique
2.1 Généralités sur les EDP
Une EDP (équations aux dérivées partielles) est une (ou plusieurs) équation(s) où l’inconnue est une (ou plusieurs) fonction(s) de plusieurs variables et où interviennent des dérivées
partielles de cette fonction. Selon les cas cette équation doit être complétée de conditions aux
limites, d’une condition initiale, etc.
D’une façon générale on se place dans Ω un ouvert de RN et on distingue au moins trois
catégories
– problème elliptique dont le cas modèle est le problème de Dirichlet
−∆u = f dans Ω,
u = 0 sur ∂Ω.
∂Ω désigne le bord (la frontière de l’ouvert) et ∆u le laplacien de u : ∆u =
équation se généralise (sans trop de difficulté) aux équations du type
−
X
a i j (x)
1≤i , j ≤N
∂2 u
i =1 ∂x i2 .
PN
Cette
∂2 u
+ c(x)u = f ,
∂x i x j
où la matrice A = (a i j ) est définie positive, avec des conditions sur c. Sur le bord on peut
fixer les conditions dite de Dirichlet homogène (u = 0 sur le bord), de Dirichlet non homogène (u = g sur le bord où g est une donnée), de Neumann homogène ( ∂u
∂n = 0 la dérivée
normale sur le bord), etc. Ces conditions ont une signification physique. Par exemple pour
une poutre encastrée, la théorie des petites déformations permet de montrer que le déplacement vérifie une EDP elliptique avec Dirichlet homogène (pas de déplacement sur le
bord, la poutre est encastré). Dans une équation qui modélise un problème de population
d’une espèce sur une île (l’ouvert), la condition de Neumann signifie qu’aucun spécimen
de l’espèce étudiée ne sort de l’île (pas de transfert entre l’intérieur et l’extérieur).
10
– problème parabolique dont le cas modèle est l’équation de la chaleur

∂u


t ∈ (0, T ), x ∈ Ω

 ∂t − ∆u = f
u(t = 0) = u 0 dans Ω (donnée initiale)



u = 0
sur (0, T ) × ∂Ω (condition sur le bord)
Par rapport au cas précédent on ajoute la variable t (le temps), une condition initiale (c’est
un problème d’évolution), et l’opérateur ∂u
∂t .
– problème hyperbolique.
– ordre 1 (problème de transport)

 ∂u + a(t , x) ∂u = f (0, T ) × R
∂t
∂x

u(t = 0) = u 0
– ordre 2 (équation des ondes)
 2
∂ u
− ∆u = 0
∂t 2

donnée initiale
Chaque « catégorie » provient de situation physique/mécanique différente et possède des propriétés spécifiques. Généralement donner une expression simple de la solution d’une EDP est
illusoire. Dans certains cas on peut espérer une expression sous forme intégrale, analytique, de
séries de Fourier, etc. Ajoutons que dans la « vraie vie » les équations peuvent être non linéaires !
La théorie mathématique pour comprendre ces équations est très large et utilise entre autres les
espaces de Hilbert, les espaces de Sobolev, l’analyse fonctionnelle, la géométrie différentielle, etc.
2.2 De Black et Scholes à l’équation de la chaleur
Rappelons notre équation de Black et Scholes (ici pas de dividende)
(15)
∂V 1 2 2 ∂2V
∂V
+rS
+ σ S
−rV = 0
2
∂t
2
∂S
∂S
et l’équation de la chaleur en dimension 1 (sans terme source)
∂u ∂2 u
=0
−
∂t ∂x 2
(16)
et montrons qu’à quelques changements de variables près ces deux problèmes sont identiques !
Exercice 9. On pose S = K exp(x), t = T −
2τ
2r
,q= 2
σ2
σ
V (S, t ) = V (K exp(x), T −
2τ
) = v(x, τ)
σ2
et enfin
¡ 1
¢
1
v(x, τ) = K exp − (q − 1)x − (q + 1)2 τ y(x, τ).
2
4
Montrer que la fonction y ainsi définie est solution de
∂y ∂2 y
−
=0
∂τ ∂x 2
sur [0, T ] × R. On prêtera attention au domaine.
Remarque 10. Ceci confirme le caractère « universel » de l’équation de la chaleur.
11
2.3 Transformations importantes de l’équation de la chaleur
Avant de donner la formulation analytique de la solution de l’équation de la chaleur, donnons quelques transformations qui donnent un avant goût des propriétés. Pour faire simple nous
nous plaçons en dimension 1. Soit u(t , x) une solution de l’équation de la chaleur sans second
membre,
∂u
∂2 u
−D 2 = 0
∂t
∂x
(17)
où D > 0 est fixé.
– Renversement du temps. La fonction v(t , x) = u(−t , x) (changement de variable t → −t ) est
solution de l’équation rétrograde (backward)
∂v
∂2 v
+ D 2 = 0,
∂t
∂x
par opposition à (17) équation progressive (forward).
– Invariance par translation en temps et en espace. Il est aisé de vérifier que v(t , x) = u(t −
s, x − y), où s et y sont deux constantes est encore solution de (17).
– Dilatation parabolique. Les transformations
x 7→ ax,
t 7→ bt ,
u 7→ cu,
avec a, b, c > 0 représentent une dilatation (ou une contraction) du graphe de u (un objet à
3 dimensions : (t , x, u(t , x)). La fonction
u ∗ (t , x) = cu(bt , ax)
est encore solution de (17) sous certaines conditions sur a, b et c. En effet
2
∂u ∗
∂u
∂2 u ∗
2 ∂ u
=
cb
(bt , ax) = 0
−D
(bt
,
ax)
−
c
a
D
∂t
∂x 2
∂t
∂x 2
si et seulement si
b = a2.
Il faut remarquer que b = a 2 représente l’équation d’une parabole. Ceci n’est pas étranger
au nom « parabolique » attribué à l’équation de la chaleur.
2.4 Solution analytique de l’équation de la chaleur
Oui il est possible de donner une expression de la solution de
(18)

∂2 u
 ∂u
− c2 2 = 0
∂t
∂x

u(0, x) = g (x)
dans [0, T ] × R
donnée, x ∈ R.
Ici c 6= 0 et cette équation modélise l’évolution de la température dans une barre infinie (ligne R).
Au temps t = 0, la répartition de la température est donnée par f . La théorie de la transformée
de Fourier permet de montrer que, pour g suffisamment régulière, l’unique solution de (18) est
donnée par
Z ∞
¡ (x − y)2 ¢
1
g (y) exp −
d y.
u(t , x) = p
4c 2 t
2c πt −∞
12
Exercice 11. Sans se préoccuper de « puis–je dériver sous le signe intégrale ? » ni de la condition
initiale vérifier que la solution donnée précédemment vérifie l’équation (18). Montrer que u(t , x)
vérifie u(0, x) = 0 est plus délicat et se fait en passant à la limite t → 0 dans la formule et en
¡
¢
R∞
p
utilisant −∞ exp − y 2 /4 d y = 2 π.
Ajouter un second membre (un terme source) est possible. La solution de

2
 ∂u ∂ u
− 2 = f (t , x) dans [0, T ] × R
(19)
∂t ∂x

u(0, x) = g (x)
donnée, x ∈ R.
pour f et g suffisamment régulières, est unique et s’écrit
Z ∞
¡ (x − y)2 ¢
1
u(t , x) = p
g (y) exp −
dy
4t
2 πt −∞
(20)
Z ∞
Z t
¡ (x − y)2 ¢
1
f (s, y) exp −
d yd s.
+
p
4(t − s)
0 2 π(t − s) −∞
Dans cette formule on « voit » bien le côté linéaire de l’équation avec le premier terme qui correspond à l’équation sans terme source et le second qui correspond à l’équation avec source et
donnée initiale nulle. La formule (20) se généralise pour une équation de la chaleur en dimension
N (RN au lieu de R).
Remarque 12. Voici quelques propriétés
– Principe du maximum (si g et f positives alors u positives). Ce qui nous donne un principe
de comparaison et aussi
Z ∞
¡ (x − y)2 ¢
1
inf g (x) ≤ p
g (y) exp −
d y ≤ sup g (x)
x∈R
4c 2 t
2c πt −∞
x∈R
– Le signal se propage à vitesse infinie. Plus précisément si g (donnée initiale, non nulle) est
positive et à support compact alors la solution est strictement positive pour t > 0 et n’est
donc pas à support compact pour t > 0.
– Effet régularisant. Pour tout t > 0 la solution u est indéfiniment dérivable en t et x.
– Le « suffisamment régulier » pour appliquer cette théorie est f dans L 2 .
2.5 Formules de Black et Scholes
Dans cette section nous allons utiliser la connaissance de la solution de l’équation de la chaleur et le fait que Black et Scholes se ramène via un changement de variables à l’équation de la
chaleur pour retrouver les formules. Pour l’instant il n’est pas encore question de dividende. Ces
formules permettent de vérifier que nos simulations numériques (modèle CRR ou nos futures
différences finies) sont valides.
Pour une option européenne, V (S, t ) vérifie
∂V 1 2 2 ∂2V
∂V
+ σ S
−rV = 0
+rS
2
∂t
2
∂S
∂S
(
(S − K )+ si achat ou call
V (S, T ) =
(K − S)+ si vente ou put
D’après la sous section 2.2, on effectue les changements de variables, S = K exp(x), t = T −
q=
2r
σ2
V (S, t ) = V (K exp(x), T −
13
2τ
) = v(x, τ)
σ2
2τ
,
σ2
et on définit les fonctions v et u(τ, x) par
¢
¡ 1
1
v(x, τ) = K exp − (q − 1)x − (q + 1)2 τ u(x, τ).
2
4
Et (à quelques calculs près) u est solution de

2
2
 ∂u ∂ u
− 2 =0
sur [0, σ2 T ] × R,
∂τ ∂x

u(τ = 0, x) = u 0 (x) à déterminer,
Modif
ce qui permet d’affirmer d’après la sous section 2.4 que u s’écrit
Z ∞
¡ (x − y)2 ¢
1
(21)
u(τ, x) = p
u 0 (y) exp −
d y.
4τ
2 πτ −∞
La forme particulière de la condition terminale pour une option européenne et le changement
de variables permettent de faire le lien avec la loi normale N (0, 1) et d’obtenir les formules de
Black et Scholes.
Remarque 13. On rappelle la probabilité qu’une variable aléatoire de loi N (0, 1) soit inférieure
à x est égale à
Z x
¡ z2 ¢
1
Φ(x) = p
exp −
d z.
2
2π −∞
Nous utiliserons la fonction Φ dans la suite.
Commençons par VC (S, t ) le call
riables :
1
uC (0, x) =
K
1
=
K
1
=
K
et exprimons uC (O, x) = u 0 (x) par le changement de vaexp
exp
exp
¡1
¡1
2
¡1
2
¡1
2
¢
(q − 1)x vC (0, x)
¢
(q − 1)x VC (K exp(x), T )
¢
(q − 1)x (K exp(x) − K )+
¢
= exp (q − 1)x (exp(x) − 1)+
2
³
¡1
¢
¡1
¢´+
= exp (q + 1)x − exp (q − 1)x
2
2
Il est important de noter que
uC (0, x) =
(
¡
¢
¡
¢
exp 12 (q + 1)x − exp 12 (q − 1)x
0
si x > 0
si x ≤ 0.
Pour un put, des calculs similaires mènent à
³
¢
¡1
¢´+
¡1
u P (0, x) = exp (q − 1)x − exp (q + 1)x
2
2
(
¡1
¢
¡1
¢
exp 2 (q − 1)x − exp 2 (q + 1)x
si x < 0
=
0
si x ≥ 0.
Par substitution dans (21)
Z +∞ ³
¡1
¢
¡1
¢ ´+
¡ (x − y)2 ¢
1
exp −
dy
uC (τ, x) = p
exp (q + 1)y − exp (q − 1)y
2
2
4τ
2 πτ −∞
Z +∞ ³
¡1
¢
¡1
¢´
¡ (x − y)2 ¢
1
= p
exp (q + 1)y − exp (q − 1)y exp −
dy
2
2
4τ
2 πτ 0
Z +∞
Z +∞
¡1
¢
¡ (x − y)2 ¢
¡1
¢
¡ (x − y)2 ¢
1
1
= p
exp (q + 1)y exp −
exp (q − 1)y exp −
dy − p
dy
2
4τ
2
4τ
2 πτ 0
2 πτ 0
14
Exercice 14. Montrer que
1
p
2 πτ
+∞
Z
0
¡ ¢
¡ (x − y)2 ¢
¡
¢ ³ x + 2τα ´
.
exp αy exp −
d y = exp αx + α2 τ Φ p
4τ
2τ
Effectuer un changement de variables η =
x + 2τα − y
.
p
2τ
On obtient alors une expression pour uC ,
uC (τ, x) = exp
¡1
¢ ³ x + τ(q + 1) ´
¡1
¢ ³ x + τ(q − 1) ´
1
1
(q + 1)x + (q + 1)2 τ Φ
− exp (q − 1)x + (q − 1)2 τ Φ
.
p
p
2
4
2
4
2τ
2τ
Pour u P des calculs analogues donnent
u P (τ, x) = exp
¡1
¢ ³ x + τ(q − 1) ´
¡1
¢ ³ x + τ(q + 1) ´
1
1
(q−1)x+ (q−1)2 τ Φ −
−exp (q+1)x+ (q+1)2 τ Φ −
.
p
p
2
4
2
4
2τ
2τ
Il est temps de revenir aux variables initiales, ce qui simplifiera les expressions ! En effet on a
2
σ
x + τ(q + 1) ln(S/K ) + (r + 2 )(T − t )
=
p
p
2τ
σ T −t
2
σ
p
x + τ(q − 1) ln(S/K ) + (r − 2 )(T − t )
x + τ(q + 1)
−σ T −t =
=
p
p
p
2τ
2τ
σ T −t
Usuellement on définit alors les quantités d 1 et d 2 par
2
ln(S/K ) + (r + σ2 )(T − t )
d1 =
p
σ T −t
2
ln(S/K ) + (r − σ2 )(T − t )
d2 =
p
σ T −t
p
d2 = d1 − σ T − t .
Par ailleurs –toujours des calculs–
¡ 1
¢
¡1
¢
1
1
K exp − (q − 1)x − (q + 1)2 τ × exp (q + 1)x + (q + 1)2 τ = K exp(x) = S
2
4
2
4
et
¡ 1
¢
¡1
¢
¡
¢
1
1
K exp − (q − 1)x − (q + 1)2 τ × exp (q − 1)x + (q − 1)2 τ = K exp − (T − t )r .
2
4
2
4
On peut donc conclure et donner les formules pour un call européen
VC (S, t ) = SΦ(d 1 ) − K e −(T −t )r Φ(d 2 )
et pour un put européen
VP (S, t ) = K e −(T −t )r Φ(−d 2 ) − SΦ(−d 1 ).
Remarque 15. On retrouve la parité call/put avec ces deux formules.
Calcul de Φ. Il reste bien sûr à calculer Φ(x). On peut par exemple, utiliser une table de la loi
normale N (0, 1), l’interpolation ou encore des formules de quadrature. Une méthode courante
consiste à définir
1
,
z=
1 + 0.2316419x
15
a 1 = 0.319381530,
a 2 = −0.356563782,
a 4 = −1.821255978,
a 3 = 1.781477937
a 5 = 1.330274429
et d’approcher Φ(x) par
(
1 − Φ0 (x)(a 1 z + a 2 z 2 + a 3 z 3 + a 4 z 4 + a 5 z 5 )
1 − Φ(−x)
On rappelle que Φ0 (x) =
commise, ε(x), vérifie
p1 exp
2π
¡
si x ≥ 0
si x < 0
− x 2 /2 et par symétrie de Φ0 que Φ(x) + Φ(−x) = 1. L’erreur
¢
|ε(x)| < 7.5 × 10−8
∀x ∈ R.
Une fois la valeur de z calculée, la méthode d’Horner minimise le nombre d’opérations élémentaires nécessaires au calcul de cette approximation. Avec des méthodes plus complexes il est possible de faire mieux. Voici deux autres méthodes moins précises :
£
¤−1
Φ(x) ≈ 1 − 0.5 1 + 0.19685x + 0.115194x 2 + 0.000344x 3 + 0.119527x 4

³ x2
281 ´


1
−
0.5
exp
−
−


2 83 + 351
x
Φ(x) ≈
³
2

x
281 ´


−
0.5 exp −
2 83 − 351
x
si x ≥ 0
si x < 0
Exercice 16. Comparer les trois approximations et celle du logiciel de votre choix.
Exemple 17. À six mois de l’échéance d’une option, le cours de l’action du sous-jacent est 42€, le
prix de l’exercice de l’option est de 40€, le taux d’intérêt sans risque 10% et la volatilité annuelle
20%.
Exemple 18. Comparer les valeurs données dans l’exemple 6 (méthode CRR).
Avec un dividende.
Si on suppose qu’il y a versement d’un dividende, la modélisation consiste à ajouter dans
l’équation différentielle stochastique une diminution de δS sur un intervalle de temps infinitésimal d t :
d S t = (r − δ)S t d t + σS t DWt .
Ceci ne complique pas l’EDP :
∂V 1 2 2 ∂2V
∂V
+ σ S
+ (r − δ)S
−rV = 0
∂t
2
∂S 2
∂S
Quant aux formules de Black et Scholes on a pour un call européen à t = 0
(22)
VC (S, t ) = Se −δT Φ(d 1 ) − K e −(T −t )r Φ(d 2 )
et pour un put européen
VP (S, t ) = K e −(T −t )r Φ(−d 2 ) − Se −δT Φ(−d 1 ),
Avec
2
ln(S/K ) + (r − δ + σ2 )(T − t )
d1 =
p
σ T −t
2
ln(S/K ) + (r − δ − σ2 )(T − t )
d2 =
p
σ T −t
p
d2 = d1 − σ T − t .
16
Exemple 19. L’indice du marché est évalué à 2720 avec un taux de dividende de 2%. Le taux
sans risque est de 5.5%, la volatilité est 10%. Déterminer la valeur du call de prix d’exercice 2780
expirant dans 3 mois et écrit sur l’indice du marché.
De Black & Scholes avec dividende à l’équation de la chaleur. Le fait que l’équation avec dividende
∂V 1 2 2 ∂2V
∂V
+ σ S
+ (r − δ)S
−rV = 0
∂t
2
∂S 2
∂S
contienne les termes (r − δ)S et −r V modifie sensiblement le changement de variables qui transforme cette équation en l’équation de la chaleur. Il y a juste une variable supplémentaire qui
intervient. On pose
S = K exp(x),
t =T −
2τ
,
σ2
q=
V (S, t ) = V (K exp(x), T −
2r
,
σ2
qδ =
2(r − δ)
σ2
2τ
) = v(x, τ)
σ2
et enfin
¡ 1
¢
1
v(x, τ) = K exp − (q − 1)x − ( (q δ − 1)2 + q)τ y(x, τ).
2
4
Alors la fonction y ainsi définie est solution de
∂y ∂2 y
=0
−
∂τ ∂x 2
2
sur [0, σ2 T ] × R. C’est juste un petit calcul !
Pour une option européenne avec dividende on obtient la parité call/put
(23)
¡
¢
¡
¢
S exp − δ(T − t ) + VP (S, t ) − VC (S, t ) = K exp − r (T − t ) .
Pour la preuve on peut utiliser directement les formules ou faire le changement de variables S =
¡
¢
S̄ exp δ(T − t ) qui transforme Black et Scholes en une version sans dividende pour laquelle on
applique la parité call/put.
3 Différences finies
3.1 Généralités
Les différences finies consistent à résoudre une version discrète de l’EDP sur une grille (comme
par exemple la figure 4 à gauche) en remplaçant les dérivées partielles par des approximations
discrètes du type différence progressive, centrée, rétrograde, etc. Si l’EDP est linéaire on obtient
alors un système linéaire à résoudre, ce qui est bien connu. Il existe des librairies spécifiques pour
traiter la résolution de systèmes linéaires de grande taille éventuellement, ces librairies sont optimisées, performantes.
On suppose que u(t , x) t ∈ R, x ∈ R est suffisamment régulière. Comment approcher ∂u
∂t (t , x)
et quelle erreur de consistance ou de troncature est commise ? L’idée vient de la définition de
∂u
∂t (t , x) :
∂u
u(t + h, x) − u(t , x)
(t , x) = lim
.
h→0
∂t
h
À l’aide des développements de Taylor on obtient
17
Modif
– différence progressive pour
(24)
t − k < t̄ < t
∂u
∂x
x − h < x̄ < x + h
∂2 u
∂x 2
∂2 u
u(t , x + h) − 2u(t , x) + u(t , x − h) h 2 ∂4 u
−
(t , x̄),
(t
,
x)
=
∂2 x
h2
12 ∂x 4
– différence centrée pour
(28)
t < t̄ < t + k
:
∂u
u(t , x + h) − u(t , x − h) h 2 ∂3 u
(t , x̄),
(t , x) =
−
∂x
2h
6 ∂x 3
– différence centrée pour
(27)
∂u
∂t
∂u
u(t , x) − u(t − k, x) k ∂2 u
(t , x) =
+
(t̄ , x),
∂t
k
2 ∂t 2
– différence centrée pour
(26)
:
u(t + k, x) − u(t , x) k ∂2 u
∂u
(t , x) =
−
(t̄ , x),
∂t
k
2 ∂t 2
– différence rétrograde pour
(25)
∂u
∂t
x − h < x̄ < x + h
∂2 u
∂x∂t
Modif
∂2 u
u(t + k, x + h) − u(t − k, x + h) − u(t + k, x − h) + u(t − k, x − h)
(t , x) =
∂x∂t
4hk
h 2 ∂4 u
k 2 ∂4 u 0 0
−
(t̄ , x̄) −
(t , x )
6 ∂x 3 ∂t
6 ∂t 3 ∂x
Modif
avec x − h < x̄, x 0 < x + h et t − k < t̄ , t 0 < t + k.
Dans chaque formule la régularité nécessaire est celle qui correspond à la dérivée partielle
pour l’erreur de troncature. Il existe d’autres formules pour ∂u
∂x par exemple, ce choix se fait en
fonction de l’équation (la nature de l’équation fait qu’une différence rétrograde sera préférable à
une différence centrée) et de l’erreur de troncature voulue.
Exercice 20. Démontrer 4 de ces égalités.
Les différences finies ne permettent pas d’approcher la solution sur un intervalle infinie (c’est
généralement le cas des méthodes numériques). On se place donc sur (t , x) ∈ [0, T ] × [a, b] avec
a < b. Pour M ∈ N∗ et N ∈ N∗ , on pose
(29)
(30)
(31)
T
b−a
h = ∆x =
,
M +1
N +1
tj = jk 0 ≤ j ≤ M +1
k = ∆t =
x n = a + nh
0 ≤ n ≤ N +1
et nous définissons U j ,n sensé être une approximation de u(t j , x n ). k = ∆t est le pas de discrétisation en temps tandis que h = ∆x est celui en espace. L’équation discrète sera obtenue en écrivant
l’EDP en (t j , x n ) et en remplaçant les dérivées partielles par les différences (24)–(28) (sans l’erreur
de troncature).
3.2 Différences finies pour l’équation de la chaleur
Comme notre équation « source » est celle de l’équation de la chaleur nous allons étudier trois
schémas numériques, leur consistance, leur stabilité. Pour l’équation de Black et Scholes nous
18
Modif
aurons donc le choix entre « équation de la chaleur + changement de variables » et « différences
finies en les variables originelles » (directement sur l’équation via les formules (24)–(28)).
Par rapport à l’évolution de la température dans la barre infinie il faut dans un premier temps
comprendre que sans condition sur le bord la solution ne sera pas unique. Pour cela il suffit de
prendre deux conditions initiales qui coïncident sur [0, 1], par exemple
g 1 (x) = 1,
g 2 (x) = 1[0,1]
[fonction caractéristique de l’intervalle [0, 1]].
Alors d’après ce qui précède, les deux fonctions
Z ∞
¡ (x − y)2 ¢
1
u 1 (t , x) = p
g 1 (y) exp −
dy =1
4t
2 πt −∞
Z ∞
Z 1
¡ (x − y)2 ¢
¡ (x − y)2 ¢
1
1
u 2 (t , x) = p
dy = p
dy
g 1 (y) exp −
exp −
4t
4t
2 πt −∞
2 πt 0
sont toutes les deux solutions (en réduisant R à [0, 1]) de

2
 ∂u ∂ u
− 2 = 0 dans [0, T ] × [0, 1]
∂t ∂x

u(t = 0, x) = 1 dans [0, 1].
Clairement u 1 et u 2 ne sont pas égales mais sont solutions d’une même équation. La raison profonde est qu’il manque des conditions dites « conditions sur le bord » pour avoir un problème
bien posé au sens mathématique (existence et unicité).
Ainsi dans la suite nous allons étudier l’approximation par les différences finies du problème

∂u ∂2 u



=f
sur [0, T ] × [a, b]
−

∂t ∂x 2
(32)
u(t = 0, x) = u 0 (x)
dans [a, b],




u(t , x = a) = α, u(t , x = b) = β ∀t ∈ [0, T ],
où f (une fonction de [0, T ] × [a, b] dans R), u 0 (une fonction de [a, b] dans R), α (un réel) et β
(un réel) sont des données. Du point de vue théorique, si f et u 0 sont suffisamment régulières
alors il existe une unique solution de (32).
3.2.1 Schéma explicite
C’est le schéma le plus simple (mais aussi celui qui pose quelques soucis de stabilité). On
utilise la différence progressive (24) et la différence centrée (27) pour écrire l’équation en un point
(t j , x n ) de la grille. Remarquons tout de suite que pour x N +1 = b et x 0 = a il n’est pas possible
d’écrire la formule (27) car on « sort » de l’intervalle [a, b]. Pour x 0 par exemple on obtient
∂2 u
u(t , a + h) − 2u(t , a) + u(t , a − h)
(t , x 0 ) ≈
.
2
∂ x
h2
Encore une fois c’est la condition aux limites qui aidera.
Donc pour 0 ≤ j ≤ M et 1 ≤ n ≤ N nous avons la traduction version différences finies
(33)
U j +1,n −U j ,n
U j ,n+1 − 2U j ,n +U j ,n−1
= f (t j , x n ).
k
h2
Comme nous avons une donnée initiale, la quantité u(t 0 , x n ) = u(0, x n ) = u 0 (x n ) est déterminée
pour tout 0 ≤ n ≤ N + 1. On pose donc
(34)
−
∀1 ≤ n ≤ N ,
U0,n = u 0 (x n ).
Comme nous avons une condition aux limites u(t j , x 0 ) = α et u(t j , x N +1 ) = β on pose
(35)
∀ j ∈ {0, . . . , M + 1} U j ,0 = α,
19
U j ,N +1 = β.
Remarque 21. Pour U0,0 et U0,N +1 nous avons en fait le choix d’utiliser la condition initiale ou la
condition aux limites. C’est absolument sans conséquence sur les simulations numériques. Par
homogénéité nous préférerons tenir compte de la condition aux limites.
Pour alléger les notations nous poserons aussi
(36)
F j ,n = f (t j , x n ).
Modif
Nous pouvons donc ré-écrire notre schéma numérique : pour tout 0 ≤ j ≤ M
(37)
(38)
U j +1,1 = U j ,1 +
¡α
¢
k
(U j ,2 − 2U j ,1 ) + k 2 + F j ,1
2
h
h
k
(U j ,n+1 − 2U j ,n +U j ,n−1 ) + kF j ,n 2 ≤ n ≤ N − 1
h2
¡β
¢
k
= U j ,N + 2 (−2U j ,N +U j ,N −1 ) + k 2 + F j ,n
h
h
U j +1,n = U j ,n +
(39)
U j +1,N
On constate assez facilement que la connaissance de U j ,n pour tout 1 ≤ n ≤ N entraîne celle de
U j +1,n pour tout 1 ≤ n ≤ N . On retrouve ici le côté « évolution » en temps de l’équation de la
chaleur.
Nous allons écrire (37)–(39) sous forme matricielle. Posons U ( j ) et F ( j ) vecteurs de RN et A la
matrice carrée triagonale de taille N :
U j ,1

 U
 j ,2 

. 

U (j) = 
 .. 


U j ,N −1 
U j ,N


(40)
 α

+ F j ,1
2
h

 F j ,2 




..
(j)


F =
.



 F j ,N −1 
β

+ F j ,N
h2


2 −1
−1 2 −1


..
..

.
.
A=


..
.




..

.



..
. −1
−1 2
Alors nous avons
U ( j +1) = (I −
(41)
k
A)U ( j ) + kF ( j ) .
h2
Définition 22 (erreur de troncature, consistance, ordre d’un schéma).
– On définit l’erreur de troncature (ou de consistance) locale pour 1 ≤ j ≤ M , 1 ≤ n ≤ N du
schéma explicite :
ε j ,n (M , N ) =
u(t j +1 , x n ) − u(t j , x n )
k
−
u(t j , x n+1 ) − 2u(t j , x n ) + u(t j , x n−1 )
h2
− f (t j , x n )
et l’erreur de troncature globale
ε(M , N ) =
max
1≤ j ≤M ,1≤n≤N
|ε j ,n (M , N )|
– Un schéma est dit consistant si
lim ε(M , N ) = 0 [rappel : M et N sont liés à ∆t et ∆x]
∆t ,∆x→0
– Un schéma est dit d’ordre p en temps et q en espace s’il existe C > 0 vérifiant pour tout
M,N
¡
¢
ε(M , N ) ≤ C (∆t )p + (∆x)q
20
Proposition 23. Si la solution u est suffisamment régulière, le schéma explicite est consistant,
d’ordre 1 en temps et d’ordre 2 en espace.
Démonstration. Exercice ! (voir (24)–(28))
Comme pour les schémas numériques des équations différentielles on définit aussi la stabilité. L’idée pour les schémas numériques liés à l’équation de la chaleur est que la solution discrète
ait le même comportement que la solution exacte. Pour l’équation sans second membre et avec
les conditions de Dirichlet homogènes

∂u ∂2 u



 ∂t − ∂x 2 = 0
u(t = 0, x) = u 0 (x)




u(t , x = a) = 0, u(t , x = b) = 0
sur [0, +∞[×[a, b]
dans [a, b],
∀t ∈ [0, ∞[,
on démontre que la solution tend vers zéro quand t temps vers l’infini. Pour une donnée bornée
à support compact la solution analytique (20) de l’équation de la chaleur sur [0, +∞[×R a un
comportement similaire (la formule permet de le vérifier aisément). Pour un schéma numérique
du type U ( j +1) = GU ( j ) on a U ( j ) = G j U (0) et un résultat –classique– d’analyse numérique affirme
que U ( j ) tend vers 0 quand j tend vers l’infini si et seulement si ρ(G) < 1 où ρ(G) désigne le rayon
spectral de la matrice G (ρ(G) = max{|λ| ; λ valeur propre de G}.
Définition 24. Un schéma pour l’équation de la chaleur qui s’écrit U ( j +1) = GU ( j ) quand le second membre est nul est dit stable si ρ(G) < 1.
Proposition 25. Le schéma explicite est stable si et seulement
∆t
1
≤
(∆x)2 2
(42)
Démonstration. Pour étudier la stabilité, on prend f = 0 et on étudie le spectre de la matrice
I − hk2 A. Il faut donc calculer les valeurs propres I − hk2 A. Or il est connu que les valeurs propres
¡
¢
k
de A sont 2 1 − cos Nnπ
+1 , 1 ≤ n ≤ N . Ainsi λ est valeur propre de I − h 2 A si et seulement si
(I −
k
A)V = λV
h2
ce qui équivaut à
AV = h 2
1−λ
V,
k
k
soit h 2 1−λ
k valeur propre de A. On en déduit que les valeurs propres de I − h 2 A sont
1−
2k ¡
nπ ¢
1
−
cos
,
h2
N +1
1 ≤ n ≤ N.
En étudiant l’expression précédente on conclut que
∀N , ∀1 ≤ n ≤ N ,
¯
2k ¡
nπ ¢¯¯
¯
¯1 − 2 1 − cos
¯<1
h
N +1
⇔
k
∆t
1
=
≤ .
h 2 (∆x)2 2
Remarque 26. Le critère de stabilité impose une relation entre la discrétisation en temps et celle
en espace, qui peut être très contraignante. Par exemple prendre ∆x = 10−2 (ce qui est raisonnable) imposera à ∆t ≤ .5 × 10−4 (ce qui est presque déraisonnable).
Maintenant la convergence de notre schéma.
21
Proposition 27. Un schéma stable et consistant est convergent. On peut montrer que si E ( j ) =
e ( j ) −U ( j ) , où U
e ( j ) est le vecteur solution exacte en t j et x n (1 ≤ n ≤ N ) alors
U
kE ( j ) k∞ ≤ C ((∆t )p + (∆x)q ),
pour un schéma d’ordre p en temps et q en espace.
Idée de la preuve. On suppose que f = 0 pour simplifier. À l’aide de l’erreur de consistance on
exprime par récurrence E ( j ) . Remarquons tout d’abord que E (0) = 0. Comme d’habitude ε( j ) est
le vecteur d’erreur de consistance. Pour tout j on a
e ( j +1) = GU
e ( j ) + kε( j )
U
U ( j +1) = GU ( j )
Modif
ce qui donne
jX
−1
E ( j ) = GE (0) + k
G j −1−l ε(l )
Modif
l =0
L’analyse numérique nous assure que si ρ(G) < 1 alors on peut majorer la norme de G j −1−l ε( j ) par
C kε( j ) k∞ , uniformément en j . Comme E (0) = 0 et comme kε( j ) k∞ ≤ C 0 ((∆t )p + (∆x)q ) on obtient
kE ( j ) k∞ ≤ k
jX
−1
l =0
CC 0 ((∆t )p + (∆x)q ) ≤ k jC 00 ((∆t )p + (∆x)q )
En prenant le maximum en j on en déduit que
max kE ( j ) k∞ ≤ k(M + 1)C 00 ((∆t )p + (∆x)q )
1≤ j ≤M +1
Rappelons que k = T /(M + 1). On obtient alors
max kE ( j ) k∞ ≤ C 00 T ((∆t )p + (∆x)q ).
1≤ j ≤M +1
Cette inégalité permet de montrer la convergence du schéma quand (∆t , ∆x) tend vers (0, 0).
Proposition 28. Le schéma explicite est convergent pour (∆t , ∆x) tend vers (0, 0) sous la condi(∆x)2
tion ∆t ≤
.
2
3.2.2 Schéma implicite
Le schéma implicite consiste à prendre pour la dérivée en temps la différence rétrograde (25)
par rapport au schéma explicite. On obtient alors
U j ,n −U j −1,n
k
−
U j ,n+1 − 2U j ,n +U j ,n−1
h2
= f (t j , x n ).
ou encore
(43)
U j +1,n −U j ,n
k
−
U j +1,n+1 − 2U j +1,n +U j +1,n−1
h2
= f (t j +1 , x n ).
Avec les mêmes notations que précédemment, ce schéma se traduit sous forme matricielle par
¡
I+
k ¢ ( j +1)
AU
= U ( j ) + kF ( j +1) .
h2
Ce schéma est dit implicite car U ( j +1) vérifie une équation en U ( j ) . Heureusement c’est un problème linéaire :
¡
k ¢−1
(44)
U ( j +1) = I + 2 A (U ( j ) + kF ( j +1) )
h
22
Proposition 29. Le schéma implicite est consistant d’ordre 1 en temps et 2 en espace. Il est inconditionnellement stable, i.e. stable pour tout couple (∆t , ∆x). Il est donc convergent.
¡
¢−1
Démonstration. Pour la consistance, c’est un exercice. La stabilité est lié au spectre de I + hk2 A
donc à celui de I + hk2 A. Comme pour le schéma explicite on démontre que les valeurs propres
de I + hk2 A sont
1
, 1 ≤ n ≤ N.
¡ nπ ¢´
2k ³
1 + 2 1 − cos
h
N +1
³¡
¢−1 ´
¡ nπ ¢
< 1, d’où la consistance.
Comme 1 − cos
> 0 on en déduit que ρ I + hk2 A
N +1
Remarque 30. L’avantage par rapport au schéma explicite est le côté « inconditionnellement
stable », ce qui évite une condition sur ∆x par rapport à ∆t . Par contre il y a un système linéaire
à résoudre. Comme la matrice est triagonale cette résolution n’est pas très coûteuse : O(N ) en
nombre d’opérations élémentaires avec une décomposition LU faite au début.
3.2.3 Schéma de Crank-Nicolson
Le schéma de Crank-Nicolson consiste en une moyenne des deux formules (33) et (43)
U j +1,n −U j ,n
k
−
´
1 ³ U j ,n+1 − 2U j ,n +U j ,n−1 U j +1,n+1 − 2U j +1,n +U j +1,n−1 ´ 1 ³
+
=
f
(t
,
x
)+
f
(t
,
x
)
,
n
n
j
+1
j
2
h2
h2
2
soit sous forme matricielle
¢ 1¡
¢
U ( j ) −U ( j )
1 ¡
− 2 A U ( j ) +U ( j +1) = F ( j ) + F ( j +1) .
k
2h
2
Pour pouvoir étudier la stabilité on écrit
(45)
³
³
¢
k ´
k ´−1 k ¡ ( j )
k ´−1 ³
I − 2 A U (j) + I + 2 A
F + F ( j +1)
U ( j +1) = I + 2 A
2h
2h
2h
2
Modif
Remarque 31. On passe ici sous silence que l’inversibilité de la matrice I + hk2 A : c’est une conséquence de la connaissance du spectre de A.
Proposition 32. Le schéma de Crank-Nicolson est consistant d’ordre deux en temps et en espace,
inconditionnellement stable. Il est donc convergent.
Démonstration. Pour la consistance, c’est un exercice. La stabilité est lié au spectre la matrice
³
I+
k ´
k ´−1 ³
A
I
−
A .
2h 2
2h 2
³
´−1 ³
´
Comme on connaît les valeurs propres de A, on en déduit que celles de I + 2hk 2 A
I − 2hk 2 A
sont
¡ nπ ¢¢
k ¡
1 − 2 1 − cos
h
N +1 ,
¡ nπ ¢¢
k ¡
1 + 2 1 − cos
h
N +1
Modif
1 ≤ n ≤ N.
Clairement ces valeurs propres sont de valeur absolue strictement plus petites que 1.
Remarque 33. L’erreur commise avec le schéma de Cranck-Nicolson sera meilleure que pour les
deux schémas précédents.
23
Modif
Modif
3.3 Conditions sur le bord dépendantes du temps
La prise en compte des conditions sur le bord a un impact sur la précision. Pour Black et
Scholes les conditions en a et b dépendent du temps. On a donc

2

 ∂u − ∂ u = f

 ∂t ∂x 2
u(t = 0, x) = u 0 (x)



u(t , x = a) = α(t ), u(t , x = b) = β(t )
sur [0, T ] × [a, b]
dans [a, b],
∀t ∈ [0, T ],
où f (une fonction de [0, T ] × [a, b] dans R), u 0 (une fonction de [a, b] dans R) et où α et β sont
deux fonctions définies sur [0, T ] à valeurs réelles.
Pour l’approximation numérique des solutions il n’y a pas de difficulté supplémentaire et
pour les schémas explicite, implicite et de Crank-Nicolson on remplace F ( j ) donné en (40) par

(46)
α(t j )

+
F
j
,1
 h2





F
j ,2




..
(j)
F =

.


 F

j ,N −1


 β(t j )

+
F
j
,N
h2
3.3.1 Algorithme
Pour les trois schémas l’organisation de l’algorithme est identique. Les fonctions f , α, β, u 0
et les réels a, b et T sont données.
Algorithme 1 Différence finies
1: calcul de ∆t , ∆x. Vérification de la stabilité si schéma explicite
2: on « entre » la matrice d’itération (selon le schéma utilisé) et éventuellement on établit sa
décomposition LU
3: initialisation de U (0) par la donnée initiale (une boucle au pire, vectorisation possible avec
Scilab) : → VU
4: for j =0 to M do
5:
calcul de F ( j ) (éventuellement F ( j +1) selon le schéma)
6:
résolution du système linéaire (sauf pour le schéma explicite où c’est juste un calcul matriciel) : la variable VU est mise à jour
7: end for
e M +1
8: la variable VU contient une approximation de U
Remarque 34. Pour tracer plusieurs courbes du type u(t 0, ·), u(t 1 , ·), etc il faut adapter l’algorithme en traçant au fur et à mesure ou encore en stockant dans une matrice tous les calculs.
Pour vérifier si le schéma fonctionne et donne une approximation de la solution, comme
d’habitude, prendre une fonction u(t , x) connue, calculer f qui correspond à l’équation de la
chaleur, etc.
Le schéma explicite est à éviter, son intérêt est purement académique. On préfère évidemment le schéma de Crank-Nicolson au schéma implicite (dans quelques cas et pour des temps
longs on peut cependant réviser ce jugement, le schéma implicite ayant un côté « conservatif »).
24
3.4 Schémas numériques pour Black et Scholes en variables modifiées
Initialement le modèle de Black et Scholes est une EDP où S (le sous-jacent) appartient à
]0, +∞[. Après le changement de variable exp(x) = S/K , la nouvelle variable x appartient à
] − ∞, +∞[ et nous avons une équation de la chaleur sur R tout entier. Pour faire nos schémas
numériques il est indispensable de restreindre R à [a, b] avec a < 0 < b et donc pour compléter
l’EDP de spécifier des conditions sur le bord en accord avec Black et Scholes. Sinon la simulation
numérique ne sera pas valide.
Rappelons que
(47)
VC (S, t ) = 0 pour S = 0, et VP (S, t ) = 0 pour S → ∞.
Pour compléter l’information en +∞ pour le call et 0 pour le put, nous allons utiliser la parité
call/put (ici option européenne bien sûr) : sans dividende nous avons
(48)
S + VPEur − VCEur = K exp(−r (T − t )).
On en déduit les comportements
(49)
¡
¢
VC (S, t ) = S − K exp − r (T − t ) S → +∞
¡
¢
VP (S, t ) = K exp − r (T − t ) − S S → 0+ .
Pour VP dans (49) on pourrait éventuellement enlever le terme S comme S tend vers 0. Cependant le changement de variable exp(x) = S/K n’est plus valide, ce qui pourrait poser problème.
Comme cela ne simplifie pas les équations nous prendrons (49) comme conditions sur le bord
(en plus de (47)).
Comme pour la solution analytique, à un changement de variables près nous pouvons approcher numériquement la solution de l’EDP de Black et Scholes. Rappelons le changement de
variables (une fois de plus) :
2τ
2r
, q = 2;
σ2
σ
2τ
V (S, t ) = V (K exp(x), T − 2 ) = v(x, τ)
σ
¡ 1
¢
1
v(x, τ) = K exp − (q − 1)x − (q + 1)2 τ u(x, τ).
2
4
S = K exp(x),
(50)
t =T −
Alors la fonction u ainsi définie est solution de
T σ2
∂u ∂2 u
− 2 = 0 (τ, x) × [0,
] × R.
∂τ ∂x
2
Attention, pour l’équation en u la variable de « temps » est τ. Déterminons les fonctions α et β
pour que les conditions aux limites du problème

∂u ∂2 u
T σ2



− 2 =f
sur [0,
] × [a, b]

∂τ ∂x
2
(51)
u(τ = 0, x) = u 0 (x)
dans [a, b],




u(τ, x = a) = α(τ), u(τ, x = b) = β(τ) ∀τ ∈ [0, T ],
soient une approximation de (47) et (49).
Pour un call (européen). Comme VC (0, t ) = 0 en a on imposera u(τ, a) = α(τ) = 0. En +∞
³1
´
¡
¢´
1³
1
u(x, τ) = K e x − K exp − r (T − (T − 2τ/σ2 )) exp (q − 1)x + (q + 1)2 τ
K
2
4
³1
´
1
x
2
≈ e exp (q − 1)x + (q + 1) τ
2
4
³1
´
1
≈ exp (q + 1)x + (q + 1)2 τ .
2
4
25
¡
¢
¡
¢
En effet devant exp(x) le terme exp − r (T − (T − 2τ/σ2 )) = exp − 2r τ/σ2 est négligeable. On
posera donc pour le call

α(τ) = 0
³
´
(52)
β(τ) = exp 1 (q + 1)b + 1 (q + 1)2 τ
2
4
Pour un put (européen). De façon similaire on déduit que

´
³
α(τ) = exp 1 (q − 1)a + 1 (q − 1)2 τ
2
4
(53)
β(τ) = 0
Exercice 35. Pour le cas général avec dividende δ, toujours à l’aide de la parité call/put (23) montrer après le changement de variables habituel
(54)
2τ
,
σ2
2r
2(r − δ)
, qδ =
σ2
σ2
2τ
V (S, t ) = V (K exp(x), T − 2 ) = v(x, τ)
σ
¢
¡ 1
1
v(x, τ) = K exp − (q − 1)x − ( (q δ − 1)2 + q)τ u(x, τ)
2
4
S = K exp(x),
t =T −
q=
avec u solution de l’équation de la chaleur (51) que l’on aboutit à :

α(τ) = 0
³
´
(55)
call européen
β(τ) = exp 1 (q δ + 1)b + 1 (q δ + 1)2 τ
2
4
et
(56)

³
´
α(τ) = exp 1 (q − 1)a + 1 (q − 1)2 τ
2 δ
4 δ
put européen
β(τ) = 0
Remarque 36. Il faut bien faire attention : les conditions aux limites dépendent de a, b la fenêtre
de simulation. En règle générale on choisit a et b tels que a ¿ 0 ¿ b. En effet la variable x est
telle que x = ln(S/K ) et S n’est pas sensé prendre des valeurs très en dessous ou très en dessus
de K . Inutile donc de prendre a = −100 et b = 100.
Remarque 37 (Remarques sur la mise en oeuvre). Il ne faut pas oublier la condition finale de
Black et Scholes (la fonction payoff) qui devient la condition initiale pour l’équation de la chaleur
et le changement de variables en x. De la même façon pour donner une approximation numérique de V (S, 0), la méthode des différences finies donne une approximation de u(x, T ) : il faut
à nouveau utiliser le changement de variables (dans le sens inverse). Pour tracer un graphique il
en est de même. Cela peut sembler pénible, une solution possible est de se limiter à un changement de variables « inversion du temps + variable logarithmique » qui évite d’avoir à multiplier
par exp(· · · ) (voir la sous section suivante) mais dont la matrice d’itération est plus compliquée.
Une dernière solution (qui sera peut-être vue ?) consiste à faire des schémas directement dans la
variable S.
Le changement de variable en temps étant linéaire il n’y a pas vraiment de différence entre
la discrétisation en τ et en t . Pour les deux variables S et x ce n’est pas le cas. On part d’une
discrétisation équidistante en x à laquelle on applique la fonction exp. En S cela a tendance à
donner une discrétisation très fine pour S proche de zéro et de moins en moins fine pour les
valeurs « grandes » de S : voir par exemple la figure 7.
26
Ajoutons que les valeurs calculées près du bord voire pas très loin du bord ne sont pas précises. En effet on ne connaît pas vraiment u (ou V ) sur le bord mais plutôt le comportement
asymptotique vers les infinis (1ère imprécision) dont on a pris un équivalent (2ème imprécision).
Là encore le choix de la fenêtre a un impact. Comme les conditions sur le bord (52) et (53) proviennent après élimination des termes négligeables il est possible d’utiliser une approximation
plus précise de ces conditions sur le bord. Par exemple pour un call européen
³1
´
¡
¢´
1³ x
1
K e − K exp − r (T − (T − 2τ/σ2 )) exp (q − 1)x + (q + 1)2 τ
K
2
4
³
´
³1
´
¡
¢
1
≈ e x − exp − r 2τ/σ2 exp (q − 1)x + (q + 1)2 τ .
2
4
u(x, τ) ≈
Nous verrons l’impact de ces choix dans les simulations.
t
τ
∆τ
0
0
x
S
F IGURE 7 – Effet du changement de variables sur la grille
3.5 Différences finies du modèle de Black et Scholes avec taux, volatilité et dividende
variables en variable logarithmique
Les hypothèses de taux et volatilité constantes ne sont pas réalistes. Du point de vue théorique la prise en compte d’un taux, d’une volatilité et dividende variables donnent énormément
de difficulté du point de vue mathématique. Par exemple notre « simple » changement de variables ne nous ramène plus à une « gentille » équation de la chaleur. Avec un taux r (t ), une
volatilité σ(S, t ) et un dividende δ(t ), le modèle de Black et Scholes devient
(57)
¢ ∂V
∂2V ¡
∂V 1 2
+ σ (S, t )S 2 2 + r (t ) − δ(t ) S
− r (t )V = 0.
∂t
2
∂S
∂S
La théorie mathématique des EDP dit que tout se passe bien dès que les fonctions r , σ et δ vérifie
des propriétés de régularités, bornitudes, etc.
Si on oublie cette question théorique mais capitale, on peut faire « tranquillement » la méthode des différences finies. Effectuons le changement de variables τ = T − t et x = ln(S) ; alors
27
u(τ, x) = V (T − τ, exp x) est solution de
(58)
¢ ∂u
∂u 1 2
∂2 u ¡
1
− σ (x, τ) 2 − r (τ) − δ(τ) − σ2 (x, τ)
+ r (τ)u = 0,
∂τ 2
∂x
2
∂x
Modif
avec la notation abusive σ(x, τ) = σ(S, τ), r (τ) = r (t ) et δ(τ) = δ(t ) (attention à ne pas oublier cet
abus lors des simulations numériques !). Pour alléger les notations cette équation est de la forme
(59)
∂u 1 2
∂u
∂2 u
− σ (x, τ) 2 − γ(x, τ)
+ r (τ)u = 0,
∂τ 2
∂x
∂x
avec
1
γ(x, τ) = r (τ) − δ(τ) − σ2 (x, τ)
2
Pour l’équation –standard– de Black et Scholes nous avons vu qu’il est capital d’approcher correctement u, c’est à dire V , sur le bord afin de spécifier des conditions aux limites « réalistes ».
Nous supposerons qu’il n’y a pas de dividende : δ(t ) ≡ 0. La parité call/put devient
Z T −t
¡
¢
(60)
VC (S, t ) = S − K exp −
r (s)d s + VP (S, t ).
Modif
0
Quand r est une constante, cette formule correspond bien à celle vue précédemment. Dans le
cas général il suffit de voir dans un premier temps que VC , VP sont deux solutions de (57) avec
¡ R T −t
¢
donnée finale différente (la fonction payoff), que S − K exp − 0 r (s)d s est aussi une solution
de (57). Pour conclure à t = T on a VC (S, T ) = (S − K )+ , VP (S, T ) = (K − S)+ . La relation
(S − K )+ = S − K + (K − S)+
¡ R T −t
¢
permet d’affirmer que VC et S − K exp − 0 r (s)d s + VP (S, t ) sont deux solutions de (57) et
égales en t = T . Si le problème (57) est bien posé (ce que nous supposerons) ces deux solutions
sont égales d’où la parité call/put.
R T −t
Remarque 38. Dans la parité call/put le terme 0 r (s)d s correspond à un calcul d’intégrales
et intervient dans les conditions sur le bord. Il est donc nécessaire d’avoir à sa disposition une
routine qui calcule une valeur approchée de cette intégrale par une méthode de quadrature de
Simpson par exemple. Les logiciels de calcul scientifique possèdent de telles fonctions.
Nous pouvons donc déterminer les conditions aux limites. Comme les comportements VC (S, t ) =
0 pour S = 0 et VP (S, t ) = 0 pour S → +∞, la parité call/put entraîne
VC (S, t ) = S − K exp(−re(T − t )) S → +∞,
VP (S, t ) = K exp(−re(T − t )) − S
S → 0,
où la fonction re est
(61)
re(t ) =
t
Z
0
r (s)d s.
Avec le changement de variables S = exp(x) et t = T −τ, nous demanderons que la fonction u(τ, x)
vérifie
(
u(τ, x) ≈ 0 x → −∞
(62)
call européen
u(τ, x) ≈ exp(x) x → +∞
et
(63)
put européen
(
u(τ, x) ≈ K exp(−re(τ)) x → −∞
u(τ, x) ≈ 0 x → +∞.
28
Pour les conditions sur le bord, i.e. en a et en b, nous choisirons quand il n’y a pas de dividende
avec les mêmes notations
(
α(τ) = 0
(64)
call européen
β(τ) = exp(b)
et
(65)
put européen
(
α(τ) = K exp(−re(τ))
β(τ) = 0.
Nous sommes donc en mesure d’appliquer la méthode des différences finies. Nous considérons un call européen dans la suite. On désire approcher la solution u(τ, x) vérifiant l’EDP
(66)

2

 ∂u − 1 σ2 (x, τ) ∂ u − γ(x, τ) ∂u + r (τ)u = 0 dans [0, T ] × [a, b],

 ∂τ 2
∂x 2
∂x
u(t
=
0,
x)
=
u
(x)
fonction payoff, x dans [a, b],
0




u(t , a) = α(t ) u(t , b) = β(t )
t dans [0, T ].
Remarque 39. Comme précédemment selon la fenêtre [a, b] de simulation on peut affiner les
conditions sur le bord en gardant le terme négligeable. Reste à savoir si cela en vaut la peine.
Nous allons écrire les schémas explicite, implicite et de Crank-Nicolson. Montrer que chaque
schéma est consistant se fait facilement. L’étude de la stabilité est plus délicate, dans le cas général c’est hors propos et dans le cas où r , σ et δ sont constants il suffit d’utiliser un résultat sur les
valeurs propres des matrices triagonales généralisant celui de la matrice A.
Comme précédemment, soient M ≥ 0, N ≥ 0. On pose k = ∆t = T /(M + 1), h = ∆x = (b −
a)/(N + 1) et τ j = j k pour 0 ≤ j ≤ M + 1 et x n = a + hn, 0 ≤ n ≤ N + 1. Pour alléger les notations
nous poserons aussi
r j = r (τ j ) σ j ,n = σ(x n , τ j ),
γ j ,n = γ(x n , τ j ),
α j = α(τ j ),
β j = β(τ j ).
3.5.1 Schéma explicite
Par rapport à l’équation de la chaleur nous avons en plus la présence de ∂u/∂x et de u. Pour
la dérivée en x nous utiliserons la différence centrée (27). Pour tout 0 ≤ j ≤ M et tout 1 ≤ j ≤ N la
version discrète de (66) en (τ j , x n ) s’écrit
(67)
U j +1,n −U j ,n
k
−
σ2j ,n U j ,n+1 − 2U j ,n +U j ,n−1
h2
2
soit
U j +1,n = U j ,n − kU j ,n
− γ j ,n
U j ,n+1 −U j ,n−1
2h
+ r j U j ,n = 0
´
³ γ j ,n σ2j ,n ´
³ γ j ,n σ2j ,n ´
+
r
−
kU
−
−
kU
−
.
j ,n+1 −
j
j ,n−1
2h 2
2h
2h 2
2h
2h 2
³ σ2j ,n
Pour obtenir la version matricielle, on définit la matrice A ( j ) triagonale de taille N par
(j)
A n,n
(68)
(j)
A n+1,n
(j)
=
=
σ2j ,n
h2
γ j ,n
A n,n+1 = −
2h
γ j ,n
2h
+rj
−
−
σ2j ,n
2h 2
σ2j ,n
2h 2
29
1≤n≤N
1 ≤ n ≤ N −1
1 ≤ n ≤ N − 1.
Modif
Pour les cas limites n = 1 et n = N , les conditions sur le bord interviennent : U j ,0 et U j ,N +1 sont
connus. On définit F ( j ) le vecteur de taille N par
(j)
F 1 = −kα j
³ γ j ,1
2h
−
σ2j ,1 ´
2h 2
,
(j)
(69)
F n = 0 2 ≤ n ≤ N − 1,
(j)
FN
= kβ j
³ γ j ,N
2h
+
σ2j ,N ´
2h 2
.
Notre schéma explicite (67) se réécrit alors
U ( j +1) = (I − k A ( j ) )U ( j ) + F ( j ) .
(70)
Exercice 40. Le vérifier ! Préciser les coefficients de la matrice A ( j ) quand r , σ et δ sont constants.
Remarque 41. On constate que la matrice A ( j ) dépend du temps discrétisé τ j dès lors que les
taux, volatilité et dividende dépendent du temps. Cela complique –un peu– l’écriture du schéma.
En effet à chaque étape j il faut reconstruire la matrice A ( j ) . Le temps d’exécution sera plus grand.
Nous ne ferons pas de simulations dans ce cas, nous nous limiterons au cas « tout le monde il est
gentil, constant ».
Proposition 42. Le schéma explicite est consistant d’ordre 1 en temps et 2 en espace.
Démonstration. Exercice
3.5.2 Schéma implicite
Nous donnons successivement le schéma implicite et sa version matricielle. Les notations
demeurent inchangées.
Avec la différence rétrograde on obtient pour tout 1 ≤ j ≤ M + 1, et 1 ≤ n ≤ N
U j ,n −U j −1,n
k
−
σ2j ,n U j ,n+1 − 2U j ,n +U j ,n−1
h2
2
− γ j ,n
U j ,n+1 −U j ,n−1
2h
+ r j U j ,n = 0
soit en changeant le j en j + 1, pour tout 1 ≤ j ≤ N
U j +1,n −U j ,n
k
−
σ2j +1,n U j +1,n+1 − 2U j +1,n +U j +1,n−1
h2
2
− γ j +1,n
U j +1,n+1 −U j +1,n−1
2h
+ r j +1U j +1,n = 0.
Le regroupement des termes donne
U j +1,n +kU j +1,n
³ σ2j +1,n
2h 2
´
+r j +1 +kU j +1,n−1
³ γ j +1,n
2h
−
σ2j +1,n ´
2h 2
³
+kU j +1,n+1 −
γ j +1,n
2h
−
σ2j +1,n ´
2h 2
= U j ,n
et la version matricielle est
(71)
(I + k A ( j +1) )U ( j +1) = U ( j ) + F ( j +1)
Proposition 43. Le schéma implicite est consistant d’ordre 1 en temps et 2 en espace. Dans le
cas d’un taux r constant et d’une volatilité σ constante et sans dividende, la matrice I + k A( j ) est
indépendante de j et est inversible.
Remarque 44. La condition d’inversibilité de la matrice I + k A ( j ) dans (71) est cruciale : sans
cette propriété il n’est pas possible de construire U ( j +1) en fonction de U ( j ) . Dans la proposition
précédente on utilise que la matrice I + k A ( j ) est à diagonale strictement dominante.
Proposition 45. Pour un taux r et une volatilité σ constantes et sans dividende le schéma implicite est inconditionnellement stable.
30
3.5.3 Schéma de Crank-Nicolson
C’est le schéma à privilégier, plus précis et aussi simple à mettre en œuvre que le schéma
implicite. Faisons la moyenne de (70) et (71) :
³
I+
´
´
k ( j +1) ´ ( j +1) ³
k
1³
A
U
= I − A ( j ) U ( j ) + F ( j ) + F ( j +1) .
2
2
2
En supposant que la matrice I + k2 A ( j +1) est inversible on obtient
(72)
¡
¢−1 h¡
¢
¢i
k
k
1¡
U ( j +1) = I + A ( j +1)
I − A ( j ) U ( j ) + F ( j ) + F ( j +1)
2
2
2
Proposition 46. Le schéma de Crank-Nicolson est consistant d’ordre 2 en temps et en espace.
Pour un taux et une volatilité constants et sans versement de dividende le schéma est inconditionnellement stable.
3.5.4 Algorithme
L’algorithme est à peine plus compliqué que le précédant. Le véritable changement résulte
dans la nécessité de construire à chaque étape la matrice A ( j ) . Comme nous ne traitons que les
cas « constants » l’intérêt d’utiliser cette équation avec les seuls changements « variable logarithmique + inversion du temps » vient que nous n’avons pas à multiplier la solution par exp(· · · )
pour reconstruire V .
Pour la fenêtre de simulation il est d’usage de prendre a ¿ K ¿ b.
3.6 Stabilité au sens de Von Neumann
Pour l’étude de la stabilité une des difficultés réside dans la connaissance des valeurs propres
de la matrice A. Une seconde méthode consiste provient de l’analyse de Fourier, on parle alors
de stabilité au sens L 2 , notion très importante pour l’étude des schémas des équations hyperboliques. On vérifie que les fonctions exp(−(kπ)2 t ) exp(i pπx) (oui ici c’est le i complexe), pour p ∈
∂2 u
N∗ , représente une famille de solutions particulières de l’équation de la chaleur ∂u
∂t − ∂x 2 = 0 dans
R. L’idée de la stabilité au sens de Von Neumann est, pour p ∈ N∗ , de chercher une solution particulière du schéma (explicite, implicite, de Crank-Nicolson, etc) de la forme U j ,n = a j exp(i pπx n ).
On obtient alors une équation qui donne a en fonction de p, ∆t et ∆x. Le schéma sera dit stable
au sens de Von Neumann si |a| ≤ 1 (pour tout p dans N∗ ).
Faisons le cas du schéma implicite pour l’équation de la chaleur :
(73)
U j +1,n −U j ,n
k
−
U j +1,n+1 − 2U j +1,n +U j +1,n−1
h2
= 0.
Posons U j ,n = a j exp(i pπx n ). Sachant que t j +1 − t j = ∆t = k et x n+1 − x n = ∆x = h on obtient
(après quelques simplifications)
exp(i pπh) − 2 + exp(−i pπh) ´ 1
− =0
k
h2
k
³ 1 2 cos(pπh) − 2 ´ 1
a −
=
k
h2
k
1
1
a=
=
.
2k
4k
1 + 2 (1 − cos(pπh)) 1 + 2 sin2 (pπh/2)
h
h
a
³1
−
On obtient donc |a| ≤ 1 pour tout p ∈ N∗ et on retrouve (de façon « plus simple ») que le schéma
implicite est inconditionnellement stable au sens de Von Neumann.
31
Exercice 47. Retrouver pour l’équation de la chaleur la condition pour que le schéma explicite
soit stable et que le schéma de Crank-Nicolson est inconditionnellement stable (au sens de Von
Neumann).
3.7 Différences finies du modèle de Black et Scholes en variables d’origines
Et oui pourquoi ne pas essayer de rester avec nos variables S et t ! L’équation de Black et
Scholes s’écrit
(74)
¢ ∂V
∂V 1 2
∂2V ¡
+ σ (S, t )S 2 2 + r (t ) − δ(t ) S
− r (t )V = 0
∂t
2
∂S
∂S
et nous avons déjà étudié les conditions en ±∞. On peut alors « inverser » le temps en posant
t = T − τ.
Exercice 48. Pour S ∈ [a, n] et τ ∈ [0, T ], écrire tout d’abord l’équation vérifiée par u(τ, S) = V (T −
τ, S). Écrire ensuite le schéma explicite, implicite et de Crank-Nicolson. Pour simplifier on prendra des taux, volatilité constants et sans versement de dividende.
La matrice d’itération est-elle constante ?
4 Options américaines
La différence entre une option américaine et une option européenne est que le détenteur
d’une option américaine peut exercer son droit à tout instant t ∈ [0, T ]. Ainsi une option américaine ne peut être de valeur inférieure à une option européenne
V Am ≥ V Eur
et le détenteur n’attendra pas de perdre de l’argent : sa valeur est plus grande que la fonction
payoff.
Cela donne beaucoup de difficultés théoriques . . .
4.1 La courbe d’exercice « avant perte »
Ayant la possibilité d’exercer juste avant de perdre de l’argent, pour une option américaine
on a
(75)
VPAm (S, t ) ≥ (K − S)+
VCAm (S, t ) ≥ (S − K )+
∀(S, t )
∀(S, t ).
Par rapport à une option européenne où on peut perdre de l’argent, la figure 8 représente
les possibilités de valeur d’un put pour t < T . Détaillons la courbe VPAm (S, t ) d’un put américain. Tout d’abord sur la partie gauche, comme l’option est exercée (pas de perte d’argent) on
a VPAm (S, t ) = K − S pour S petit. Puis pour les valeurs plus grandes de S, on gagne (vraiment)
de l’argent et VPAm (S, t ) > (K − S)+ . Comme VPAm est régulière, la courbe de VPAm (S, t ) se confond
avec celle de la fonction payoff sur ]0, S f (t )] puis est strictement au dessus (on supposera qu’elle
ne peut pas être à nouveau au contact pour S > S f (t )). On définit donc le point de contact S f par
VPAm > (K − S)+
VPAm
∀S > S f (t )
= (K − S) ∀S ≤ S f (t ).
Cette situation a lieu pour tout t < T et le point de contact S f (t ) varie donc avec t . Pour tout
0 ≤ t < T , le point de contact S f (t ) forme une courbe dans le domaine (S, t ) (S > 0, 0 ≤ t < T ).
32
V
Valeur option européenne possible t < T
K
Valeur option américaine possible t < T
Fonction payoff t = T
S f (t )
K
S
F IGURE 8 – V (s, t ) pour un put et t < T , schématiquement
Cette courbe représente la frontière qui sépare le domaine (S, t ) en deux parties : d’une part une
zone où V > payoff et d’autre part une zone où V = payoff. Ceci est illustré dans la figure 9. Bien
sûr (ou plutôt quel dommage) cette frontière est inconnue, d’où le nom « problème à frontière
libre ».
t
t
put
call
T
T
stop
stop
Sf
on continue
on continue
S f (T )
S
S f (T )
Sf
S
F IGURE 9 – Les deux régions « on exerce », « on laisse courir » pour une option américaine
Pour les calls européen et américain la situation est comparable (voir figure (10)).
Du point de vue des EDP, S f (t ) est une frontière libre. Du point de vue de la finance, c’est
l’exercice « avant l’heure » (early-exercise curve). Pour un put la zone S > S f est la zone où on
« laisse courir » (continuation region).
On démontre quelques propriétés pour S f (t )
– continue, dérivable
– monotone (croissante pour un put, décroissant pour un call)
– pour un put
(76)
r
lim− S f (t ) = min(K , K )
t →T
δ
– pour un call
(77)
r
lim S f (t ) = max(K , K )
δ
t →T −
33
20
V 10
0
0
10
20
30
S
F IGURE 10 – Call américain ligne continue, call européen en ligne pointillée, pour K = 10, r = .25,
σ = .6, T = 1 et δ = .2 et la fonction payoff
4.2 Comment écrire ce problème ?
Grosso modo pour une option américaine nous avons un domaine où la valeur de l’option est
déterminée, un domaine où « on laisse courir » (donc l’équation de Black et Scholes y est vérifiée)
mais une inconnue de plus, la fonction S f (t ) qui sépare nos deux domaines. Nous allons essayer
de transformer ce problème à frontière libre en une inéquation variationnelle qui fait disparaître
l’inconnue supplémentaire (cette inconnue se fond avec l’équation).
Le long de la frontière libre. Traitons le cas d’un put. Pour une question géométrie (voir la figure
∂V (S f (t ), t )
8 il n’est pas possible d’avoir
< −1 (sinon V « traverse »la fonction payoff). D’un autre
∂S
∂V (S f (t ), t )
∂V (S f (t ), t )
coté
> −1 permet une stratégie d’arbitrage. Donc
= −1, S f est tangente
∂S
∂S
à la fonction payoff au point de contact.
On obtient donc
(78)
(79)
VPAm (S f (t ), t ) = K − S f (t )
∂VPAm (S f (t ), t )
∂S
= −1
et le comportement VpAm → 0 quand S tend vers l’infini.
Pour un call américain, de manière similaire
(80)
(81)
VCAm (S f (t ), t ) = S f (t ) − K
∂VCAm (S f (t ), t )
∂S
et le comportement VCAm → 0 quand S tend vers 0.
=1
Inéquation de Black et Scholes.
Dans la région « on laisse courir » l’équation de Black et Scholes est vérifiée. Qu’en est-il de
la région « on exerce » ? Prenons –toujours– le cas d’un put américain. Pour S < S f (t ) on sait que
VPAm (S, t ) = K − S (fonction payoff). Comme la fonction S f est continue on démontre alors que
pour S ≤ S f
∂V
∂V
∂2V
= 0,
= −1,
= 0.
∂t
∂S
∂S 2
34
Modif
Ainsi on a
∂V 1 2 2 ∂2V
∂V
+ σ S
+ (r − δ)S
− r V = −(r − δ)S − r (K − S) = δS − r K .
2
∂t
2
∂S
∂S
Par (76) on sait que δS < r K , ce qui implique que
∂V 1 2 2 ∂2V
∂V
+ σ S
+ (r − δ)S
−rV < 0
2
∂t
2
∂S
∂S
L’équation de Black et Scholes se transforme en une inéquation dans la région « on exerce ». Dans
tout le domaine, on a l’inégalité –au sens large–
Modif
∂V 1 2 2 ∂2V
∂V
+ σ S
+ (r − δ)S
− r V ≤ 0.
2
∂t
2
∂S
∂S
(82)
Là où l’inégalité est stricte, la formule (75) est une égalité et réciproquement. En résumé
put :
VPAm = K − S pour S ≤ S f (région stop)
VPAm vérifie (22) pour S > S f (on laisse courir)
et
call :
VCAm = S − K pour S ≥ S f (région stop)
VCAm vérifie (22) pour S < S f (on laisse courir)
Problème d’obstacle.
Donnons un exemple où on fait disparaître la frontière libre. L’obstacle est une fonction g (x),
telle que
g ∈ C 2 , g 00 < 0, g (−1) < 0, g (1) < 0, ∀α < xβ g (x) > 0.
On tend par dessus l’obstacle une corde fixée au sol en −1 et 1, suffisamment tendue pour que
u(x)
g(x)
α
−1
0
β
1
x
F IGURE 11 – La fonction u par dessus l’obstacle g
la longueur soit minimale. On obtient avec un peu d’imagination la situation de la figure 11.
Formulons ce problème d’obstacle en un problème à frontière libre. Si la corde est suffisamment tendue alors hors de la partie de contact u est une droite, ainsi u 00 = 0. Au contact de l’obstacle u = g et u 00 = g 00 < 0 (n’est pas vrai en α et β pour une question de régularité, u n’est pas C 2
mais seulement C 1 ). En résumé
u 00 = 0 pour −1 < x < α (donc u > g )
u=g
pour α < x < β (donc u 00 = g 00 < 0)
u 00 = 0 pour β < x < 1 (donc u > g ).
35
Modif
On a donc un problème analogue à celui de notre option américaine dans le sens où
si u > g alors u 00 = 0
si u = g alors u 00 < 0.
Le fait que dans l’équation de Black et Scholes il y ait une dérivée seconde en S participe aussi
grandement à l’analogie.
Le problème en u se reformule autrement :
(
trouver u telle que u(−1) = u(1) = 0, u ∈ C 1 ([−1, 1])
(83)
u 00 (u − g ) = 0, −u 00 ≥ 0, u − g ≥ 0.
L’intérêt de cette formulation est la disparition des inconnues α et β. Bien sûr pour que cela soit
utile il faut pouvoir résoudre un tel problème avec cette formulation. Rapidement, utilisons une
discrétisation de [−1, 1], x n = −1+n∆x avec ∆x = 2/(N +1) et posons g n = g (x n ). Avec la différence
centrée qui approche u 00 (x n ) et les notations habituelles la version discrétisée de l’équation (83)
s’écrit
(
)
(u n−1 − 2u n + u n+1 )(u n − g n ) = 0
(84)
0 < n < N +1
− u n−1 + 2u n − u n+1 ≥ 0, u n ≥ g n
Modif
avec u 0 = u N +1 = 0. Les quantités u n sont sensées être des approximations de u(x n ). En notant


2 −1

−1 2 −1
 




u1
g1


..
..
..

 . 
 . 

.
.
.
A=
 U =  ..  G =  .. 




..
..
uN
gN ,
. −1
.

−1
2
le problème discret se réécrit
(
(85)
(U −G)t AU = 0
AU ≥ 0,
)
U ≥G
Notre option américaine comme un problème d’obstacle.
Nous considérons un put sans versement de dividende (δ = 0). N’oublions pas le changement
de variable τ = T − t et S = exp(x). La fonction u(τ, x) = VPAm (exp(x), T − τ) vérifie d’après (75)
(86)
u(τ, x) ≥ (K − exp(x))+
et avec l’inversion du temps (82) devient
(87)
∂u 1 2 ∂2 u ¡
1 ¢ ∂u
− σ
+ r u ≥ 0.
− r − σ2
2
∂τ 2 ∂x
2
∂x
Posons g (x) = (K − exp(x))+ . Pour u(τ, x) > g (x) on a
∂u 1 2 ∂2 u ¡
1 ¢ ∂u
− σ
− r − σ2
+ r u = 0.
2
∂τ 2 ∂x
2
∂x
Il nous faut aussi compléter la donnée initiale et les conditions sur le bord. En τ = 0, c’est la
fonction payoff
u(τ = 0, x) = g (x).
36
Modif
Comme nous avons une option américaine, le comportement quand V tend vers 0 est claire :
on exerce. Ainsi quand x → −∞ on a u(τ, x) = g (x) et pour x → +∞ comme pour l’option européenne u(τ, x) → 0. On en déduit que sur le bord de [a, b] on posera
u(τ, a) = g (a),
u(τ, b) = g (b).
« Comme » pour l’exemple simple du problème d’obstacle, tout ceci se reformule en

³ ∂u 1 ∂2 u ¡
´
1 2 ¢ ∂u

2


(u
−
g
)
−
σ
−
r
−
σ
+
r
u
= 0,


∂τ 2 ∂x 2
2
∂x



 ∂u 1 ∂2 u ¡
1 ¢ ∂u
− σ2 2 − r − σ2
+ r u ≥ 0, u − g ≥ 0,
∂τ 2 ∂x
2
∂x





u(0, x) = g (x), x ∈ [a, b]




u(τ, a) = g (a), u(τ, b) = g (b), τ ∈ [0, T ]
(88)
Pour un call, seule la fonction g est à modifier : g (x) = (exp(x) − K )+ .
4.3 Discrétisation du problème d’obstacle
Comme l’exemple simple du problème de la corde tendu, la discrétisation en termes de différences finies de (88) mène à un système d’inéquations linéaires. Plutôt que d’écrire un à un
les schémas, explicite, implicite et de Crank-Nicolson, nous allons réunir ces trois schémas en
un seul avec paramètre θ : le θ-schéma avec 0 ≤ θ ≤ 1. En effet le schéma de Crank-Nicolson
est une moyenne des schémas explicite et implicite. Le θ-schéma avec 0 ≤ θ ≤ 1 consiste en une
pondération θ et 1 − θ des deux schémas.
Soient N ≥ 1, M ≥ 1, h = ∆x = (b −a)/(N +1) , k = ∆t = T /(M +1). Les discrétisations en temps
et en espace sont x n = a +nh et t j = j k. Comme d’habitude la quantité U j ,n pour 1 ≤ j ≤ M +1 et
0 ≤ i ≤ N + 1 est sensée être une approximation de u(t j , x n ). Comme d’habitude U0,n est connue,
c’est la condition initiale (fonction payoff) et pour n = N + 1 ou n = 0 la condition sur le bord
détermine les valeurs U j ,0 = g (a) = g (x 0 ) et U j ,,N +1 = g (b) = g (x N +1 ).
Pour tout j ∈ {0, . . . , M } on écrit l’EDP et son inéquation associée à l’aide du θ schéma et u − g
au temps j + 1 :
σ2 U j ,n+1 −U j ,n−1
σ2 U j ,n+1 − 2U j ,n +U j ,n−1
−
θ(r
−
)
+ r θU j ,n
k
2
h2
2
2h
σ2 U j +1,n+1 − 2U j +1,n +U j +1,n−1
σ2 U j +1,n+1 −U j +1,n−1
−(1−θ)
−(1−θ)(r
−
)
+r (1−θ)U j +1,n ≥ 0.
2
h2
2
2h
U j +1,n −U j ,n
−θ
Pour 2 ≤ n ≤ N cela se traduit par
´
³
³
kσ2
σ2 k ´
kσ2
)
U j +1,n 1 + (1 − θ) 2 + r (1 − θ)k +U j +1,n+1 − (1 − θ) 2 − (1 − θ)(r −
h
2h
2 2h
·
³
³
´
kσ2
σ2 k ´
kσ2
+U j +1,n−1 − (1 − θ) 2 + (1 − θ)(r −
)
− U j ,n 1 − θ 2 − r θk
2h
2 2h
h
¸
³ kσ2
´
³
2
kσ2
σ k
σ2 k ´
+U j ,n+1 θ 2 + θ(r −
)
+U j ,n−1 θ 2 − θ(r −
)
≥0
2h
2 2h
2h
2 2h
37
Pour n = 1 il faut tenir compte des conditions aux limites :
³
´
³
kσ2
kσ2
σ2 k ´
U j +1,1 1 + (1 − θ) 2 + r (1 − θ)k +U j +1,2 − (1 − θ) 2 − (1 − θ)(r −
)
h
2h
2 2h
·
³
´
³
kσ2
σ2 k ´
kσ2
− g (x 0 ) (1 − θ) 2 − (1 − θ)(r −
)
+U j ,1 1 − θ 2 − r θk
2h
2 2h
h
¸
³ kσ2
³ kσ2
σ2 k ´
σ2 k ´
+U j ,2 θ 2 + θ(r −
)
+ g (x 0 ) θ 2 − θ(r −
)
≥0
2h
2 2h
2h
2 2h
soit après simplification
³
´
³
kσ2
kσ2
σ2 k ´
U j +1,1 1 + (1 − θ) 2 + r (1 − θ)k +U j +1,2 − (1 − θ) 2 − (1 − θ)(r −
)
h
2h
2 2h
·
¸
³
´
³ kσ2
³ kσ2
kσ2
σ2 k ´
σ2 k ´
− U j ,1 1 − θ 2 − r θk +U j ,2 θ 2 + θ(r −
)
+ g (x 0 )
− (r −
)
≥ 0.
h
2h
2 2h
2h 2
2 2h
Pour n = N et après simplification
³
´
³
kσ2
kσ2
σ2 k ´
U j +1,N 1 + (1 − θ) 2 + r (1 − θ)k +U j +1,N −1 − (1 − θ) 2 + (1 − θ)(r −
)
h
2h
2 2h
¸
·
³ kσ2
´
³ kσ2
³
σ2 k ´
σ2 k ´
kσ2
+ (r −
)
+U j ,N −1 θ 2 − θ(r −
)
≥ 0.
− U j ,N 1 − θ 2 − r θk + g (x N +1 )
h
2h 2
2 2h
2h
2 2h
Par convention si X et Y sont deux vecteurs de RN la relation X ≤ Y équivaut à, pour tout n ∈
{1, . . . , N } X i ≤ Yi . Ainsi les trois inégalités précédentes s’écrivent avec les notations matricielles
(89)
¡
¡
¢
¢
I + (1 − θ)k A U ( j +1) − (I − θk A)U ( j ) + F ≥ 0
où A est la matrice carrée triagonale de taille N
σ2
+r 1 ≤ n ≤ N
h2
σ2
r−
2
2 − σ
A n+1,n =
1 ≤ n ≤ N −1
2h
2h 2
σ2
r−
2
2 − σ
1 ≤ n ≤ N − 1.
A n,n+1 = −
2h
2h 2
A n,n =
(90)
et F vecteur de taille N défini par
³ 2
´ 
σ2 k
g (x 0 ) kσ
−
(r
−
)
2 2h
2h 2




0




..
F =
.
.






³ 20
´
2
σ
k
+
(r
−
)
g (x N +1 ) kσ
2 2h
2h 2

(91)
La condition u − g ≥ 0 se traduit par
(92)
U ( j +1) −G ≥ 0
38
avec G vecteur de taille N

g (x 1 )


 g (x 2 ) 

G = . 
.
 .. 
g (x N )

(93)
Il reste enfin l’égalité de (88) qui donne en version discrétisée
(94)
h¡
¢
¡
¢it
I + (1 − θ)k A U ( j +1) − (I − θk A)U ( j ) + F (U ( j +1) −G) = 0.
Sachant que U (0) est donnée par la condition initiale, existe-t-il U (1) vérifiant (94) sous les
contraintes (89) et (92) ? Et ainsi de suite pour U (2) , . . . , U (M +1) . Sous cette réserve l’algorithme
ressemble à l’algorithme 2.
Algorithme 2 Option américaine
1:
2:
3:
4:
5:
6:
7:
calcul de ∆t , ∆x.
on « entre » la matrice A selon la formule (90)
on « entre » les vecteurs F selon (91) et G selon (93)
initialisation de U (0) par la donnée initiale (une boucle au pire, vectorisation possible avec
Scilab) : → VU
for j =0 to M do
calcul de B = (I − θk A)U ( j ) + F
résolution du problème : trouver W tel que
(I + (1 − θ)k A)W − B ≥ 0,
W ≥ G,
£
¤t
(I + (1 − θ)k A)W − B (W −G) = 0
la variable VU est mise à jour et contient U ( j +1)
8: end for
e M +1
9: la variable VU contient une approximation de U
4.4 Résolution de l’inéquation
Dans cette partie les notations précédentes ne sont plus toutes valables. Soient A une matrice
carrée de taille N , g et g deux vecteurs de RN . La question est la résolution numérique de
(95)
Ax − b ≥ 0,
x ≥ g,
(Ax − b)t (x − g ) = 0.
Ce genre de problème se résout assez bien quand A est coercive, c’est-à-dire x t Ax ≥ αx t x =
αkxk22 pour tout x dans RN avec α > 0. Ce sera par exemple le cas pour A matrice à diagonale
strictement dominante et positive. Il existe alors une unique solution de (95).
4.4.1 Méthode SOR projeté
Quand tout se passe bien, la résolution de Ax = b se fait par des méthodes itératives, du
type méthode de relaxation de paramètre ω. Si A = D − L −U (D diagonale, L partie triangulaire
inférieure stricte, U tout le monde devine), alors x est solution de Ax = b si et seulement si x
vérifie (D/ω − L)x = ((1/ω − 1)D +U )x + b. Pour des valeurs de ω dans l’intervalle ]0, 1], à l’aide du
39
théorème de point fixe de Banach on construit une suite qui converge vers l’unique point fixe :
la solution x cherchée. On pose x 0 dans RN et on définit la suite pour tout n ≥ 0 par
X
X
1
1
A i i x in+1 +
A i j x n+1
= b i + ( − 1)A i i x in −
A i j x nj
j
ω
ω
j <i
j >i
pour tout i ∈ {1, . . . , N } (ce n’est que l’écriture indice par indice de ( ω1 D − L)x n+1 = b + (( ω1 − 1)D +
U )x n ). Si A est à diagonale strictement dominante, pour ω ∈]0, 1] la méthode converge.
La méthode SOR projeté consiste tout d’abord à écrire que résoudre (95) équivaut à résoudre
(96)
(Ax − b)t (v − x) ≥ 0 ∀v ∈ K
x ∈K
où K est le convexe K = {v ∈ RN , v ≥ g }. En effet si x est solution de (95) alors si v ∈ K , (Ax −
b)t (v − x) = (Ax − b)t (v − g + g − x) = (Ax − b)t (v − g ) + (Ax − b)t (g − x) = (Ax − b)t (v − g ) ≥ 0 (il
suffit de remarquer que les coordonnées de (Ax −b) et de v −g sont positives. Réciproquement si
x est solution de (96) alors pour t > 0 le vecteur v = x + t (x − g ) appartient à K . Donc pour tout
t > 0 on a (Ax − b)t (x + t (x − g ) − x) = t (Ax − b)t (x − g ) ≥ 0. Or pour v = g , l’inéquation (96) donne
(Ax −b)t (g − x) ≥ 0. On en déduit alors que (Ax −b)t (g − x) = 0. Pour obtenir Ax −b ≥ 0 il suffit de
prendre v = x + e n où e n est le n-ème vecteur de la base canonique.
Construisons l’application dont le point fixe sera solution de (96). Posons Ψ définie de RN
dans K par z = Ψ(x) avec
(97)
∀i ∈ {1, . . . , N }, z i = max(y i , g i ) et y i défini par
³1
´
X
X
1
Ai i yi +
A i j z j = bi +
− 1 A i i xi −
Ai j x j .
ω
ω
j <i
j >i
On constate que Ψ est bien à valeur dans K .
On a besoin de deux lemmes pour montrer que la méthode x n+1 = Ψ(x n ) donne satisfaction.
D’une part que Ψ est contractante et d’autre part qu’un point fixe de Ψ est solution de (96).
Lemme 49. Si A est à diagonale strictement dominante et si 0 < ω ≤ 1 alors l’application Ψ est
une contraction de RN dans RN , muni de la norme k · k∞ .
Démonstration. à voir et à écrire (un jour) !
Lemme 50. Sous les hypothèses du lemme précédent si x est solution de (96) alors x est un point
fixe de Ψ.
Démonstration. Supposons que x est solution de (96). Montrons par récurrence sur i que x i = z i
où z = Ψ(x). Si x 1 > g 1 alors (Ax − b)t (x − g ) = 0 entraîne que (Ax − b)1 = 0 soit, à un artifice de
calcul près,
³1
´
X
1
A 11 x 1 = b 1 +
− 1 A 11 x 1 −
A1 j x j .
ω
ω
j >1
On en déduit alors que y 1 = x 1 et z 1 = x 1 . Si on a x 1 = g 1 , la définition de y 1 et la propriété
(Ax − b)1 ≥ 0 entraîne y 1 ≤ x 1 , soit z 1 = g 1 = x 1 .
On poursuit la preuve avec le même argument pour tout i ∈ {2, . . . , N }.
L’intérêt est que la suite définie par x 0 ∈ K et, pour tout k ∈ N, x k+1 = Ψ(x k ), converge vers
l’unique point fixe de Ψ et nous permet donc de résoudre notre problème (95).
Remarque 51. Si nous avions adopté le changement de variables dit complet ou compliqué, nous
aurions obtenu une matrice A symétrique. De ce fait le problème (95) revient à la minimisation
d’une fonctionnelle convexe sur un convexe et la preuve de la convergence de la méthode SOR
projeté est plus simple.
40
4.4.2 L’algorithme de Brennan et Schwartz
Pour un put et sous des conditions plus restrictives sur h (suffisamment petit, voir D. Lamberton et B. Lapeyre) on peut éviter de sortir l’artillerie SOR projeté avec l’algorithme de Brennan et
Schwartz. Il s’agit d’une modification de l’élimination de Gauss basée sur la décomposition U L,
avec U triangulaire supérieure dont les éléments diagonaux sont 1 et L triangulaire inférieure.
Rappelons que la matrice A (en fait I + (1 − θ)k A pour nos options américaines) est triagonale.
Sa décomposition U L (c’est bien U L et non pas LU ) se calcule très rapidement, de l’ordre de N .
L’algorithme consiste en
– résoudre U Y = b
– pour i ∈ {1, . . . , N } x i = max((y i − L i ,i −1Ui ,i −1 )/L i ,i ,G i )
Comme notre matrice A est triagonale (élément constant sur chaque diagonale)


β γ 0 ... 0 0
α β γ
0 . . . 0




0
α
β
γ
.
.
.
0



A=.
.. 
.. .. ..

.
.
.
. .
.


 0 0 . . . α β γ
0 0 0 ... α β
il est possible d’écrire l’algorithme en deux boucles seulement (voir algorithme 3). Si A = U L,
la 1ère boucle (remontée) résout U Y = b et calcule en parallèle β0i où β01 , β02 , . . . , β0N sont les
coefficients diagonaux de la matrice L. On vérifie aisément que les coefficients L i +1,i = α. La
seconde boucle (descente) calcule x i .
Algorithme 3 Brennan et Schwartz
remontée
β0N = βN
yN = bN
for i = N − 1 to 1, (boucle décroissante) do
β0i = βi − αγ/β0i +1
y i = b i − γy i +1 /β0i +1
end for
descente « américaine »
x 1 = max(u 1 /β01 ,G 1 )
for i = 2 to N , (boucle croissante) do
x i0 = (y i − αx i −1 )/β0i
x i = max(x i0 ,G i )
end for
Modif
Remarque 52. L’algorithme de Brennan et Schwartz dans sa version originale considère le problème au frontière libre avec une condition de Neumann sur un des bords.
D’après un article « Pricing American Options Using LU Decomposition » de Samuli Ikonen,
l’algorithme de Brennan et Schwartz a son alter ego pour un call américain en utilisant la décomposition LU . Ceci paraît naturel.
4.5 Stabilité, convergence et tests
Comme V Am est solution d’un problème d’obstacle (ou de frontière libre), la fonction V Am (S, t )
est moins régulière que V Eur , en général C 1 en espace par exemple. Le « défaut » de régularité
a lieu justement sur la frontière libre, la courbe S f (t ) la frontière entre les deux comportements
41
du modèle. De ce fait, pour une même discrétisation, la différence entre un schéma de CrankNicolson et un schéma implicite sera moins marquée au niveau précision. Si on ajoute que la
solution du problème d’obstacle discret est approchée par une méthode itérative (SOR projeté) il
faut être encore plus prudent quant aux résultats des simulations numériques.
Les questions d’étude de la stabilité, convergence des θ-schémas sont hors de propos ici (il
faudrait déjà que je comprenne). Une technique dite d’énergie peut être utilisée pour la stabilité.
Dans le livre de Lamberton et Lapeyre, on trouve les résultats suivants.
2
2
k
|r σ |
Proposition 53. On suppose que |r − σ2 | ≤ σ
h et 2h − 2 < 1. Alors la matrice intervenant dans
le problème d’obstacle discret du θ-schéma est coercive. Soit U (0 ,U (1) , . . . ,U (M +1) la solution du
θ-schéma.
– si θ < 1 la convergence est conditionnelle : si h et k tendent vers 0 et si k/h 2 tend vers 0 le
schéma converge. Plus précisément
U converge vers V Am (à un changement de variable près) dans L 2 ([0, T ] × [a, b])
U·+1 −U·
∂V (exp(x), T − τ)
(dérivée discrète) converge vers
dans L 2 ([0, T ] × [a, b]).
h
∂x
– si θ = 1 la convergence est inconditionnelle et dès que k et h tendent vers 0 le résultat de
convergence précédent a lieu.
On constate que seul le schéma implicite est inconditionnellement convergeant. C’est donc
ce schéma qui sera privilégié.
Pour l’algorithme il suffit de coupler l’algorithme 2 avec la méthode SOR projeté ou encore
l’algorithme de Brennan et Schwartz dans le cas d’un put. Il y a un peu plus de lignes de code
par rapport à une option européenne.
L’étude des options américaines a commencé en définissant deux zones délimitées par la
courbe dite « exercice avant perte » ou early-exercise curve. Il est intéressant du point de vue
numérique d’essayer de donner une approximation numérique. Cette courbe caractérise le caractère « frontière libre » de notre problème. Pour un put l’idée est assez simple : pour chaque
temps discret j , on teste si U j ,n vaut pour la fonction payoff pour n allant de 0 à N + 1 et le
1er indice n pour lequel U j ,n+1 > fonction payoff donne une approximation S f (t j ) (à un changement de variable près). Il faudra donc une grille assez fine en espace, sinon l’approximation sera
grossière.
Remarque 54. Depuis le début nous avons considéré des discrétisations uniformes. Le changement de variable logarithmique pour la variable S a de plus un effet de dispersion pour les
grandes valeurs et un effet de concentration pour les petites valeurs. Afin d’éviter de prendre
une discrétisation uniforme mais gigantesque qui soit suffisamment fine autour du strike K par
exemple, il est possible de prendre une discrétisation non uniforme. Cela compliquera uniquement la matrice A.
Algorithme 4 Early-exercise curve
entrée des données K , T , S 0 , r , δ et σ
calcul de l’approximation de la valeur de l’option américaine à t = 0 soit τ = T . On connaît
V (S n , 0) ≈ V (exp(x n ), 0) = U M +1,n
Test pour détecter la courbe « avant perte » en t = 0 ; S f (0) (si SOR projeté)
²0 = K × 10−5
pour un put : n f = max{n : |V (S n , 0) + S n − K | < ²}
S 0 < S n f région « on stoppe »
pour un call : n f = min{n : |V (S n , 0) + S n − K | < ²}
S 0 > S n f région « on stoppe »
Cet algorithme (à condition de l’effectuer au cours du calcul de la valeur d’une option américaine) permet de déterminer S f ( j ) pour 0 ≤ j ≤ M . (attention à l’inversion du temps).
42