Annexe Simulations de Monte Carlo

Transcription

Annexe Simulations de Monte Carlo
©Roland Portait et Patrice Poncet
Annexe
Simulations de Monte Carlo
Cette annexe présente, de façon pratique, les principales techniques opératoires des
simulations de Monte Carlo. Le lecteur souhaitant une présentation plus rigoureuse et plus
approfondie pourra se référer à un des nombreux ouvrages spécialisés qui traitent de cette
question1.
1. Introduction : présentation générale du problème, des notations et de la méthode
On considère un portefeuille ou un titre dont la valeur en date t est notée V(t, Y(t)) car elle
dépend du temps et de F facteurs aléatoires Y(t) = (Y1(t), Y2(t), . . ., YF(t)). Il pourra s’agir par
exemple d’une option dont la valeur dépend de deux facteurs aléatoires, le prix du sous-jacent
S(t), et le taux d’intérêt r(t) (dans ce cas F = 2, Y1(t) = S(t) et Y2(t) = r(t)). On cherche à
connaître, au moins empiriquement, la distribution de probabilités de V(t, Y(t)) ou certains
moments de cette distribution. Selon les cas il importera de connaître V(t, Y(t)) dans tout
l’intervalle de temps (0, T) (on s’intéresse donc aux « trajectoires » de V), ou simplement à sa
valeur V(T, Y(T)) au seul horizon T.
La simulation de Monte Carlo est une méthode probabiliste utilisée quand, à défaut de
pouvoir déterminer analytiquement la loi (ou les premiers moments) de la distribution de V(t,
Y(t)), on en simule une distribution empirique. Dans un premier temps, on génère un grand
échantillon tiré de la loi de Y(t) et à chaque élément de cet échantillon on associe la valeur V(t,
Y(t)) correspondante en construisant ainsi une distribution empirique de V(t, Y(t)). Selon le
problème traité, la simulation de Monte Carlo comportera la génération d’un grand nombre M
de trajectoires possibles de Yt]t=t1, t2, …, tN, à partir desquelles on calcule les trajectoires V(t, Yt)]
t=t1, t2, …, tN,
correspondantes, ou bien se contentera de calculer M valeurs de (Y(T), V(T, Y(T))
en une date unique T. Le lecteur notera que Yt désigne une réalisation particulière de la
variable aléatoire Y(t) : cette différence de notation permet de distinguer un tirage Yt d’une
variable aléatoire de la variable Y (t) elle-même.
La méthode de Monte Carlo repose sur la génération d’un grand nombre de tirages d’une loi
de probabilités donnée. Nous décrivons au §2 les méthodes qui permettent de tels tirages.
1
Le lecteur pourra notamment consulter, pour un exposé rigoureux et complet, Paul Glasserman : Monte Carlo
Methods in Financial Engineering, Springer, 2004.
1
©Roland Portait et Patrice Poncet
Nous expliquons au §3 comment élaborer des simulations de Monte Carlo en présence d’un
seul facteur de risque Y avant de traiter, au §4, le cas de plusieurs facteurs en général corrélés.
Le §5 présente quelques observations sur l’efficacité des procédures et propose quelques
techniques pour améliorer celle-ci.
2. Génération d’un échantillon tiré d’une loi de distribution donnée
Examinons brièvement le problème général du tirage à partir d’une fonction de répartition
quelconque donnée avant d’aborder la génération d’un échantillon issu d’une loi normale.
a) Génération d’un échantillon tiré d’une loi quelconque
Considérons donc une variable aléatoire quelconque X dont on veut tirer un échantillon et
dont la fonction de répartition FX est supposée connue ; rappelons que FX (x) = Proba (X ≤ x)
prend des valeurs dans (0, 1).
On part d’un échantillon a ≡ (ai)i=1, 2, …, N tiré d’une variable aléatoire A distribuée selon une
loi uniforme dans l’intervalle (0, 1) dont la fonction de répartition est FA(y) = y pour y∈(0,1).
Un tel échantillon est relativement facile à obtenir, par exemple à l’aide d’une table de
nombres aléatoires, ou d’une « fonction » de génération de nombres aléatoires présente dans
un grand nombre de logiciels (Matlab, Mathematica,...) et dans les langages de
programmation (C++, Fortran,..). Définissons xi = FX-1(ai) où FX-1 est la loi de répartition
inverse de X. On construit ainsi un nouvel échantillon x ≡ (xi)i=1, 2, …, N .
L’échantillon x est tiré de la loi de distribution de X car la variable aléatoire FX-1(A) a la même
distribution que X; en effet :
Proba[ FX-1(A) ≤ x] = Proba[FX (FX-1(A)) ≤ FX (x)] (car FX est croissante)
= Proba[A ≤ FX (x)] = FA (FX (x)) = FX (x) (d’après la fonction de
répartition d’une loi uniforme).
On peut ainsi construire une variable aléatoire X qui suit une loi de répartition F quelconque
donnée, à partir d’une simple variable uniforme A.
b) Construction d’un échantillon tiré d’une loi normale
Les simulations de Monte Carlo sont souvent fondées sur des tirages effectués à partir de lois
normales. La méthode présentée précédemment permet de construire un échantillon tiré d’une
distribution F quelconque, en particulier d’une distribution normale. Ces tirages gaussiens
peuvent aussi être obtenus à l’aide de la technique de Box-Muller. Cette technique est exacte
2
©Roland Portait et Patrice Poncet
et plus simple que celle qui fait intervenir la loi de répartition inverse de la loi normale qui n’a
pas d’expression analytique exacte. Soient A1 et A2 deux variables aléatoires indépendantes et
uniformément distribuées dans (0, 1) et posons :
U=
−2 ln( A1 ) cos(2πA2).
On peut montrer que U ainsi défini suit exactement une loi normale centrée réduite.
Il est alors facile de générer N valeurs tirées d’une loi normale à partir de 2N valeurs tirées
d’une loi uniforme.
En pratique, de nombreux logiciels disposant d’un générateur de nombres aléatoires tirés
d’une loi normale2, il est rarement nécessaire d’appliquer la formule de Box-Muller. Par
ailleurs, il est le plus souvent utile et souhaitable de coupler chaque tirage ui à son
« antithétique » -ui ; on double ainsi, à moindre coût, la taille de l’échantillon généré et on
s’assure que la moyenne de celui-ci est exactement égale à zéro.
3. Simulations de Monte Carlo dans le cas d’un seul facteur de risque Y
Traitons d’abord le cas d’un facteur de risque unique Y. On distinguera deux situations. Dans
la première, la nature du problème posé exige la simulation de différentes trajectoires de V(t,
Y(t)) entre 0 et T. Dans la seconde, la simulation de différentes valeurs V(T, Y(T)) à la seule
date T est suffisante pour traiter le problème.
a) Simulations de trajectoires de Y(t) et de V(t, Y(t)) dans l’intervalle de temps (0, T)
On commence par la simulation de Y(t). Cette simulation est fondée sur l’équation
stochastique qui est censée régir l’évolution de Y(t) dans le temps. Selon les cas, au départ,
cette évolution est écrite en temps discret ou en temps continu.
Dans le cas du temps continu, il s’agit par exemple d’un processus de diffusion :
(1)
dY = μ(t,Y(t))dt + σ(t,Y(t))dw ,
où dw est l’incrément d’un mouvement brownien standard et μ() et σ() sont deux fonctions
connues représentant respectivement la dérive et le coefficient de diffusion du processus.
2
Par exemple, l’utilitaire d’analyse d’Excel permet de générer des réalisations de variables aléatoires distribuées
selon différentes lois, dont la loi normale. Cet utilitaire, bien qu’imparfait, est utile pour de petites applications.
3
©Roland Portait et Patrice Poncet
On décompose l’intervalle (0, T) en N périodes de même durée égale à Δt = T/N. Le nombre N
de périodes est choisi suffisamment grand pour que leur durée commune Δt soit « courte » (le
jour ouvré ou la semaine, typiquement). On définit ti ≡ iΔt, ce qui permet de dénoter les N
périodes de durée Δt simplement par (t0, t1), (t1, t2),…, (ti-1, ti), . . . , (tN-1, tN) ; on retiendra que
t0 = 0 et tN = T.
On simule Y(t) et V(t, Y(t)) aux dates t = t1 …, tN. Pour ce faire, on procède à une
« discrétisation » de l’équation (1) qui conduit à :
(2)
Y(tj ) – Y(tj-1) = μ(tj-1,Y(tj-1))Δt + σ( tj-1,Y(tj-1))√Δt U(j)
où les U(j) (pour j=1,…, N) sont des variables normales, centrées, réduites et
indépendamment distribuées. On notera Uj une réalisation particulière de U(j) et Ytj la valeur
correspondante de Y(tj).
Dans certains cas, la dynamique de Y(t) est directement donnée par un processus en temps
discret de type (2) qui permet de calculer Y(tj) à partir du couple (Y(tj-1), U(j)).
Une trajectoire particulière Yt]t=
t1, .., tN
est calculée à partir d’une succession de N tirages
indépendants Uj]j= 1, .., N tirés d’une loi gaussienne standardisée et de l’application « de proche
en proche » de l’équation (2)3. Ces tirages Uj peuvent être obtenus à l’aide d’un logiciel
approprié (par exemple l’utilitaire d’analyse d’Excel) ou programmés directement en
s’appuyant sur la formule de Box-Muller (cf. §1). Par ailleurs, à chaque trajectoire Ytj]j= 1, .., N
correspond une trajectoire V(tj, Ytj)]j= 1, .., N .
Pour résumer, la simulation d’une trajectoire comporte, dans l’ordre : (i) le tirage, à partir
d’une loi normale centrée réduite, de N valeurs Uj]j= 1, .., N ; (ii) le calcul, à partir de ces N
tirages et à l’aide de (2), de la séquence Ytj]j= 1, .., N
constituant une trajectoire particulière de
Y(t) ; (iii) le calcul de la trajectoire correspondante de V(t, Y(t)), conformément au schéma cidessous :
Uj]j= 1, .., N
Ytj]j= 1, .., N
V(tj, Ytj)]j= 1, .., N
Cette procédure est répétée autant de fois qu’il est jugé nécessaire d’obtenir de trajectoires
différentes : le nombre de simulations est très variable selon le problème posé et la méthode
utilisée et varie typiquement de plusieurs milliers à plusieurs millions.
Exemple 1
3
Y1 est calculée à l’aide de (2) à partir de Y0 (connu) et du premier tirage U1 ; Y1 permet alors de calculer Y2 grâce
à (2) et à U2, et ainsi, de proche en proche, Yn est calculée à partir de Yn-1 et de Un, à l’aide de (2).
4
©Roland Portait et Patrice Poncet
Considérons une action s de prix S et d’une position composée de cette action ainsi que de
produits dérivés sur s tels que des options. On se situera dans l’univers de Black et Scholes
(BS) dans lequel la valeur V(t, S(t)) de cette position est affectée par le temps et un seul
facteur aléatoire Y(t) ≡ S(t) ; la fonction V(t, S) est présumée connue (les prix des options sont
par exemple donnés par la formule de Black-Scholes, BS ci-après).
En conformité avec BS on supposera que S(t) suit le mouvement Brownien géométrique :
(3 –a)
dS/S = μdt + σ dw
w(t)
S(t) = S(0) e(μ-0,5σ )t + σ
2
(3 –b)
où w(t) est un brownien standard, μ et σ sont des constantes connues « annualisées », et le
temps est mesuré en années.
On va élaborer des simulations avec un pas de temps hebdomadaire. Les paramètres de dérive
et de volatilité hebdomadaires s’écrivent respectivement μ/52 et σ/√52 en fonction des
paramètres « annuels » μ et σ. :.
Supposons que l’action s cote S(0) = 100 € en date 0 et que son taux de rentabilité espéré et sa
volatilité, annualisés, soient égaux respectivement à μ = 12% et σ = 36%. En termes de
paramètres hebdomadaires, ceci implique :
dérive = 0,12/52= 0,0023 ; volatilité = 0,36/√52= 0,050 . On peut donc réécrire (3-b) avec ces
paramètres, pour aboutir à l’expression du cours de l’action, au terme de la nème semaine, noté
dans cet exemple S(n):
S(n) = 100 e0,00105 n + 0,05(U1 +U 2 +...+U n )
(4)
où la somme des n variables normales centrées réduites U1 + U2 + … + Un, elle même
normale centrée et de variance égale à n, correspond à w(n) = w(1) + (w(2) – w(1)) + … +
w(n) – w(n-1).
Une trajectoire Sn]n=1, …, N est obtenue à l’aide de (4) par une séquence de N tirages Un]n=1, …, N.
Le tableau ci-dessous contient les 6 premières et les six dernières trajectoires obtenues lors
d’une simulation de 2000 trajectoires sur 10 semaines (trajectoires i = 1 à 6 et 1995 à 2000).
Une trajectoire correspond à une ligne ; le tableau du haut contient 12 séquences de Uin]n=1, ..,10
et celui du bas les 12 séquences correspondantes Sin]n= 1, .., 10
Uin]n= 1, .., 10 pour i = 1 à 2000 (2000 trajectoires, dont 1000 antithétiques, de 10 points)
1
2
3
4
5
6
7
8
9
1
0,054991
-1,813432
0,044959
0,264168
-0,160376
-1,426192
-2,168090
-0,502937
0,121664
2
-0,054991
1,813432
-0,044959
-0,264168
+0,160376 +1,426192 +2,168090 +0,502937 -0,121664
3
-0,767845
-1,069466
-0,572245
1,455346
1,671888
-1,825847
0,632415
-1,849021
4
0,767845
1,069466
0,572245
+1,455346 -1,671888
1,825847
-0,632415
+1,849021 -0,552977
5
-0,453447
-1,240337
-0,537091
1,765638
1,733133
3,334717
-0,823488
-0,620594
5
0,552977
-1,356143
10
0,397167
-0,397167
-1,006028
+1,006028
2,183588
©Roland Portait et Patrice Poncet
6
0,453447
1,240337
0,537091
-1,765638
0,620594
-1,733133
-3,334717
0,823488
1,356143
-2,183588
--
------
------
------
------
------
------
------
------
------
------
1995 -1,256008
-0,175427
-0,985433
-0,261634
-0,744326
-1,032652
0,158593
2,504312
0,202607
-1,717544
1996 1,256008
0,175427
0,985433
0,261634
0,744326
1,032652
-0,158593
-2,504312
-0,202607
1,717544
1997 0,650646
0,851408
0,495744
-0,322394
-1,099211
-0,352683
0,792108
0,774435
0,764460
-2,529778
1998 -0,650646
-0,851408
-0,495744
0,322394
1,099211
0,352683
-0,792108
-0,774435
-0,764460
2,529778
1999 -0,453276
-0,119198
0,948919
1,007299
0,303355
0,227346
-2,375655
0,189273
-0,100497
-0,260923
2000 0,453276
0,119198
-0,948919
-1,007299
-0,303355
-0,227346
2,375655
-0,189273
0,100497
0,260923
Sin]n= 1, .., 10 pour i = 1 à 2000 (2000 trajectoires de 10 semaines)
1
2
3
4
5
6
7
8
9
10
1
100,38
91,78
92,08
93,40
92,76
86,46
77,66
75,82
76,36
77,97
2
99,83
109,42
109,29
107,97
108,96
117,13
130,68
134,15
133,48
131,00
3
96,34
91,42
88,93
95,75
104,20
95,21
98,38
89,78
92,40
87,96
4
104,02
109,85
113,16
121,83
112,18
123,04
119,33
131,03
127,59
134,32
5
97,86
92,07
89,73
98,12
95,22
103,95
122,94
118,11
110,48
123,36
6
102,40
109,07
112,16
102,79
106,14
97,43
82,56
86,12
92,26
82,80
--
.........
......... ......... ......... ......... ......... ......... ......... ......... .........
1995 94,01
93,29
88,90
87,84
84,72
80,54
81,27
92,21
93,24
85,66
1996 106,59
107,65
113,20
114,82
119,30
125,75
124,89
110,31
109,31
119,24
1997 103,42
108,03
110,86
109,20
103,47
101,77
105,99
110,29
114,71
101,19
1998 96,90
92,96
90,78
92,36
97,68
99,52
95,76
92,22
88,85
100,94
1999 97,86
97,38
102,22
107,62
109,38
110,75
98,45
99,49
99,10
97,92
2000 97,24
99,04
103,16
103,14
120,01
126,50
138,08
143,93
153,32
141,23
On remarquera que les trajectoires vont par paires « antithétiques » ; ainsi, les deux premières
trajectoires 1 et 2 sont liées par la relation U2n= −U1n pour n = 1, …, 10 (par exemple U11=
0,054991 et U21= − 0,054991). Plus généralement, à partir de la ième trajectoire impaire
obtenue par les 10 tirages Uin]n= 1, .., 10 on calcule la (i+1)ème trajectoire paire par Ui+1n = −Uin
pour n = 1, .., 10. On tire parti du fait que l’échantillon des −Ui est aussi légitime que celui
des Ui car la loi normale centrée est symétrique par rapport à 0. On obtient ainsi 2000
trajectoires pour S(t) à partir de 1000 ×10 tirages Uin seulement (et non pas 2000 ×10)4. Cette
méthode, dite des « variables antithétiques », permet d’économiser du temps de calcul et,
surtout, de s’assurer que la moyenne empirique des tirages U est exactement égale à 0.
Considérons maintenant un portefeuille contenant l’action s et des produits dérivés, par
exemple des options, écrits sur s. A chaque instant t, la valeur de ce portefeuille est une
fonction V(t, S(t)) présumée connue. Même si la fonction V est complexe et la distribution de
4
Naturellement, il est maladroit et inutile d’enregistrer les antithétiques −Ui dans le tableau des tirages
aléatoires car il suffit de calculer deux valeurs de S(n) à partir d’un seul tirage Uin. Nous avons inscrit les
antithétiques dans le tableau des Uij à seule fin de faciliter les explications.
6
©Roland Portait et Patrice Poncet
V(t, S(t)) n’a pas d’expression analytique, des trajectoires de V(t, S(t)) peuvent être construites
à partir de celles de S(t) à l’aide de la fonction V(t, S).
b) Simulations de Y(T) et de V(T, Y(T)) à la seule date T
Dans ce qui précède on a montré comment on simule des trajectoires (Yij, V(t, Yij)j= 1, .., N.
Dans de nombreux cas, notamment quand il s’agit d’évaluer des options européennes
d’échéance T ou d’apprécier une VaR à horizon T, seule la connaissance de la distribution
empirique de V(T, Y(T)) est utile. Il serait alors inutile et maladroit de simuler les valeurs
intermédiaires de Y(t) pour t<T si, comme dans les exemples précédemment étudiés, des
simulations de Y(T) peuvent être obtenues directement5.
Exemple 2
Reprenons l’exemple précédent dans lequel le seul facteur de risque Y(t) est le cours S(t) qui
suit le brownien géométrique de paramètres (annualisés) μ = 12% et σ = 36%.
Contrairement au cas de cet exemple, on ne s’intéresse ici qu’aux seules valeurs terminales
S(T) et V(T, S(T)). De préférence à (4) on utilise alors l’équation (5) suivante :
(5)
S(T) = 100 e(μ-σ /2)T +σ√TU
2
où U est une variable gaussienne standard.
Pour T = 10 semaines = 0,1923 années, (μ – 0,5σ2)T = 0,0105 et σ√T = 0,158 ; on s’appuie
donc sur : S(T) = 100 e 0,0105 + 0,158U.
On effectue alors, par exemple, 2000 tirages de U, Ui] i= 1, …, 2000 , auxquels on couple les
antithétiques, pour obtenir 4000 simulations de S(T) :
S(T)i =100 e 0,0105 + 0,158 Ui] i= 1, …, 2000 et les antithétiques S’(T)i = 100 e 0,0105
- 0,158 Ui
] i= 1, …, 2000
On calcule alors les 4000 valeurs V(T, S(T)i) et V(T, S’(T)i) correspondantes.
c) Applications
Application 1 : calcul d’une VaR et d’une TVaR (cf le chapitre ZZZ)
Le calcul de la VaR du portefeuille dont la valeur en date T est V(T, S(T)) est effectué à partir
des valeurs simulées de V(T, S(T)) et de la perte V(0, S(0)) − V(T, S(T)). Dans l’exemple 2 ci–
5
Dans certains cas la simulation de Y(T) ne peut être opérée « directement » et nécessite la simulation « pas à
pas » des Ytj)j= 1, …, N par l’application successive de l’équation (2) ; on revient alors au cas précédent. C’est la
situation qui prévaut quand une solution analytique de l’équation différentielle stochastique (1) ne peut être
obtenue, contrairement à l’exemple simple du mouvement brownien géométrique choisi à titre d’illustration
pédagogique dans les exemples introductifs de cette annexe.
7
©Roland Portait et Patrice Poncet
dessus, la VaR(10 jours, 5%) s’apprécie à l’aide du 200ème résultat le plus défavorable parmi
les 4000 valeurs simulées. En outre, la moyenne arithmétique des 200 pertes les plus élevées
donne la TVaR(10 jours, 5%).
Application 2 : évaluation d’une option européenne
Evaluons le prix O(0) une option européenne d’échéance T dont le payoff est V(T, S(T)).
Il peut s’agir d’une option non standard (dans le cas contraire, la formule de BS s’applique)
dont le payoff V(T, S(T)) peut prendre une forme complexe (mais connue) dont l’espérance ne
s’exprime pas de façon analytique. Les simulations de Monte Carlo permettent d’évaluer
simplement cette option en actualisant au taux sans risque la moyenne empirique du payoff
résultant de simulations élaborées à l’aide d’une dynamique « risque-neutre ». On procède de
la manière suivante :
- On simule M (M >1000) valeurs Si]i=1,…,M de S(T), déduites d’une dynamique « risqueneutre », et de M tirages gaussiens Ui , par exemple à l’aide de l’équation : Si = S(0) e(r-σ /2)T
2
+σ√Tui
.
Rappelons que dans l’univers « risque-neutre » l’espérance du taux de croissance du cours
S(t) est égal au taux d’intérêt r (différent de μ).
- On calcule les M valeurs V(T, Si)]i=1,…,M correspondantes du payoff.
- On calcule la moyenne arithmétique de ces M payoffs et on actualise le résultat sur une
durée T au taux r pour obtenir la valeur O(0) de l’option en date courante 0 :
O(0) = e-rT
1
M
M
∑V (T , S )
i
i =1
Exemple 3.
Reprenons les données des exemples 1 et 2 et supposons le taux r continu égal à 4% et
constant. Il s'agit d’évaluer la valeur O d’une option européenne d’échéance T = 10 semaines,
écrite sur une action de prix S(t) et de volatilité σ = 0,36. Le payoff de l’option est V(T, S(T)).
Les simulations de S(T) s’opèrent ici à partir de la formule :
S(T) = 100 e(r -σ /2)T +σ√T U =100 e -0,004769 + 0,158 U
2
A partir d’un tirage de 2000 valeurs Ui et de leurs antithétiques −Ui on obtient ainsi 4000
valeurs Si]i=1,…,4000 de S(T), donc 4000 valeurs V(T, Sj)]j=1,…,4000. La valeur de l’option sera
alors estimée à : O(0) = e-0,00769
1 4000
∑ V (T , S j ) .
4000 j =1
8
©Roland Portait et Patrice Poncet
Application 3 : évaluation d’une option « path-dependent »
Supposons maintenant que l’on cherche à évaluer une option « path-dependent », c'est-à-dire
dont la valeur dépend des valeurs prises par le sous-jacent entre 0 et T (date d’expiration de
l’option). Ce type d’option a été étudié dans le chapitre ZZ. Contrairement aux cas des
applications 1 et 2, on ne pourra donc se contenter de simuler la seule variable S(T) mais il
faudra procéder à des simulations de toute la trajectoire de S(t) entre 0 et T.
La méthode consiste à simuler M trajectoires de N points pour S(t) (comme indiqué dans le
paragraphe a) ci-dessus), d’associer à chaque trajectoire i (Si1, Si2 , . . . , SiN ) un payoff
actualisé Ψ(Si1, Si2 , . . . , SiN ) pour i =1, … , M et d’estimer le prix de cette option par la
moyenne :
1
M
M
∑ψ (Si1, Si2 , . . . , SiN ).
i =1
En pratique, l’évaluation d’une telle option par cette méthode exige des simulations
nombreuses et surtout très denses (le nombre N d’instants considérés entre 0 et T devant être
très élevé) pour éviter qu’un événement déterminant pour la valeur de l’option ne soit pas
détecté par la discrétisation. Un exemple simple suffira à illustrer le problème. Soit à évaluer
un call à barrière « down and in » dont la barrière activante est 110 (le cours actuel du sousjacent est 124 et le strike est 125). Supposons que, pour une trajectoire donnée, le cours
minimum qui aurait été observé avec un pas de temps de 1 heure soit de 109,90, ce qui aurait
activé l’option, et que le support termine à 134. La valeur terminale du call pour cette
trajectoire aurait donc été (134-125) = 9. Malheureusement, du fait de l’adoption d’un pas de
temps de 1 jour (correspondant par exemple au cours de clôture), le « vrai » minimum a été
manqué par la simulation qui indique un minimum de (par exemple) 110,25. La valeur
terminale retenue pour le call est alors 0 (au lieu de 9) pour cette trajectoire, le call n’ayant
pas été activé. De nombreuses trajectoires étant susceptibles de rencontrer ce problème, la
valeur simulée du call peut être significativement inférieure à sa « vraie » valeur, et ce
d’autant plus que le pas de temps adopté est grand, car le vrai minimum (continu) est toujours
plus petit que le minimum simulé. Dans d’autres exemples, la valeur simulée de l’option peut
au contraire être d’autant supérieure à la « vraie » valeur que le pas de temps adopté est
important.
Remarquons enfin que la méthode simple exposée ici est inadaptée au calcul de la valeur
d’une option américaine. En effet, la simulation procède nécessairement de façon forward,
9
©Roland Portait et Patrice Poncet
c’est-à-dire en parcourant le temps dans son sens naturel, de l’instant courant vers la maturité
T de l’option. Les différentes trajectoires simulées (vers l’avant) n’étant pas connectées les
unes aux autres, on ne peut pas en effet procéder en arrière, à partir de la maturité de l’option
(date à laquelle la valeur de l’option est connue) comme dans les arbres binomiaux à la CoxRoss-Rubinstein. Pour appliquer Monte Carlo avec succès, il faudrait pouvoir, à chaque pas
correspondant à une future date t, déterminer s’il est optimal ou non d’exercer l’option (quand
elle est dans la monnaie), ce qui suppose une estimation de sa valeur temps pour la durée (T-t)
restant à courir. Cette estimation est impossible puisqu’on ne sait jamais s’il sera optimal ou
non d’exercer l’option de manière anticipée.
Application 4 : évaluation des paramètres grecs d’une option
Supposons que le payoff V(T, S(T)) soit celui d’une option à évaluer. Il est possible, une fois
estimée la valeur O1(0) de celle-ci, d’en calculer les paramètres grecs. Pour ce faire, on utilise
une valeur légèrement différente pour le support (par exemple 101 au lieu de 100) si on veut
obtenir le delta, ou pour un paramètre, comme la volatilité ou le taux d’intérêt, si on désire
estimer une autre sensibilité (comme le véga ou le rho). Une seconde simulation est alors
effectuée avec cette nouvelle valeur, en maintenant identiques le nombre de périodes N et
celui des trajectoires M et en utilisant les mêmes suites Ui (et antithétiques –Ui) que celles de
la première simulation. On obtient ainsi une seconde valeur O2(0). Le paramètre grec est alors
calculé par la formule :
O2 (0) − O1 (0)
ΔS
où ΔS est la variation retenue du cours du sous-jacent ou du paramètre concerné (égale à 1
dans notre exemple chiffré).
4. Simulations de Monte Carlo dans le cas de plusieurs facteurs de risque :
décomposition de Choleski et copules
Considérons maintenant le cas plus général d’une position dont la valeur V(t, Y(t)) dépend de
F facteurs de risque Y ≡ (Y1, …, YF) qui sont le plus souvent corrélés ; on ne peut donc simuler
les réalisations des différents facteurs Yi(t) indépendamment les uns des autres. Comme
10
©Roland Portait et Patrice Poncet
précédemment, on distingue le cas où la simulation des trajectoires de Y(t) entre 0 et T est
nécessaire de celui où les seules valeurs terminales Y(T), V(T, Y(T)) sont utiles.
Dans les deux cas, le tirage d’une loi multivariée dont les composantes sont gaussiennes et
corrélées peut reposer sur la décomposition de Choleski dont en explique le principe dans le
paragraphe a) suivant. Les copules gaussiennes, présentées en b), permettent de représenter et
de simuler les réalisations d’un vecteur non gaussien à composantes corrélées. La simulation
de trajectoires d’un processus de diffusion multi-varié est décrite en c).
a) Simulation d’une variable normale multi-variée : décomposition de Choleski
Présentons d’abord la méthode dans le cas simple d’un vecteur aléatoire bidimensionnel
gaussien X ≡(X1, X2) dont les composantes ont des écarts-type respectivement égaux à σ1 et
σ2, des espérances égales à m1 et m2 et sont supposées liées par un coefficient de corrélation ρ
(ces différents coefficients sont présumées connus).
Dans la simulation du couple (X1, X2), on ne peut donc pas simuler indépendamment les deux
composantes du fait de leur corrélation.
Pour obtenir des tirages de (X1, X2) issus d’une loi qui respecte cette corrélation, nous posons :
X1 = m1 + λ11 U1
X2 = m2 + λ21 U1 + λ22 U2.
U1 et U2 sont des variables normales centrées réduites, indépendantes entre elles.
Pour que U1 ait un écart-type σ1, on doit avoir λ11= σ1. Pour que X2 ait un écart-type σ2 et sa
corrélation avec X1 soit égale à ρ, conformément aux hypothèses, il faut que les deux
conditions suivantes soient satisfaites : λ212 + λ222 = σ22 et λ11 λ21 = ρ σ1 σ2.
Ces deux conditions déterminent les deux coefficients : λ21 = ρσ2 et λ22 = σ2
(1-ρ 2 ) .
La variable bi-variée (X1, X2) s’écrit donc :
X1 = m1 + σ1U1 ;
X2 = m2 + ρσ2U1 + σ2 1 − ρ (.) 2 U2.
Il suffit alors de tirer un échantillon des deux variables centrées réduites indépendantes U1 et
U2 pour obtenir un échantillon de (X1, X2) satisfaisant toutes les propriétés requises : 2N
tirages d’une normale centrée réduite fournissent N tirages pour le couple (X1, X2), ou même
2N tirages en utilisant les antithétiques des U.
11
©Roland Portait et Patrice Poncet
Cette méthode, présentée dans le cas de deux variables, se généralise au cas d’un vecteur
gaussien F-dimensionnel X quelconque à composantes corrélées. On utilise alors la
décomposition de Choleski de la matrice de variance-covariance Σ de X présumée connue. En
effet, comme toute matrice symétrique définie positive, Σ peut s'écrire comme le produit
d’une matrice triangulaire Λ et de sa transposée Λ' : Σ = ΛΛ’ 6.
On écrit alors le vecteur X sous la forme : X = m + Λ U ;
Les F composantes de U sont des variables aléatoires gaussiennes centrées réduites,
indépendantes entre elles. N réalisations de X sont obtenues à partir de F ×N tirages U et de
leurs antithétiques.
De façon plus détaillée, les F composantes de X obéissent aux équations suivantes dont il
s’agit de déterminer les coefficients λij :
X1= m1 + λ11U1
X2= m2 + λ21U1 + λ22(.)U2
...
Xi = mi + λi1U1 + λi2U2 + . . . + λiiUi
....
XF = mF + λF1U1+ λF2U2 + . . . . . . . . . + λFFUF
Les λij sont déterminés de proche de proche (en commençant par λ11), à partir de la matrice de
variance covariance Σ de terme général σij, comme suit :
λ11 = √σ11, de manière à se conformer à la variance présumée de X1.
λ21 et λ22 comme solution des deux équations suivantes :
λ212+λ222 = σ22(.), pour se conformer à la variance présumée de X2;
λ11λ21 = σ12, pour se conformer à la covariance présumée de X1 et X2 ;
....
Les termes d’ordre général i, λi1, λi2, . . . , λii sont déterminés comme solutions des i
équations suivantes :
6
⎡ σ1
⎤
1 − ρ σ 2 ⎥⎦
⎣ ρσ 2
⎡σ2
ρσ σ ⎤
ρσ 2 ⎤
1 2⎥
⎢ 1
, dont le produit donne bien Σ = ⎢
.
⎥
2
2⎥
1− ρ σ2⎦
⎢ρσ σ
⎥
σ
2⎦
⎣ 1 2
En présence de deux facteurs, comme précédemment, on a Λ = ⎢
⎡σ 1
⎣0
et Λ’ = ⎢
12
0
2
©Roland Portait et Patrice Poncet
i
∑λ
= σii , pour se conformer à la variance présumée de Xi;
2
ij
j =1
i
∑λ λ
ij
kj
= σik , pour k = 1,. . . , i-1, afin de respecter les i-1 covariances présumées entre Xi
j =1
et Xk.
Un exemple d’application de la méthode est présenté dans le paragraphe c) suivant, dans
le contexte de la simulation d’une trajectoire.
b) Représentation et simulation d’un vecteur non gaussien à composantes corrélées à l’aide
d’une copule.
La méthode précédente permet de représenter et de simuler un vecteur gaussien à
composantes corrélées. Supposons maintenant qu’il s’agisse de simuler un vecteur à m
composantes non gaussiennes (X1, X2, …, Xm). Nous notons Fj la loi de distribution
inconditionnelle (ou marginale) de Xj. On rappelle que la loi marginale (ou inconditionnelle)
Fj(x) = Proba(Xj ≤ x)) est celle de Xj en absence de toute hypothèse concernant les Xk pour k≠ j
et que la loi jointe J(x1, x2, … , xm) = Proba (X1 ≤ x1 et X2 ≤ x2 … et Xm ≤ xm) diffère du produit
simple F1(x1) F2(x2)… Fm(xm) des lois marginales, sauf dans le cas particulier de variables Xj
indépendantes entre elles. Sauf dans des cas bien précis, tel que le cas gaussien, il n’existe pas
un moyen direct et univoque de représenter la loi jointe J en fonction des lois marginales Fj,
même quand on connaît les coefficients de corrélation ρjk entre Xj et Xk pour tous les couples j,
k7. Cependant, l’utilisation d’une copule permet une telle représentation. L’analyse qui suit est
centrée sur les copules gaussiennes, les seules utilisées dans cet ouvrage, le cas de copules
non gaussiennes étant simplement évoqué à la fin de ce paragraphe.
L’utilisation d’une copule gaussienne permet de « transformer » un vecteur gaussien (U1, U2,
…, Um) en un vecteur (X1, X2, …, Xm) non gaussien, d’obtenir ainsi, indirectement, une
représentation de la loi jointe de (X1, X2, …, Xm) et de procéder à des simulations de ce dernier
vecteur.
Pour expliquer les copules gaussiennes commençons par considérer le cas unidimensionnel
(dont l’intérêt est purement didactique) et par remarquer que, si X est une variable aléatoire
quelconque dont la loi de distribution est Φ, l'on a :
7
Dans des cas particuliers tel que celui de variables gaussiennes la loi jointe s’exprime analytiquement.
13
©Roland Portait et Patrice Poncet
pour tout y compris entre 0 et 1, Proba (Φ(X) ≤ y) ≡ y.
En effet, Φ-1 étant croissante : Proba (Φ(X) ≤ y) = Proba(X ≤ Φ-1(y)) = Φ(Φ-1(y)) = y.
Dans la suite N désignera la loi de distribution d’une variable U distribuée N(0,1) (normale,
centrée, réduite), donc N(u) =
1
2π
∫
u
e
−∞
1
− z2
2
dz , et on utilisera la remarque précédente (en
posant Φ = N, y = F(x)) qui implique que Proba (N(U))≤ F(x)) = F(x).
Montrons maintenant comment on peut transformer une variable normale centrée réduite U en
une variable aléatoire X de loi de distribution F quelconque donnée.
La correspondance entre U et X est décrite sous la forme de la proposition suivante :
Proposition
a) Soit une loi de distribution F quelconque et une variable U gaussienne centrée réduite. La
variable aléatoire X = F-1(N(U)) a F pour loi de distribution.
b) Réciproquement, soit une variable aléatoire X de loi de distribution F quelconque. La
variable aléatoire U = N-1(F(X)) est normale, centrée, réduite.
Démonstration de a). Proba(X≤x) = Proba(F-1(N(U))≤x) = Proba(N(U))≤ F(x)) = F(x) (la
dernière égalité est obtenue en vertu d’une remarque précédente). Donc Proba(X≤x) = F(x) et
F est bien la loi de distribution de X. La démonstration de b) suit des voies analogues.
Corollaire : L’on obtient des tirages aléatoires xi d’une loi F quelconque à partir de tirages ui
aléatoires d’une loi normale N(0,1) par la correspondance : xi = F-1(N(ui)).
Intuitivement cette correspondance, qui s’écrit aussi F(xi) = N(ui) = pi, signifie que xi et ui
correspondent au même pi-quantile de leur loi de distribution respective : à chaque tirage ui,
qui correspond à un pi-quantile de la loi N (pi = N(ui)) on associe le pi-quantile xi de la loi
F selon la succession de correspondances suivantes :
ui
pi = N(ui)
xi = F-1(pi).
On remarquera que cette méthode repose sur les mêmes principes que celle, décrite au début
du chapitre, consistant à obtenir des tirages issus de F à partir d’un échantillon ai tiré d’une loi
uniforme (xi = F-1(ai)).
En fait, la méthode est surtout utile quand elle est appliquée, sous une forme plus générale, à
des distributions multi-variées à composantes corrélées. En effet, elle permet de construire un
14
©Roland Portait et Patrice Poncet
échantillon tiré d’une loi multivariée (X1, …, Xm) où la loi marginale de la composante Xj,
notée Fj, est donnée et où les différentes composantes sont corrélées entre elles.
Dans un premier temps, la méthode consiste en la construction d’un échantillon [ui ≡ (ui1, …,
uim)]i=1,…,N de N tirages d’un vecteur gaussien (U1, …, Um) dont les composantes Uj suivent
toutes la même loi marginale N(0,1) et sont liées les unes aux autres par des coefficients de
corrélation ρjk = cor(Uj,Uk) donnés, qualifiés de corrélations de copule et choisis
« conformes » à la corrélation désirée entre Xj et Xk. Dans la suite i désigne un élément de
l’échantillon ou tirage (m-dimensionnel) et j ou k des composantes (uni-dimensionnelles).
L’échantillon des ui est, par exemple, obtenu par l’application de la méthode décrite dans le
paragraphe a) précédent (décomposition de Choleski).
Dans un deuxième temps, on fait correspondre à chaque ui ≡ (ui1, …, uim) un xi ≡ (xi1, …, xim)
avec : xi1 = F1-1(N(ui1)), …, xim= Fm-1(N(uim)). L’échantillon [(xi1, …, xim)]i=1,…,N ainsi obtenu
a des composantes tirées des lois marginales Fj désirées et leurs corrélations sont fonction des
corrélation de copule ρjk = Cor[Uj,Uk].
On retiendra que le coefficient de corrélation entre Xj et Xk est une fonction de ρjk mais diffère
en général de ce dernier (car Cor[Fj-1(N(Uj)), Fk-1(N(Uk))] ≠ Cor[Uj,Uk]).
Exemple 4
Considérons deux variables T1 et T2 distribuées selon des lois exponentielles, les deux
distributions marginales étant respectivement :
F1(t) = Proba(T1 ≤ t) = 1 – e-λ1t ; F2(t) = Proba(T2 ≤ t) = 1 – e-λ2t
λ1 et λ2 sont deux paramètres positifs en général compris entre 0 et 1.
Nous expliquons dans le chapitre ZZ que de tels modèles sont utilisés pour représenter les
distributions de probabilité des premières dates de défaut de deux créances affectées, dans un
intervalle de durée dt, par des probabilités de défaillance respectivement égales à λ1dt et λ2dt
(processus de Poisson d’intensités λ1 et λ2). Nous supposons en outre que les deux variables
T1 et T2 sont corrélées et nous allons tenir compte de cette corrélation à l’aide d’une copule
gaussienne.
Nous allons donc associer à T1 et T2 deux variables U1 et U2 distribuées N(0,1) et liées entre
elles par une corrélation de coefficient ρ.
- Dans un premier temps, nous simulons des réalisations d’un tel couple gaussien (U1, U2).
Pour ce faire on peut simplement écrire U2 = ρU1 +
1 − ρ 2 V avec V distribué N(0,1) et
indépendant de U1, réaliser un nombre égal M de tirages indépendants de chacune des deux
15
©Roland Portait et Patrice Poncet
gaussiennes standard U1 et V et d’en déduire, pour chacun des M couples de réalisations (u1,
v) les valeurs correspondantes de u2 = ρ u1 +
1 − ρ 2 v ; les M couples (u1, u2) ainsi calculés
et leurs antithétiques (-u1, -u2) forment un échantillon de 2M éléments tirés d’une loi normale
bivariée de corrélation ρ.
- Dans un deuxième temps on associe à chaque couple (u1, u2) le couple (t1, t2) tel que :
λ1t1
1 – e-
= N(u1), soit t1 = –
(ou ti = –
1
λi
1
λ1
Ln(1 – N(u1)) = –
1
λ1
Ln(N(–u1)) ; t2 =–
1
λ2
Ln(N(–u2))
Ln(N(ui) en utilisant les antithétiques).
Les couples (t1, t2) ainsi calculés sont présumés tirés de la loi jointe de (T1, T2). Le coefficient
de corrélation entre T1 et T2 impliqué par la corrélation de copule ρ peut être estimé
« empiriquement » à l’aide de l’échantillon des 2M couples (t1, t2) ainsi construit; une trop
grande divergence de ce coefficient par rapport à celui souhaité a priori peut conduire à itérer
la simulation avec différentes valeurs de ρ.
A titre d’exemple, une simulation a été effectuée avec les paramètres suivants : corrélation de
copule ρ = 0,3 ; λ1 = 5% ; λ2= 4%. Le tableau ci-dessous reproduit 4 tirages (v, u1) de cette
simulation qui permettent de calculer 4 couples (u1, u2), puis 4 couples (t1, t2) représentant les
temps restant à courir (en années) avant les premiers défauts.
v
0,41352791
-0,03622972
-0,7020958
-0,6094092
u1
0,09857445
-1,75234618
1,59387127
-0,94007646
u2 =
0,3* u1+ 0,954* v
0,42405282
-0,56026481
-0,19159533
-0,86336226
t1=
N(u1)
0,53926198
0,03985711
0,94451757
0,17358915
-Ln(N(u1))/λ1
N(u2)
0,66423632
12,3510756
0,28764938
64,4490913
0,42402962
1,14161989
0,19396911
35,0212792
t2=
-Ln(N(u2))/λ2
6,81862148
20,766883
14,2991996
27,3342723
À titre indicatif, dans une simulation de 20000 tirages (nombre très faible) on a obtenu, à
partir d’une corrélation de copule égale à 0,3, un coefficient de corrélation empirique entre T1
et T2 égal à 0,264, ce qui pourrait justifier une deuxième simulation avec un coefficient ρ =
0,34.
Dans le chapitre ZZ, on s’appuiera sur cet exemple afin d’illustrer l’évaluation de CDS first et
second to default.
Notons pour terminer que l’on peut définir une copule à partir de lois de distribution non
gaussiennes. Considérons simplement l’exemple de la t-copule (ou copule de Student) dont la
16
©Roland Portait et Patrice Poncet
mise en œuvre s’appuie en fait sur une copule gaussienne. Quand on utilise une copule de
Student avec f degrés de liberté on procède comme suit :
- on effectue un tirage χ d’une distribution χ2 avec f degrés de liberté (les fonctions Excel, par
exemple, permettent un tel tirage) ;
- on tire un vecteur gaussien u d’une distribution normale multivariée à composantes
corrélées, par exemple à l’aide d’une décomposition de Choleski ;
- on définit le vecteurs M-dimensionnels y =
f / χ u dont les M composantes yi sont
corrélées et dont la loi marginale est tf (loi de Student avec f degrés de liberté) ;
- on obtient les M composantes xi par la correspondance xi = Fi-1(tf(yi)); on construit ainsi un
premier vecteur x = (F1-1(tf(y1)), …, FM-1(tf(yM)) ;
- on recommence l’opération N fois pour obtenir un échantillon de N vecteurs x.
On peut montrer que les corrélations entre les composantes Xi des vecteurs obtenus à l’aide
d’une copule de Student augmentent sur les plages de valeurs extrêmes (alors qu’on montre
qu’elles sont constantes avec une copule gaussienne). Cette propriété de la corrélation sur les
queues de distribution (tail correlation) constitue un avantage de la copule de Student sur la
Gaussienne, puisque l’on observe que les corrélations des variables de marché augmentent
effectivement dans les conjonctures de crise.
c) Simulation des trajectoires
Les simulations des trajectoires du vecteur aléatoire de F facteurs Y(t) entre 0 et T doivent
tenir compte de la structure des corrélations telle qu’elle est exprimée par la matrice de
variance-covariance Σ(t) des variations de ces F facteurs. Selon que l’on utilise une
représentation de la dynamique de Y(t) en en temps continu (équation 1) ou temps discret
(équation 2), le terme général de la matrice Σ(t) s’écrit :
σ'ij (t,Y(t)) =
1
cov(dYi, dYj) , pour i, j = 1, …, F en temps continu ;
dt
σij (t,Y(t)) = σ'ij (t,Y(t)) Δt et σi = √σii = σ'i√Δt en temps discret.
Les primes désignent ici les paramètres annualisés pour les distinguer des paramètres
correspondant à des périodes de durée Δt.
Comme les simulations de Monte Carlo requièrent une discrétisation des processus continus,
c’est la deuxième formulation (en temps discret) qui est utilisée en pratique.
17
©Roland Portait et Patrice Poncet
Par ailleurs on note ρij(t,Y(t)) =
σ ij
le coefficient de corrélation entre les variations des
σ iσ j
facteurs i et j ; m(t,Y(t)) désigne la dérive de Y entre t et t + Δt (m = μ Δt si μ est la dérive
annualisée).
Comme dans le paragraphe 3-a, on décompose la période (0, T) en N périodes de durée Δt =
T/N notées (tj-1, tj) (j= 0, . . . , N ; t0 = 0 et tN = T) et on exprime les variations de la première
composante Y1 entre tj-1 et tj à l’aide de l’équation discrétisée de type (2) :
Y1(tj ) – Y1(tj-1) = m1(tj-1,Y(tj-1)) + λ11(tj-1,Y(tj-1)) U1(j) , pour j=1, …, N,
où les variables U1(j) sont normales, centrées, réduites et sériellement indépendantes.
Les variations des différents Yi doivent être corrélées entre elles. Pour les représenter, on
utilise une décomposition triangulaire de Choleski telle qu’elle a été présentée dans le
paragraphe a) ci-dessus, qui, dans ce contexte, conduit à poser :
Y1(tj ) – Y1(tj-1) = m1(.) + λ11(.)U1(j)
Y2(tj ) – Y2(tj-1) = m2(.) + λ21(.)U1(j) + λ22(.)U2(j)
...
Yi(tj ) – Yi(tj-1) = mi(.) + λi1(.)U1(j) + λi2(.)U2(j) + . . . + λii(.)Ui(j)
....
YF(tj) – YF(tj-1) = mF(.) + λF1(.)U1(j) + λF2(.)U2(j) + . . . . . . . . . + λFF(.)UF(j)
où les Ui(j) sont des variables normales centrées réduites, sériellement indépendantes et
indépendantes entre elles et où, pour simplifier l’écriture, (.) représente (tj-1,Y(tj-1)).
Deux trajectoires de N points pour Y sont obtenues à partir de F ×N tirages U et de leurs
antithétiques.
Selon la procédure expliquée en a), les λij(.) sont déterminés de proche de proche (en
commençant par λ11), à partir de la matrice de variance covariance Σ(.) de terme général σij, et
sont solutions des i équations suivantes :
i
∑λ
= σii , pour se conformer à la variance présumée de Yi(tj) – Yi (tj-1) ;
2
ij
j =1
i
∑λ λ
ij
kj
= σik , pour k = 1,. . . , i-1, afin de respecter les i-1 covariances présumées entre la
j =1
variation de Yi(t) et celle des Yk(t).
Exemple 5: simulations sur un modèle à trois facteurs (cours, taux et volatilité stochastiques)
18
©Roland Portait et Patrice Poncet
Considérons un portefeuille composé de TCN, d’une action (ou un indice) et d’options sur
l’action dont la valeur dépend de trois facteurs aléatoires: le taux d’intérêt r, le prix S de
l’action et la volatilité σ de l’action qui influence la dynamique de S et le cours de l’option.
Ces trois facteurs sont présumés suivre le processus de diffusion tridimensionnel suivant régi
par les trois browniens standards indépendants w1, w2, w3:
dr = a(b − r(t)) dt + λ11 dw1
(r)
dS/S = (r(t) + θ) dt + λ21(.) dw1 + λ22(.)dw2
(S)
dσ = c(φ(S(t)) − σ(t)) dt + λ31(.) dw1+ λ32(.) dw2 + λ33(.)dw3
(σ)
Ces trois équations (r), (S) et (σ) requièrent des explications.
- Equation (r) : Le taux r(t) suit un processus d’Orstein-Uhlenbeck avec une force de rappel
d’intensité a qui l’attire vers une valeur normale b. λ11 est égal à l’écart-type instantané σr des
variations du taux. Les trois paramètres a, b et σr sont supposés constants et connus. Ce
processus gaussien est celui qui sous-tend le modèle de taux de Vasicek (cf. annexe G1 et
chapitre UU).
- Equation (S). L’équation de la rentabilité dS/S de l’action met en évidence une prime de
risque supposée constante θ qui s'ajoute au taux d'intérêt de sorte que, à chaque instant,
l’espérance de rentabilité de l’action est égale à r(t) + θ.
Les coefficients λ21(.) et λ22(.) doivent être compatibles avec la volatilité σ(t) de l’action qui
suit le processus représenté par la troisième équation (σ); cette condition s’écrit :
(c1)
λ21(.)2 + λ22(.)2 = σ2(t)
En outre, le coefficient λ21(.) est choisi de sorte que la corrélation (négative) des mouvements
du taux r et du cours S soit au niveau désiré ρ1 donné et supposé constant; cette exigence
implique donc σr λ21(.) = ρ1 σr σ(t), soit une deuxième condition :
(c2)
λ21 = ρ1 σ(t)
Les deux conditions (c1) et (c2) conduisent donc aux valeurs de λ21 et λ22 :
λ21 = ρ1 σ(t) ; λ22 = σ(t) 1 − ρ12
- Equation (σ). La volatilité σ(t) suit un processus impliquant une force de rappel vers une
valeur normale φ(S(t)) qui dépend négativement du niveau du cours S. Nous avons déjà
19
©Roland Portait et Patrice Poncet
signalé que l’on observe que la volatilité est d’autant plus forte que le cours est bas et que ce
phénomène s’explique théoriquement par l’effet de levier (cf. notamment le chapitre ZX).
Les coefficients λ31, λ32 et λ33 autorisent une corrélation avec r et avec S et sont déterminés
par ces deux corrélations et par l’écart-type présumé des variations de volatilité (3 équations).
λ31 = 0 (on suppose que le taux d’intérêt et la volatilité sont non corrélés) ;
λ322 + λ332 = k2 (k représente l’écart-type instantané de la volatilité, supposé donné) ;
λ22λ32 =ρ2 k σ (la corrélation entre la variation relative du cours S et la volatilité est
supposée égale à ρ2, donnée) ;
1 − ρ12 − ρ 22
ρ2k
.
et λ33 = k
1 − ρ12
1 − ρ12
On en déduit donc : λ32 =
Le processus de diffusion régissant les trois facteurs qui respecte les volatilités et les
corrélations désirées s’écrit alors:
dr = a(b − r(t)) dt + σr dw1
2
dS/S = (r(t) + θ) dt + ρ1 σ(t) dw1 + σ(t) 1 − ρ1 dw2
dσ = c(φ(S) − σ(t)) dt +
1 − ρ12 − ρ 22
ρ2k
dw3 .
dw2 + k
1 − ρ12
1 − ρ12
Ce processus tridimensionnel est écrit en temps continu ; la simulation de Monte Carlo repose
sur une discrétisation de ce processus :
r(tj) − r(tj-1) = a(b − r(tj-1)) Δt + σr √Δt U1
2
S(tj) − S(tj-1) = S(tj-1)[(r(tj-1) + θ) Δt + ρ1 σ(tj-1)(.)√Δt U1 + σ(tj-1)√Δt 1 − ρ1 U2]
ρ2k
1 − ρ12 − ρ 22
σ(tj) − σ(tj-1) = c[φ(S(tj-1)) − σ(tj-1)]Δt +
√Δt U3.
√Δt U2 + k
1 − ρ12
1 − ρ12
Pour une application numérique avec des pas hebdomadaires (Δt =1/52 = 0,1923), on pourra
choisir, par exemple, les paramètres suivants :
a = 0,18 ; b = 0,04 ; σr = − 0,2 ; θ = 0,05 ; ρ1 = 0,30 ; c = 0,5
; ρ2 = - 0,2
; k = 0,08.
On pourra choisir φ(S(t)) égale à une constante (par exemple 0,3) ou une fonction décroissante
2
⎛ 2 S (0) ⎞
de S(t), par exemple : φ(S(t)) = 0,15×(1 + ⎜
⎟ ); la volatilité annualisée « normale »
⎝ S (0) + S (t ) ⎠
20
©Roland Portait et Patrice Poncet
est ainsi égale à 0,3 pour un cours S(t) = S(0) actuel, mais elle est multipliée par 2,5 quand S(t)
tend vers zéro et divisée par 2 quand il tend vers l’infini.
Deux trajectoires de 52 points hebdomadaires seront obtenues à partir de 156 tirages de U et
leurs antithétiques ; la simulation de 1000 trajectoires sur un an requiert donc 78000 tirages
(en comptant Uj et son antithétique pour un seul tirage).
5. La précision, le temps de calcul et quelques techniques de réduction de la variance
Les simulations de Monte Carlo sont parfois très gourmandes en temps calcul. En fait, dans la
plupart des applications, un compromis s’impose entre deux objectifs antinomiques : la
précision et la richesse des informations empiriques obtenues (que l’on souhaite maximum),
qui croît avec le nombre de simulations opérées ; le temps de calcul (que l’on souhaite
minimum). Une procédure « efficace » conduit à une précision suffisante obtenue au prix d’un
temps calcul limité.
Pour cerner de façon plus précise cette notion d’efficacité et indiquer quelques techniques
pour l’accroître, nous supposerons que l’on cherche à estimer, par des simulations de Monte
Carlo, un paramètre e de la distribution de V(T, Y(T)). Il peut s’agir d’un quantile de cette
distribution (c’est par exemple le cas quand il s’agit d’apprécier une VaR), d’une espérance
(par exemple si on cherche à évaluer une option), ou un moment quelconque de la distribution
de V(T, Y(T)).
Considérons le cas d’un Monte Carlo simple (par opposition à un Monte Carlo intégrant des
techniques sophistiquées dont certaines sont introduites plus avant). Appelons M le nombre de
simulations qui conduisent à un estimateur ê du paramètre e. L’erreur standard de ê, égal à la
racine carrée de la variance de ê divisée par M, est donc inversement proportionnel à √M : le
nombre de simulations devra donc être quadruplé si l’on souhaite doubler la précision de ê
(quand celle-ci est mesurée avec l’erreur standard). Cependant plusieurs techniques peuvent
être mises en œuvre pour améliorer l’efficacité des simulations.
a) Variables antithétiques et contrôle des moments
Nous avons déjà présenté la technique des variables antithétiques consistant à associer à
chaque tirage Uj son opposé - Uj. On divise ainsi le nombre de tirages par deux et, surtout, on
21
©Roland Portait et Patrice Poncet
s’assure que la moyenne empirique de l’échantillon des U est bien nulle, ce qui peut
grandement contribuer à l’efficacité de l’estimateur e$ .
Dans le même ordre d’idées, après avoir introduit les antithétiques qui fixent la moyenne à 0,
on peut s’assurer que l’écart-type empirique de l’échantillon des Uj est exactement égal à 1 : il
suffit de diviser tous les Uj par leur écart-type empirique (
1 M
U j 2 ) pour obtenir un
∑
M − 1 j =1
échantillon parfaitement standardisé.
b) Variable de contrôle
Une autre technique qui permet d’améliorer l’efficacité des simulations est celle de la
« variable de contrôle » (« control variate » en anglais).
Pour faciliter l’explication, on suppose que le paramètre e qu’il s’agit d’estimer représente
l’espérance de V(T, Y(T)). Supposons également qu’il existe par ailleurs une variable aléatoire
V’(T, Y(T)) fortement corrélée avec V(T, Y(T)) dont l’espérance e’ est proche de e (bien que
différente) et que e’ est connue. Plutôt que d’estimer e à partir de simulations sur V à l’aide de
l’estimateur standard ê =
1
M
M
∑V (T ,Y ) , on a intérêt à utiliser la connaissance que l’on a de
i
i =1
e’ et à estimer l’écart δ = e – e’ à l’aide de simulations sur V – V’. Dès lors, sous sa forme la
plus simple, la méthode de la variable de contrôle se présente comme suit :
1
- on calcule à partir de N simulations Yi : δ$ =
M
M
∑ (V (T , Y ) − V ' (T , Y )) ;
i
i
i =1
1
- l’estimateur utilisé pour e sera alors : ê1 = e’ + δ$ (plutôt que ê =
M
M
∑V (T ,Y ) ).
i
i =1
On peut comprendre intuitivement que les « erreurs d’échantillon » affectant les Yi
affecteront les valeurs V’(T, Yi) dans les mêmes proportions que les V (T, Yi) sans affecter
sensiblement l’écart δ$ entre les deux (les erreurs ayant tendance à se compenser). Ainsi,
grâce à l’utilisation de la variable de contrôle (V’, e’) , on obtient un estimateur ê1 qui peut
être sensiblement plus efficace que l’estimateur standard ê. Intuitivement encore,
l’amélioration de l’efficacité dépend de manière cruciale du degré de corrélation entre les
V(T,Y(T)) et les V’(T, Y(T)). Le choix d’une « bonne » variable de contrôle est donc
prépondérant.
Application 4 et exemple
22
©Roland Portait et Patrice Poncet
Supposons qu’une simulation de Monte Carlo ait pour but d’évaluer une option d’achat
« path-dependent ». L’estimation de cette dernière requiert des simulations « serrées » de
toute la trajectoire du sous jacent, très coûteuses en temps calcul (cf. application 3, §3-c
supra).
Supposons qu’une option d’achat européenne classique écrite sur le même sous-jacent soit
cotée sur le marché et évaluable analytiquement avec une formule de type BS. Le prix e’ de
cette option européenne « homologue » est donc connu et égal à l’espérance « risque-neutre »
du payoff V’(T, S(T)) actualisé : e’ = e-rT E(V’(T, S(T)).
Le prix e de l’option exotique « path-dependent » homologue est inconnu, légèrement
supérieur à e’ et égal à la valeur présente de l’espérance risque neutre des payoffs qu’elle
induit. Ces payoffs dépendent de la trajectoire de S(t).
Rappelons que la méthode de Monte Carlo simple consiste à simuler M trajectoires de N
points pour S(t), à associer à chaque trajectoire i simulée (Si1, Si2 , . . . , SiN ) un payoff
actualisé Ψ(Si1, Si2 , . . . , SiN ) et à estimer le prix de cette option par la moyenne :
ê=
1
M
M
∑ψ (Si1, Si2 , . . . , SiN ).
i =1
L’utilisation de la variable de contrôle (e’, V’(T, S(T)) consiste à estimer l’écart δ = e – e’ à
1
l’aide de la moyenne empirique δ$ =
M
M
∑ (ψ (S
i
1
)
,..., S i N ) − e − rTV (T , S i N et à utiliser
i =1
ê1 = e’ + δ$ comme estimateur du prix de l’option exotique. Intuitivement, l’information
contenue dans le prix (connu) de l’option européenne et pertinente à l’estimation de son
homologue exotique est utilisée pour améliorer l’estimation de cette dernière.
Nous présentons maintenant brièvement une version améliorée et plus complexe de la
méthode de la variable de contrôle. Supposons encore qu’il s’agisse d’estimer l’espérance e
de la distribution de V(T, Y(T)) et que la variable aléatoire V’(T, Y(T)), corrélée avec V(T,
Y(T)), a une espérance e’ connue. Notons ê’ l’estimateur
connu et ê =
1
M
1
M
M
∑V ' (T , Y )
i
de ce paramètre e’
i =1
M
∑V (T , Y )
i
l’estimateur standard du paramètre e inconnu qu’il s’agit
i =1
d’améliorer.
Considérons la famille d’estimateurs :
e$ α = ê − α (ê’− e’), où α est un nombre réel.
23
©Roland Portait et Patrice Poncet
On remarquera que l’estimateur ê1 précédemment décrit est le membre de cette famille obtenu
avec α =1, car il s’écrit :
ê1 = e’ +
1
M
M
∑ (V (T , Y ) − V ' (T , Y )) = e’ + (ê −
i
i
ê’ ) = e$ α avec α =1.
i =1
Intuitivement l’estimateur e$ α est obtenu en corrigeant l’estimateur standard ê d’une fraction
α de la différence ê’− e’ qui provient de « l’erreur d’échantillon ». Cependant, en général, le
meilleur estimateur e$ α n’est pas obtenu avec α = 1 mais avec le paramètre α = α* qui
minimise la variance de e$ α : Var ( e$ α ) = Var (ê) + α2 Var (ê’ ) − 2α Cov( ê, ê’).
Ce minimum est atteint pour α* =
Cov(ê, ê' )
qui est le coefficient de la régression de ê sur ê’.
Var (ê' )
Ce coefficient de régression peut être obtenu à partir d’une série chronologique de valeurs
simulées de ê et ê’ par la méthode de Monte Carlo. Ainsi, le meilleur estimateur qui s’appuie
sur la variable de contrôle (V’(.), e’) est e$ α * et non ê1.
c) Echantillonnage par degré d’importance (importance sampling)
Pour expliquer la méthode, prenons l’exemple de l’évaluation d’une option dont le payoff est
V (T, S(T)). Le nombre de trajectoires aboutissant à une valeur nulle de cette option est
typiquement grand, voire très grand si l’option est très en dehors de la monnaie. Dans le cas
d’une option de type européen, ces (très) nombreuses trajectoires à valeur terminale nulle ne
contribuent pas au prix actuel recherché de l’option, et leur obtention constitue donc un
gaspillage de temps de calcul. Pour cette raison, il est judicieux de tenter d’obtenir des
trajectoires pour lesquelles l’option termine dans la monnaie.
Appelons F la distribution de probabilité (risque neutre) non conditionnelle de la valeur S(T)
du sous-jacent en T. Prenons le cas d’un call et supposons connue de façon analytique la
probabilité p que S(T) soit supérieure au strike K (cette formule analytique peut être exacte8 ou
constituer une approximation d’une formule non analytique). Alors G = F/p est la distribution
de probabilité de S(T) conditionnelle au fait que S(T) est supérieure à K. Dans les simulations,
les échantillons sont tirés de la loi G et non de la loi F. En multipliant le résultat (la moyenne
des valeurs obtenues pour le call) actualisé au taux sans risque par la probabilité p, on obtient
une estimation de la valeur de l’option9. Pour le même temps de calcul, cette procédure
8
Par exemple N(d2) dans le cas du modèle de BS.
La valeur du call est égale à C = e-rT[E[S(T)| S(T) ≥ K] – K]ξProba [S(T) ≥ K], et, dans le modèle de BS,
Proba[S(T) ≥ K] est égale à N(d2).
9
24
©Roland Portait et Patrice Poncet
permet de simuler beaucoup plus de trajectoires « utiles », et donc d’améliorer sensiblement
l’efficacité de l’estimateur.
d) Echantillonnage stratifié (stratified sampling)
L’échantillonnage stratifié est une méthode efficace de tirer des échantillons à partir d’une
population quand il existe des sous-populations (strates) relativement hétérogènes entre elles.
Elle consiste à tirer de façon indépendante des échantillons de chaque sous-population, dont
les membres, relativement homogènes entre eux, ont été regroupés. Cette procédure peut
améliorer le caractère représentatif de l’échantillon complet et permettre de réduire l’erreur
d’estimation : la moyenne, pondérée convenablement (par exemple en proportion de la taille
relative des sous-populations), des moyennes des sous-échantillons présente moins de
variabilité que la moyenne arithmétique d’un échantillon unique tiré de la population entière.
Appliquée au problème d’évaluation d’un actif, la méthode revient à décomposer la
distribution de probabilité du cours de ce dernier en différents intervalles, à tirer des
échantillons dans chacun d’eux et à en calculer la moyenne. Si le nombre d’intervalles est
relativement élevé, la taille de chacun étant donc relativement petite, on peut considérer que
cette moyenne est représentative de tout l’intervalle. Quand on échantillonne dans un
intervalle, on prend alors toujours cette valeur représentative. Par exemple, dans le cas d’une
gaussienne centrée réduite N(0,1) découpée en n intervalles équiprobables, la valeur
représentative pour le ième intervalle peut être calculée par N-1((i - 0,5)/n) où N-1(x) est
calculable par une procédure numérique simple. A titre d’illustration, si l’on retient n = 4
intervalles de probabilités, nous obtenons N-1(0,125), N-1(0,375), N-1(0,625), et N-1(0,875),
ce dernier terme valant à peu près 1,15. Notons toutefois qu’en général il n’est pas optimal de
choisir des quantiles identiques, un gain de temps de calcul pouvant être obtenu en prenant
des quantiles plus importants pour les queues de la distribution.
25