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