Mémoire de Projet de Fin d`Etudes Construction des courbes de
Transcription
Mémoire de Projet de Fin d`Etudes Construction des courbes de
Royaume du Maroc UNIVERSITÉ MOHAMED V AGDAL - RABAT ÉCOLE MOHAMMADIA D’INGÉNIEURS Département Modélisation et Informatique Scientifique Mémoire de Projet de Fin d’Etudes Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux En vue de l’obtention du diplôme d’Ingénieur d’État Soutenu le : 02/06/2015 Présenté par : M r ABBADI Othmane Devant le jury composé de : M r Ali ADLI P.E.S. EMI Président M me Joumala EL ALAOUI P.E.S. EMI Rapporteur M me Rajae ABOULAICH P.E.S. EMI Encadrant M r Yann LANCIEN SG CIB Parrain M me Safae BADRAOUI SG ATS Marraine Année universitaire 2014/2015 Résumé Depuis la crise financière de 2008, le monde de la finance a vu plusieurs changements radicaux. La construction des courbes de taux n’a pas fait l’objet d’une exception. En effet, la construction d’une courbe de taux suivait une méthodologie dite mono-courbe, qui n’était plus cohérente avec l’évolution du marché après la crise. Une nouvelle approche, dite multi-courbes, a donc été réalisée. L’objectif principal de ce travail est d’élaborer les formules utilisées par Kondor+ pour la construction des courbes de taux et de réaliser un outil de construction de courbes de taux dans le cadre de l’approche multi-courbes. Il s’agira ensuite de mettre en place un outil de comparaison entre courbes de taux. i Abstract The last few years have been among the most turbulent ever seen in the financial market. The credit and debt crisis brought a lot of changes to the market practices and yield curves construction was no exception. The pre-crisis methodology was a one-curve approach, that did no longer match the market’s behaviour once the crisis hit. Consequently, a new approch called the "multi-curves" approach, was introduced. The main purpose of this internship is to understand how the yield curve is built in Kondor+ software and provide a yield curve generator tool based on the "multi-curves" approach, as well as a comparison tool,. ii jÊÓ H@ JÓ ZA @ éJ ÊÔ« IÓ Jj HAJ éK P Yg . Q ª K éJ ËAÖÏ @ @ñB@ I ¯Q« , 2008 éÓP@ YJÓ à@ i @ . Yg@ð úæj I KA¿ JÓ úΫ YÒJªK éJ ÊÒªË@ è Yë Y® ¯ .IË@ YªK ÕË éJ j.îDÖ Ï @ è Yë . XYªK éJ j.îDÖß. IJ.®Ë , øQk@ é®K Q£ úÍ@ øX@ AÜØ , éÓPB@ YªK. éJ ËAÖÏ @ @ñB@ Pñ¢ ø PAm.' JÖ Ï @ Jj . HAJ ¬YîE éJ AK QË@ ©J Ë@ hQå úÍ@ ÉÒªË@ @ Yë ÈñjÊË Kondor l×. AKQ.Ë@ AêÊÒªJ ú æË@ JjJÖÏ @ ZA B è@X@ ém.× QK. Ég. @ áÓ JjJÖÏ @ úΫ AêËAÒªJ@ Y¯ , HAJ l. ' AJJË@ éKPA®Ó ð HAJ .AîD Ê« ÉjÖÏ @ iii Remerciements Au terme de mon projet de fin d’études, ma sincère reconnaissance va à tous ceux qui, de près ou de loin, ont contribué à l’aboutissement et au bon déroulement de ce travail. Je tiens tout d’abord à adresser mes sincères remerciements à mes encadrants de stage, M me BADRAOUI Safae, analyste quantitatif à Société Générale Africa Technologies & Services (SG ATS), et M r LANCIEN Yann, analyste quantitatif à Société Générale Corporate & Investment Banking (SG CIB), pour leur précieux suivi, leurs remarques pertinentes et leur encouragement tout au long de mon stage. Je tiens également à exprimer ma gratitude à mon encadrant à l’Ecole Mohammadia d’Ingénieurs, M me ABOULAICH Rajae, pour ses directives précieuses, la qualité de son suivi et l’intérêt qu’elle n’a cessé de témoigner à mon stage. Je ne manquerai d’exprimer mes remerciements à M me KADDOURI Sara, analyste quantitatif à SG ATS, pour son aide précieuse et ses conseils. Je remercie également toute l’équipe SG ATS, d’avoir bien voulu de partager leurs connaissances et leur professionnalisme avec moi. Je tiens également à remercier M me EL ALAOUI Joumala et M r ADLI Ali, pour avoir accepté d’évaluer ce modeste travail. Je remercie aussi l’ensemble du corps professoral de l’Ecole Mohammadia d’Ingénieurs, en particulier le département Modélisation et Informatique Scientifique, pour la qualité de sa formation. iv Table des matières 1 Généralités sur les courbes de taux 1.1 Deposit . . . . . . . . . . . . . . . . . . . 1.2 Actualisation et capitalisation . . . . . . . 1.2.1 Calcul d’intérêts . . . . . . . . . . 1.2.2 Conventions de décompte des jours 1.3 Les taux de référence . . . . . . . . . . . . 1.3.1 Le taux au jour le jour . . . . . . . 1.3.2 Les taux IBOR . . . . . . . . . . . 1.4 Taux « Forward » . . . . . . . . . . . . . . 1.5 Les produits dérivés de taux . . . . . . . . 1.5.1 Accord à taux futur . . . . . . . . . 1.5.2 Contrats « Futures » . . . . . . . . 1.5.3 Les « Swaps » . . . . . . . . . . . . 1.6 Les courbes de taux . . . . . . . . . . . . . 1.6.1 Méthode de Bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Kondor+ et l’approche mono-courbe 2.1 Présentation du progiciel . . . . . . . . . . . . . . . 2.2 Interface de construction des courbes sur Kondor+ 2.3 Les formules utilisées par Kondor+ . . . . . . . . . 2.3.1 Interpolation . . . . . . . . . . . . . . . . . 2.3.2 Formules pour courbes simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 4 4 6 7 7 7 8 10 10 10 11 14 15 . . . . . . . . . . . . . . . . . . . . 18 18 18 20 20 21 3 Kondor+ et l’approche multi-courbes 3.1 Introduction à la nouvelle approche . . . . . . . . . . . . . . . . 3.1.1 Inconvénients de l’approche mono-courbe . . . . . . . . . 3.1.2 Approche multi-courbes . . . . . . . . . . . . . . . . . . 3.2 L’approche multi-courbes sur Kondor+ . . . . . . . . . . . . . . 3.2.1 « Basis Swaps » . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Actualisation sous collatéralisation dans la même devise . 3.2.3 Actualisation sous collatéralisation dans deux devises . . . . . . . . . . . . . . . . . . . . . . . 26 26 26 27 28 28 31 32 4 Développement des outils de courbes de taux 4.1 Algorithme itératif proposé . 4.2 Python . . . . . . . . . . . . 4.3 Outil de comparaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . comparaison et de construction des 36 . . . . . . . . . . . . . . . . . . . . . . . 36 . . . . . . . . . . . . . . . . . . . . . . . 39 . . . . . . . . . . . . . . . . . . . . . . . 39 v Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux 4.4 4.5 4.3.1 Interface de la feuille de configuration . . . . . . . . . 4.3.2 Méthodes implémentées . . . . . . . . . . . . . . . . 4.3.3 Résultats . . . . . . . . . . . . . . . . . . . . . . . . Elaboration d’un script de construction des courbes de taux 4.4.1 Méthodes implémentées . . . . . . . . . . . . . . . . Comparaison avec les résultats de Kondor+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 41 41 42 43 46 Conclusion 47 Bibliographie 48 Webographie 49 vi Table des figures 1.1 1.2 1.3 1.4 1.5 Echéancier de calcul du taux « Forward » . . . « Swap » de taux entre deux parties . . . . . . Représentation des flux d’un « Swap » de taux Swap de devises entre deux parties . . . . . . Représentation des flux d’un Swap de devises 2.1 Interface de construction des courbes de taux sur K+ . . . . . . . . . 19 3.1 3.2 3.3 Dépendances d’une courbe « basis Swaps » . . . . . . . . . . . . . . . 29 Dépendances d’une courbe sous collatéralisation dans une seule devise 31 Dépendances d’une courbe sous collatéralisation dans deux devises . . 33 4.1 4.2 4.3 Feuille de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . Tableau récapitulatif des résultats . . . . . . . . . . . . . . . . . . . . Détails de comparaison : EUR_CSA_USD Vs EUR csa USD refi EUR 22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Résultats pour la courbe « basis Swap » . . . . . . . . . . . . . . . . Résultats pour la courbe EUR collatéralisée en EUR . . . . . . . . . Résultats pour la courbe USD collatéralisée en EUR . . . . . . . . . . Comparaison entre les facteurs d’actualisation obtenus et ceux de Kondor+ pour une courbe de discount euro . . . . . . . . . . . . . . . Comparaison entre les taux zéro-coupon obtenus et ceux de Kondor+ pour une courbe de discount euro . . . . . . . . . . . . . . . . . . . . Comparaison entre les taux « Forward » 3M obtenus et ceux de Kondor+ pour une courbe de discount euro . . . . . . . . . . . . . . . . . Exemple d’implémentation manuelle sur Excel d’une courbe collatéralisée (courbe USD collatéralisée en EUR) . . . . . . . . . . . . . . . . 4 5 6 7 8 9 10 vii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 12 13 14 14 40 42 42 50 51 51 52 52 53 54 Liste des tableaux 1.1 1.2 1.3 Exemple de données pour des « Money Market » . . . . . . . . . . . . 16 Exemple de données pour des « Forward rate agreement »s . . . . . . 16 Exemple de données pour des « Swaps » . . . . . . . . . . . . . . . . 17 2.1 2.2 Tableau des résultats affichés par Kondor+ . . . . . . . . . . . . . . . 20 Exemple de calcul des « Forward rate agreements » . . . . . . . . . . 24 3.1 3.2 Matrice des dépendances pour une courbe basée sur des « basis Swaps » 29 Matrice des dépendances pour une courbe d’actualisation collatéralisée dans une devise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Matrice des dépendances pour une courbe d’actualisation sous collatéralisation dans deux devises . . . . . . . . . . . . . . . . . . . . . . . 33 3.3 4.1 Détails du flux « Swap » . . . . . . . . . . . . . . . . . . . . . . . . . 37 viii Introduction La valorisation des instruments financiers devient de plus en plus complexe, nécessitant ainsi des mathématiques avancées et des outils puissants de résolution d’équations. Cela dit, pour valoriser un instrument financier, nous cherchons toujours à connaître la valeur exacte des flux générés par cet instrument. Pourtant, la valeur d’un flux généré dans le futur est différente de cette même valeur si nous recevons le flux à l’instant présent. Pour connaître la valeur d’un flux futur aujourd’hui, nous avons besoin de ce qu’on appelle les facteurs d’actualisation. Un facteur d’actualisation à une date future est le facteur utilisé pour rapporter ce flux à la date d’aujourd’hui. Une courbe de taux est la représentation de ces facteurs pour plusieurs maturités (à chaque date future correspond un facteur d’actualisation utilisé pour rapporter à la date de valorisation, des flux reçus à cette date future). Toutefois, ces facteurs d’actualisation ne sont pas affichés explicitement sur les marchés comme les cotations des instruments financiers. Il est donc important de savoir les calculer de la manière la plus précise possible : toutes les méthodes de valorisation, aussi précises soient-elles, verront leurs résultats erronés si les facteurs d’actualisation utilisés ne correspondent pas au marché convoité. Une courbe de taux permet aussi d’estimer des taux futurs, notamment les taux de référence, qui sont à leur tour indispensables pour la valorisation de certains instruments financiers. Chaque marché a sa propre courbe de taux qui change quotidiennement. En effet, les courbes de taux sont construites à partir des cotations de certains produits financiers sur le marché, qui varient d’un jour à l’autre, selon le principe de l’offre et de la demande. La construction des courbes de taux suivait une méthodologie classique, utilisée par toutes les institutions bancaires, et qui permettait d’obtenir des résultats satisfaisants jusqu’en 2007. La crise financière a révélé plusieurs incohérences intrinsèques à cette méthodologie, et a montré l’invalidité de certaines hypothèses, jusque-là satisfaisantes. Les prêts interbancaires considérés jusqu’ici comme des prêts sans risque, ne le sont plus, et par conséquent, le principe de collatéralisation devenait de plus en plus répandu dans les marchés. La construction des courbes de taux n’est donc plus aussi simple qu’avant, et doit prendre en considération plusieurs détails ignorés avant la crise. Ce qui nous ramène à la problématique traitée tout au long de ce rapport, à savoir la construction des courbes de taux dans le cadre de la nouvelle approche. Pour répondre à la problématique posée, nous allons d’abord définir les notions de base nécessaires à la compréhension des marchés de taux. Puis nous présenterons 1 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux Kondor+, un progiciel puissant et reconnu à l’échelle internationale, capable de générer des courbes de taux à partir des cotations disponibles sur le marché. Nous allons ensuite essayer de comprendre son fonctionnement et de présenter les formules qu’il utilise pour la construction des courbes simples. La troisième partie va décrire les incohérences de l’approche mono-courbe après la crise financière et la nouvelle approche utilisée pour la construction des courbes de taux, dite approche multicourbes. Nous présenterons ensuite les formules utilisées par Kondor+ pour la construction des multi-courbes en utilisant cette nouvelle approche. Enfin, nous présenterons les deux outils développés, en langage Python, durant le stage, le premier étant un outil de comparaison des résultats de plusieurs courbes, et le deuxième étant un outil de construction des courbes de taux à partir des cotations d’un marché quelconque. 2 Chapitre 1 Généralités sur les courbes de taux Dans ce premier chapitre, nous introduirons les notions que nous utiliserons à travers tout le rapport ; notamment les notions relatives au marché financier et aux courbes de taux (pour plus de détails sur les formules utilisées dans ce chapitre, se référer à [1]). Introduction Quand nous déposons une somme d’argent dans un compte bancaire, nous nous attendons à ce que cette somme augmente. Autrement dit, prêter de l’argent doit être récompensé. Cette idée implique qu’une somme reçue aujourd’hui et la même somme reçue demain n’ont pas la même valeur. C’est dans ce cadre que nous allons introduire la notion de dépôt, de zéro-coupon et d’actualisation. 1.1 Deposit Les dépôts, « Deposit » ou encore « Money Market » sont des contrats qui permettent de faire un investissement sans risque, où les profits s’accumulent en fonction du temps. Ce sont des prêts ou emprunts avec intérêts. Ces instruments ont une date de début, qui représente la date où le contrat commence, et une maturité qui représente la date de fin du contrat et de remboursement de la somme prêtée avec les intérêts. Il faut noter que ces instruments ne versent qu’un seul flux, et cela à leur maturité. C’est ce qu’on appelle des instruments zéro-coupon (qui ne contiennent pas de coupons intermédiaires). Par définition, un zéro-coupon, de maturité TN , est un instrument financier qui verse une unité de monnaie à la date TN , sans verser de flux intermédiaire avant cette date. 3 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux 1.2 Actualisation et capitalisation La valeur d’une unité d’argent dans le futur n’est pas la même aujourd’hui, puisqu’il est possible d’investir (capitaliser) cette unité aujourd’hui pour obtenir des intérêts dans le futur. Supposons que le taux applicable aujourd’hui pour un investissement d’une année est de 5%. Si nous plaçons 1 unité de monnaie (UM) aujourd’hui, nous pouvons recevoir après une année la somme : 1 ∗ (1 + 5%) = 1.05 U M (1.1) De manière inverse, si nous allons recevoir 1 unité de monnaie dans une année, sa valeur actuelle est inférieure à 1 UM. Effectivement, cette somme aurait pu être placée aujourd’hui pour obtenir une somme plus importante dans un an, comme vu dans le cas précédent de capitalisation. Il est ainsi logique de conclure qu’une unité de monnaie perd en valeur dans le futur. En inversant la formule précédente, nous pouvons obtenir le montant qu’il faut investir aujourd’hui pour obtenir 1 UM dans le futur : 1/(1 + 5%) = 0.9523 U M (1.2) Autrement dit, la valeur actuelle de 1 UM dans un an est 0.9523 UM aujourd’hui : c’est le facteur d’actualisation, le taux d’actualisation étant 5%. L’actualisation consiste à ramener la valeur d’un flux futur à sa valeur actuelle, et cela à grâce à un facteur d’actualisation. Dans ce cas, le facteur d’actualisation est 0.9523, et est utilisé pour ramener à l’instant présent toute somme perçue dans un an. Nous noterons par la suite DFTN le facteur d’actualisation (discount factor) utilisé pour actualiser une somme perçue à l’instant TN . 1.2.1 Calcul d’intérêts Pour calculer des intérêts, il faut disposer des informations suivantes : • le capital : l’intérêt est proportionnel au capital et varie selon son importance ; • le taux d’intérêt : le taux qui sera appliqué sur le capital (exprimé en pourcentage) ; • la durée de placement. Soit DFTN le facteur d’actualisation à la date TN : le taux spot r(TN ) est le taux d’intérêt qui lui est associé. La relation exacte entre le facteur d’actualisation et le taux spot dépend de la méthode utilisée pour calculer les intérêts. Parmi ces méthodes, nous citons : 4 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux Intérêts simples Les intérêts simples sont des intérêts qui ne sont pas réinvestis. Si nous plaçons DFTN aujourd’hui au taux rTN , nous allons obtenir DFTN (1 + rTN TN ) = 1. Nous obtenons la formule de calcul d’intérêts simples suivante : DFTN = 1 1 + rTN TN (1.3) Intérêts composés Les intérêts composés sont des intérêts réinvestis périodiquement dans le capital investi. Si nous plaçons DFTN aujourd’hui au taux r(TN ) composé annuellement, les intérêts perçus seront réinvestis chaque année. Nous allons obtenir DFTN (1 + r(TN ))TN à TN , qui correspond à 1 UM. Nous pouvons donc écrire DFTN en fonction de TN et r(TN ) : DFTN = 1 (1 + r(TN ))TN (1.4) Avec TN exprimée en années. Pour généraliser, si les intérêts sont composés m fois par an, la somme obtenue est : !mTN r(TN ) DFTN ∗ 1 + = 1U M (1.5) m ce qui nous donne la formule suivante : 1 DFTN = 1+ r(TN ) mTN m (1.6) Intérêts en temps continu Supposons que nous cherchons à composer les intérêts à chaque instant, il faut donc augmenter m infiniment. Pour avoir une formule valable en temps continu, il suffit de faire tendre m vers l’infini dans la formule suivante : r(TN ) 1+ m !mTN (1.7) Nous obtenons alors : DFTN = lim m→+∞ 1+ r(TN ) −mTN m D’où la formule d’actualisation en temps continu : DFTN = e−r(TN )TN 5 (1.8) Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux 1.2.2 Conventions de décompte des jours Le temps est un facteur crucial dans le marché financier puisque toute valorisation fait intervenir la durée de placement. Il est alors important de bien comprendre le principe de décompte des jours et les conventions utilisées dans les marchés de taux. Les conventions (les bases de calcul, ou fractions d’année) sont notées A/B, où A représente le nombre de jours pris en compte par mois, et B le nombre de jours par année, qui représente la période de référence pour la majorité des cas. Les bases de calcul les plus utilisées sont les suivantes : • Act/360 : prend en compte le nombre exact de jours constituant le mois, et considère que l’année est constituée de 360 jours. Si nous notons D1 = (J1 , M1 , A1 ) et D2 = (J2 , M2 , A2 ), D1 − D2 est le nombre de jours entre ces deux dates. La fraction d’année dans ce cas est : D2 −D1 360 • Act/365 : prend en compte le nombre exact de jours constituant le mois, et considère que l’année est constituée de 365 jours. La fraction d’année dans ce cas est : D2 −D1 365 • 30/360 : ne différencie pas entre les mois de l’année ; suppose que tous les mois sont constitués de 30 jours, et les années de 360 jours. La fraction d’année dans ce cas est donnée par la formule suivante : max(30−J1 ,0)+min(J2 ,30)+360(A2 −A1 )+30(M2 −M1 −1) 360 • Act/Act : prend en compte le nombre exact de jours, des mois et des années. (Pour plus de détails sur les conventions de décompte des jours, se référer à [6].) Prenons l’exemple d’un contrat où l’une des deux parties verse des intérêts à taux fixe chaque mois. Les flux versés sont calculés comme suit : Intérêts = Nominal * Taux fixe * Base de calcul Ajustement des dates Le choix des dates de versement des flux suit des calculs particuliers à son tour. De fait, il se peut que la date de versement d’un flux coïncide avec un jour non ouvrable (Week-end, jour férié...). Plusieurs conventions d’ajustement des dates sont appliquées dans le marché. Nous citons : 6 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux • following : report au jour ouvré suivant ; • preceding : report au jour ouvré précédent ; • modified following : report au jour ouvré suivant s’il n’y a pas de changement de mois. Sinon, nous choisissons le dernier jour ouvrable du mois actuel ; • modified preceding : report au jour ouvré précédent si nous ne changeons pas de mois. Sinon, nous choisissons le premier jour ouvrable du mois actuel. 1.3 Les taux de référence Un taux d’intérêt représente le montant qu’un prêteur va gagner suite à un prêt. Ce taux varie selon la capacité de l’emprunteur à rembourser son crédit. Autrement dit, plus le risque de crédit de l’emprunteur augmente, plus le taux augmente. Il existe différents types de taux d’intérêts, dont les taux d’État et les taux interbancaires. Les taux d’État sont des taux calculés à partir des obligations d’État. Les taux interbancaires, quant à eux, sont des taux auxquels les banques se prêtent. Les taux que nous allons le plus souvent traiter sont des taux interbancaires, qui sont des taux indispensables pour la valorisation de certains instruments financiers, d’où leur appellation de taux de référence. L’un des taux de référence les plus utilisés dans le monde est le taux LIBOR qui sera défini dans le paragraphe 1.3.2. Une grande partie des taux de référence est calculée sur le marché dit « en blanc ». Ce marché est le marché sur lequel les banques se refinancent quotidiennement entre elles, sans garantie. Dans ce qui suit, nous nous intéresserons en particulier au taux au jour le jour et aux taux IBOR. 1.3.1 Le taux au jour le jour Le taux au jour le jour « TJJ », ou l’Euro Overnight Index Average « EONIA » représente le taux moyen de prêt ou de dépôt jusqu’au lendemain ouvré sur le marché interbancaire dans la zone euro. C’est le taux de référence quotidien des dépôts au jour le jour dans la zone euro. Deux taux au jour le jour sont les plus utilisés : • le taux applicable entre aujourd’hui et demain ouvrable, appelé « Overnight rate » noté O/N ; • le taux applicable entre demain ouvrable et après-demain ouvrable, appelé « Tomorrow Next rate » noté T/N. 1.3.2 Les taux IBOR Les taux IBOR (Interbank Offered Rate) sont les taux d’intérêt avec lesquels les banques de premier rang (notées AAA) se prêtent entre elles, sans collatéral 7 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux (sans que le prêt ne soit garanti par des titres de créances ou des valeurs mobilières), dans une devise et pour une échéance donnée. Les maturités traitées ne dépassent généralement pas une année. Parmi les taux IBOR, on cite : • les taux EURIBOR, qui sont les taux moyens offerts effectivement par une sélection de banques dans la zone Euro pour des maturités allant d’une semaine à une année. La valeur des taux EURIBOR est déterminée par l’offre et la demande ; • les taux LIBOR, similaire à l’EURIBOR, sont des taux d’intérêt que des banques utilisent pour se prêter entre elles. Les taux LIBOR sont des taux interbancaires de référence sur les marchés hors zone euro, pour plusieurs devises (telles que l’euro, le dollar américain, le yen, la livre Sterling britannique...), et sont calculés et publiés quotidiennement. En principe, les taux d’État sont considérés comme des taux sans risque, puisque l’État ne présente aucun risque de défaut. Cela dit, pour des raisons économiques, les taux d’État peuvent être artificiellement bas ou artificiellement hauts, chose qui peut fausser la notion du taux sans risque. Les taux LIBOR, quant à eux, s’approchent beaucoup plus de la notion de taux sans risque que les taux d’État, même si les banques de premier rang ne sont pas à l’abri d’une faillite. Les banques de rang AAA ont le plus faible risque de crédit sur le marché. Puisque les taux IBOR sont calculés à partir des prêts sans collatéral entre ces banques, ils peuvent être considérés comme des taux sans risque. Les taux IBOR servent de référence pour une multitude d’instruments financiers. Pour pouvoir estimer ces taux, nous allons introduire la notion de taux « Forward ». 1.4 Taux « Forward » Un taux « Forward » (également appelé taux à terme) est un taux d’emprunt ou de placement, applicable pour des périodes futures. C’est le taux zéro-coupon calculé aujourd’hui (à la date T0 ), qui débute en T1 et qui correspond à la période T2 − T1 , où T0 < T1 < T2 . En d’autres termes, le taux « Forward » entre T1 et T2 est le taux zéro-coupon qui devrait être observé à l’instant T1 pour une durée T2 − T1 . La courbe des taux zéro-coupon contient de nombreuses informations sur les taux qui prévaudraient dans le futur. En effet, à partir des taux zéro-coupon de différentes échéances, nous pouvons déduire les taux « Forward ». Les taux « Forward » servent généralement à approcher les taux LIBOR, inconnus pour des dates futures. Chose qui nous permet d’estimer les attentes du marché en matière de taux futurs, et ainsi prendre les décisions adéquates. Pour montrer la relation entre les taux « Forward » et les taux zéro-coupon/facteurs d’actualisation, nous allons utiliser la figure 1.1. 8 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux DFt2 DFt1 t0 t1 t2 Zct1 Ft1 ,t2 Taux zéro-coupon pour la date t1 Taux « Forward » entre t1 et t2 Zct2 Taux zéro-coupon pour la date t2 DFti : Facteur d’actualisation à la date ti Figure 1.1 – Echéancier de calcul du taux « Forward » Le taux zéro-coupon Zcti permet de rapporter un flux reçu à la date ti à aujourd’hui, et cela par la formule : 1 (1.9) 1 + Zcti δi où δi représente la fraction d’année entre ti et t0 . Pour qu’il n’y ait pas d’opportunité d’arbitrage, rapporter le flux reçu en t2 à t0 devrait être équivalent à rapporter le flux en t2 à t1 , puis rapporter ce dernier à t0 . Cela revient à écrire la formule suivante : 1 1 . 1+Zct1 δi 1+Ft1 ,t2 δ1,2 = 1 1+Zct2 δ2 Ce qui nous donne : 1 + Ft1 ,t2 δ1,2 = 1+Zct2 δ2 1+Zct1 δi Nous obtenons donc la formule du taux « Forward » en fonction des taux zérocoupon et des fractions d’année : Ft1 ,t2 = 1 δ1,2 ! 1 + Zct2 δ2 −1 1 + Zct1 δi 9 (1.10) Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux Nous pouvons écrire cette formule en fonction des facteurs d’actualisation : Ft1 ,t2 = ! 1 δ1,2 DFt1 −1 DFt2 (1.11) C’est cette formule qui sera la plus utilisée par la suite. 1.5 Les produits dérivés de taux Un produit dérivé est un instrument financier dont la valeur dépend d’un autre actif financier, appelé sous-jacent. Le sous-jacent peut être un capital, un indice, une action, un taux. . . On parle de produit dérivé de taux quand le sous-jacent est un produit de taux. Ces instruments ont été créés pour se couvrir du risque de taux, et sont également devenus des instruments utilisés pour des fins spéculatives. Parmi les produits dérivés de taux, nous citons les « Deposits » (voir section 1.1), les « Swaps » de taux d’intérêt, les « Swaps » de change, les « Forward rate agreement », et les contrats « Futures ». 1.5.1 Accord à taux futur Un accord à taux futur, dit aussi « Forward rate agreement » (FRA), est un contrat à terme sur taux, de gré à gré entre deux parties, qui permet d’échanger deux flux basés sur deux taux d’intérêt différents : un taux fixe nommé « taux FRA », et un taux de référence constaté sur le marché à la maturité du « Forward rate agreement »(un taux LIBOR 3M par exemple). Le contrat porte sur un montant fictif, appelé notionnel. C’est sur ce montant que seront appliqués les deux taux. Une fois la maturité du « Forward rate agreement »atteinte, seule la différence entre le taux FRA et le taux de référence observé sur le marché est versée par l’une des deux parties. Le « Forward rate agreement » constitue donc une couverture contre la fluctuation des taux d’intérêt. Prenons l’exemple d’une banque A qui spécule sur la hausse des taux de référence, et qui a déjà emprunté un montant à un taux LIBOR d’une banque B. La banque A essaiera de contracter un contrat « Forward rate agreement » pour se protéger de cette éventuelle hausse : elle cherchera à échanger des flux à taux fixe contre des flux à taux variable avec une tierce partie, et cela pour rembourser la banque B au taux de référence tout en émettant des flux à un taux fixe. 1.5.2 Contrats « Futures » Un contrat « Futures » ou contrat à terme est un contrat entre deux parties où l’une s’engage à acheter ou à vendre une quantité déterminée d’un actif sous- jacent, à une date et à un prix déterminés à l’avance. Contrairement aux « Forward rate agreements », les « Futures » sont standardisés et négociés sur le marché organisé, et la transaction se fait à travers une entité qui permet de protéger les deux parties du risque de défaut. 10 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux 1.5.3 Les « Swaps » Un « Swap » est un accord entre deux parties qui permet d’échanger des flux financiers à des dates futures déterminées à l’avance. Un contrat « Swap » doit contenir plusieurs informations spécifiques à l’échange, notamment les dates des flux, les conventions de calcul à utiliser, le montant à échanger... Il existe différents types de « Swaps », dont on cite : • les « Swaps » de taux d’intérêt (« Interest rate Swaps ») ; • les « basis Swaps », qui sont en principe des « Swaps » de taux d’intérêt ; • les « Swaps » de devises (« Cross Currency Swaps »). Nous nous intéressons dans notre projet aux « Swaps » de taux et aux « Swaps » de devises. Les « Swaps » de taux Un « Swap » de taux est un engagement contractuel entre deux entités qui permet d’échanger, à différents intervalles de temps dans le futur, des flux basés sur un montant notionnel. Cet échange porte sur des flux basés sur deux taux d’intérêt différents : une partie verse des intérêts à taux fixe (valable pour toute la durée du « Swap ») et reçoit des intérêts à taux variable (qui évoluent en fonction de l’indice de référence), sur un montant défini et pendant une durée déterminée. Le taux variable considéré est généralement un taux de référence, notamment le LIBOR. Le nominal étant identique pour les deux emprunts, l’échange portera sur la différence entre les deux taux. Remarque : un « Swap » de taux peut être un outil pour transformer une dette à taux variable en une dette à taux fixe, et vice-versa. Un « Swap » de taux est caractérisé par : • la date de début : la date de signature du contrat ; • la date de maturité : la date de fin du contrat « Swap » ; • le taux « Swap » : c’est le taux fixe. Il est choisi de façon à ce que la jambe fixe égalise la jambe variable ; • le nominal : le montant sur lequel le taux fixe et le taux variable seront appliqués. De surcroît, chacune des deux jambes a des caractéristiques bien définies : La jambe fixe C’est la jambe qui reçoit des flux au taux « Swap » : • La périodicité des intérêts fixes : c’est la durée entre deux coupons. Cette durée est généralement une année pour la jambe fixe ; • La devise : c’est la devise dans laquelle les flux de la jambe fixe seront reçus ; • La base de calcul : c’est la convention de décompte des jours utilisée. 11 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux La jambe variable C’est la jambe qui reçoit des flux au taux de référence : • La périodicité des intérêts variables : c’est la durée entre deux coupons à taux variable. Cette durée est généralement de 3 ou 6 mois ; • La base de calcul : la convention de décompte des jours utilisée pour cette jambe ; • Le taux variable : c’est le taux de référence, généralement un taux LIBOR ou bien EURIBOR ; • La devise : la devise dans laquelle les flux de la jambe sont reçus. Par convention, être payeur de « Swap » de taux signifie payer à taux fixe et recevoir à taux variable. Être receveur de « Swap » signifie payer à taux variable et recevoir à taux fixe. Exemple Considérons un « Swap » de 3 ans entre deux parties A et B, qui débute le 01 juin 2015. La partie A s’engage à payer un taux d’intérêt 5% à la partie B sur un principal de 100 millions d’euros. En contrepartie, B s’engage à verser des intérêts au taux LIBOR 6 mois à la partie A. Les flux de la jambe fixe seront versés chaque année (intérêts composés annuellement) et les flux de la jambe variable seront versés chaque 6 mois : Partie A Taux fixe : 5% −−−−−−−−−−−−−−−−−−−−−−−−−→ ←−−−−−−−−−−−−−−−−−−−−−−−−− Taux variable : LIBOR 6M Partie B Figure 1.2 – « Swap » de taux entre deux parties Le premier flux aura lieu 6 mois après le 1er juin 2015 : 1er décembre 2015. Ce flux sera calculé à partir du taux LIBOR 6 mois observé le 1er juin 2015 (Si le taux est égal à 4%, le montant versé sera de 2 millions d’euros). Le premier flux de la jambe variable est connu à l’instant de signature du contrat. Un an après, la partie A paie les intérêts fixes (Cf ixe = 5%*100 = 5 millions d’euros) et reçoit les intérêts variables au taux LIBOR 6 mois observé le 1er décembre 2015. Au total, la partie A versera chaque année 5 millions d’euro, alors que la partie B versera chaque semestre des intérêts au taux LIBOR 6 mois. 12 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux Cf ixe t0 t0 + 6mois Ct0 +6M t1 Ct1 Cf ixe t1 + 6mois Ct1 +6M t2 Cf ixe t2 + 6mois Ct2 Ct2 +6M t3 Ct3 Flux fixes versés par A Flux variables versés par B Figure 1.3 – Représentation des flux d’un « Swap » de taux Où Cti correspond au flux versé par B à l’instant ti . Ce flux prend en compte le taux LIBOR 6M observé à l’instant ti − 6mois. Remarque : Cet exemple ne prend pas en compte les conventions de décompte des jours. Les « basis Swaps » Les « basis Swaps » sont des « Swaps » des taux, où les deux parties échangent une dette à taux variable contre une autre. En général, la seule différence entre les deux jambes est le taux de référence. Par exemple un « basis Swap » d’un LIBOR 3M contre un LIBOR 6M : une partie verse des flux indexés sur un taux LIBOR 3M alors que l’autre verse des flux indexés sur un taux LIBOR 6M. Les « Swaps » de devises Un « Swap » de devise, ou « Cross Currency Swap », est un contrat qui permet à deux entités d’échanger des taux d’intérêt entre deux devises différentes, contrairement aux « Swaps » de taux. Exemple Soit un Swap de devises entre une partie A et une partie B. La partie A paie des taux d’intérêt de 4% en euros et reçoit des intérêts de 5% en dollars de la partie B. Supposons que le montant principal sur lequel ces taux sont appliqués est le même pour les deux parties : Neuro = 100 millions d’euros et Ndollar =100 millions de dollars. Ces intérêts seront payés annuellement. 13 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux Partie A Euros 4% −−−−−−−−−−−−−−−−−−−−−−−−−→ ←−−−−−−−−−−−−−−−−−−−−−−−−− Dollars 5% Partie B Figure 1.4 – Swap de devises entre deux parties Ndollar + C5% Neuro t0 C5% C5% t1 t2 C4% C4% t3 Neuro + C4% Ndollar Flux en dollars (Reçus/versés par A) Flux en euros (Reçus/versés par B) Figure 1.5 – Représentation des flux d’un Swap de devises A la date initiale, les montants principaux (notés Ndollar et Neuro ) sont échangés entre les deux parties : la partie B verse le principal à A en euros et reçoit le principal en dollars. Les prochains versements se font dans le sens inverse : la partie A paie les intérêts en euros à B, et reçoit des intérêts en dollars. A la maturité du « Swap », la partie A verse les intérêts et le principal reçu à l’instant initial en euros à B, et reçoit les intérêts et le principal en dollars. 1.6 Les courbes de taux Une courbe de taux décrit l’évolution des taux d’intérêt en fonction du temps. C’est la fonction qui, à chaque instant t, associe un taux d’intérêt r(t). On peut distinguer deux types de courbes de taux : • courbes de marchés : construites directement à partir des cotations du marché ; 14 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux • courbes implicites : déduites à partir des cotations du marché (courbe des taux zéro-coupon). Les courbes de taux que nous allons traiter seront des représentations en fonction du temps des taux zéro-coupon, des facteurs d’actualisation, ou bien des taux « Forward » LIBOR 3M, LIBOR 6M, EURIBOR 3M ou EURIBOR 6M. Les courbes résultantes seront des courbes qui représentent le mieux l’évolution des facteurs d’actualisation et des courbes LIBOR ou EURIBOR de référence. Pour construire une courbe EURIBOR 3M par exemple, il est nécessaire d’utiliser des produits financiers indexés sur des taux similaires (par exemple des produits « Swaps » dans la zone Euro dont la périodicité de la jambe variable est 3 mois), et cela pour obtenir des résultats cohérents. Bien évidemment, une courbe de taux doit couvrir des maturités allant d’une journée à plusieurs années. Néanmoins, chaque instrument financier est liquide pour des maturités données, et ne l’est pas pour d’autres. De ce fait, l’utilisation d’un seul instrument financier n’est pas suffisante. Vu que l’objectif principal de la construction d’une courbe de taux est de refléter parfaitement le marché financier, il est primordial de ne prendre que les instruments les plus liquides pour la maturité choisie. Le choix des instruments financiers a donc un rôle décisif pour obtenir les résultats les plus représentatifs du marché. 1.6.1 Méthode de Bootstrap La méthode de Bootstrap est une technique qui permet de construire une courbe de taux pas à pas, à partir d’éléments discontinus. La méthode consiste à choisir une suite d’instruments financiers liquides à maturités croissantes, et à inverser les formules de valorisation de ces instruments pour obtenir les facteurs d’actualisation au fur et à mesure de notre avancement. Cette méthode implique une forte dépendance sur les premières valeurs des facteurs d’actualisation trouvées. En réalité, pour valoriser un instrument, nous avons besoin d’un ou de plusieurs facteurs d’actualisation. C’est pourquoi une erreur dans l’un des facteurs d’actualisation fausse toute la courbe. La construction d’une courbe de taux par le biais de la méthode de Bootstrap se fait par : • extraction des facteurs d’actualisation à partir des taux de dépôt, des taux FRAs ou des taux « Swaps » cotés sur le marché ; • obtention d’une courbe continue par interpolation entre les points disponibles. La courbe sera séparée en 2 à 3 segments. Chaque segment comportera l’instrument le plus liquide pour les maturités qu’il contient : les instruments financiers utilisés par segment sont décrits dans ce qui suit. 15 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux Instruments pour courtes durées La première partie de la courbe contient les maturités inférieures à 3 mois. Cette partie est construite à partir des « Deposits » (« Money Market »), qui sont les instruments les plus liquides. Le tableau 1.1 présente un exemple de cotations des instruments utilisés pour les courtes durées. Area M.Mkt. M.Mkt. M.Mkt. M.Mkt. M.Mkt. M.Mkt. M.Mkt. M.Mkt. Stamp 25/03/2015 25/03/2015 25/03/2015 25/03/2015 25/03/2015 25/03/2015 25/03/2015 Feed Interpolated Database Database Database Database Database Database Database Tenor DD EUREON1WS EUREON2WS EUREON1MS EUREON2MS EUREON3MS EUREON4MS EUREON5MS Begin 27/03/2015 27/03/2015 27/03/2015 27/03/2015 27/03/2015 27/03/2015 27/03/2015 27/03/2015 Maturity 30/03/2015 07/04/2015 10/04/2015 27/04/2015 27/05/2015 29/06/2015 27/07/2015 27/08/2015 Table 1.1 – Exemple de données pour des « Money Market » Instruments pour moyennes durées Les instruments les plus liquides pour des maturités allant de 3 mois à 3 ans sont les « Forward rate agreement » (FRAs) et les « Futures ». Le tableau 1.2 présente un exemple de cotations des instruments utilisés pour les moyennes durées. Area FRA FRA FRA FRA FRA FRA FRA FRA Tenor 1/4 4/7 7/10 10/13 13/16 16/19 19/22 22/25 Feed Database Database Database Database Database Database Database Database Maturity 27/07/2015 27/10/2015 27/01/2016 27/04/2016 27/07/2016 27/10/2016 27/01/2017 27/04/2017 Mkt.Values 0.299963 0.324203 0.359038 0.392271 0.441566 0.499493 0.566071 0.644588 Table 1.2 – Exemple de données pour des « Forward rate agreement »s Instruments pour longues durées Toujours par souci de liquidité, les instruments utilisés pour des maturités supérieures à 3 ans sont les « Swaps ». 16 Par Rate 0.081 0.081 0.087 0.093 0.111 0.121 0.13 0.139 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux Le tableau 1.3 présente un exemple de cotations des instruments utilisés pour les longues durées. Area Swap Swap Swap Swap Swap Swap Swap Swap Tenor EURSW4Y EURSW5Y EURSW6Y EURSW7Y EURSW8Y EURSW9Y EURSW10Y USDSW11Y Feed Used Used Used Used Used Used Used Used Maturity 25/03/2015 25/03/2015 25/03/2015 25/03/2015 25/03/2015 25/03/2015 25/03/2015 25/03/2015 Mkt.Values Database Database Database Database Database Database Database Database Table 1.3 – Exemple de données pour des « Swaps » Une fois les segments de la courbe choisis, nous pouvons calculer les facteurs d’actualisation pas à pas : commençant par le premier instrument « Money Market », pour atteindre l’instrument « Swap » qui correspond à la plus grande maturité. Le principe de la méthode de Bootstrap reste valable pour les deux approches que nous allons voir par la suite : mono-courbe et multi-courbes. L’approche mono-courbe consiste à supposer que les taux « Forward » et les facteurs d’actualisation sont issus de la même courbe, contrairement à l’approche multi-courbes. Nous allons voir cela en détail dans le chapitre 3. Dans ce chapitre, nous nous sommes intéressés d’abord aux calculs des taux d’intérêt. Ensuite, nous avons vu les taux de référence indispensables pour la valorisation d’un produit financier. En outre, nous avons défini les principaux produits dérivés de taux que nous allons utiliser par la suite. Enfin, nous étions amenés à décrire la méthode de Bootstrap et son utilisation pour la construction des courbes de taux. Le chapitre suivant présentera le progiciel Kondor+ et les formules établies dans le cadre de l’approche mono-courbe. 17 Chapitre 2 Kondor+ et l’approche mono-courbe L’objectif de notre stage étant de construire des courbes de taux cohérentes avec les données du marché, il est indispensable d’utiliser des formules de valorisation précises. C’est dans ce cadre que nous allons présenter le progiciel Kondor+ et introduire les formules utilisées par ce progiciel pour générer une courbe de taux, et ce dans le cadre de l’approche mono-courbe. L’approche multi-courbes sera présentée dans le chapitre 3. 2.1 Présentation du progiciel Kondor+ est un progiciel produit par Misys, qui est un éditeur de logiciels spécialisé dans les progiciels financiers destinés aux salles de marché des établissements bancaires. Kondor+ a toute une variété d’options : • construction des courbes de taux (courbe zéro-coupon, courbe « Forward ») ; • analyse de risque des transactions ; • pricing des instruments dérivés de taux ; • création de produits structurés ; • trading... Nous sommes particulièrement intéressés par la construction des courbes de taux. Dans un premier lieu, notre objectif sera de comprendre le fonctionnement de Kondor+ et d’établir les formules utilisées par ce progiciel. L’objectif étant d’implémenter un programme capable de répliquer les courbes de taux obtenues par Kondor+. 2.2 Interface de construction des courbes sur Kondor+ Parmi les différents services offerts par Kondor+, nous nous intéressons à la partie construction des courbes de taux. Un onglet "Yield curve definition" permet d’accéder à l’interface de génération de courbes de taux : cette interface permet à l’utilisateur 18 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux de générer une courbe de taux en prenant en considération plusieurs paramètres. Un aperçu de cette interface est présenté sur la figure 2.1. Figure 2.1 – Interface de construction des courbes de taux sur K+ Chacun des champs disponibles influe directement sur les résultats obtenus. Parmi ces paramètres, nous citons : • Spot lag : certains contrats ne débutent pas à leur signature. Le spot lag est le nombre de jours entre la date de signature du contrat et sa date de début ; • Interpolation : le type d’interpolation utilisé (linéaire, loglinéaire...) ; • Discount factor : méthode de calcul d’intérêts (simple, composée...) ; • Roll conv : la méthode de report utilisée (following, modified following, preceding...) ; • Ref ccy : la devise dans laquelle la courbe est générée ; 19 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux • Zero-coupon basis : la base de calcul utilisée pour calculer les taux zéro-coupon ; • Methodology : la méthode utilisée pour générer la courbe de taux (Bootstrap...). Pour pouvoir travailler sur les données de marché disponibles sur Kondor+, nous allons copier sur Excel la table contenant les résultats de calcul pour chacune des courbes testées. Le tableau 2.1 représente le tableau obtenu par Kondor+ : Area M.Mkt. M.Mkt. M.Mkt. M.Mkt. M.Mkt. M.Mkt. M.Mkt. M.Mkt. M.Mkt. M.Mkt. M.Mkt. M.Mkt. L.T. Swap L.T. Swap Feed Database Database Interpolated Database Database Database Database Database Database Database Database Interpolated Interpolated Database Database Database Tenor EUREONO/NS EUROND DD EUREON1WS EUREON2WS EUREON1MS EUREON2MS EUREON3MS EUREON4MS EUREON5MS EUREON6MS 7 Months 8 Months EUREON9MS EUREON1Y EUREON2Y Begin 25/03/2015 26/03/2015 27/03/2015 27/03/2015 27/03/2015 27/03/2015 27/03/2015 27/03/2015 27/03/2015 27/03/2015 27/03/2015 27/03/2015 27/03/2015 27/03/2015 27/03/2015 27/03/2015 Maturity 26/03/2015 27/03/2015 30/03/2015 07/04/2015 10/04/2015 27/04/2015 27/05/2015 29/06/2015 27/07/2015 27/08/2015 28/09/2015 27/10/2015 27/11/2015 28/12/2015 29/03/2016 27/03/2017 Par Rate 0.074 0.074 0.081 0.081 0.087 0.093 0.111 0.121 0.13 0.139 0.147 0.156082 0.165791 0.1755 0.2075 0.334 ZC 0.075056 0.075056 0.079317 0.081065 0.086597 0.093164 0.111403 0.121743 0.130947 0.140137 0.148304 0.157531 0.167386 0.177235 0.209648 0.338138 DF 0.999998 0.999996 0.999989 0.999971 0.999962 0.999916 0.999808 0.99968 0.999556 0.999405 0.999241 0.999069 0.998869 0.998652 0.997879 0.993244 Table 2.1 – Tableau des résultats affichés par Kondor+ 2.3 Les formules utilisées par Kondor+ La première étape du stage consiste à établir les formules permettant de retrouver les différentes courbes données par Kondor+. Dans cette partie, nous exposerons les formules établies, et ce dans le cadre de l’approche mono-courbe. 2.3.1 Interpolation Avant de construire une courbe de taux, il est important de connaître les principales méthodes d’interpolation. Effectivement, l’interpolation est indispensable dans le cadre de construction des courbes de taux. Comme vu dans la partie traitant de la méthode de Bootstrap (paragraphe 1.6.1), nous calculons les facteurs d’actualisation au fur et à mesure de notre avancement. En effet, chaque instrument nécessite un ou plusieurs facteurs d’actualisation avant sa maturité. Il se peut que la date des flux 20 Fwd3M 0.119886 0.121 0.12273 0.129279 0.130966 0.142593 0.157536 0.174238 0.190586 0.210222 0.233263 0.255137 0.279516 0.303092 0.462037 0.78518 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux versés ne corresponde pas à une date où le facteur d’actualisation a déjà été calculé, d’où l’importance de l’interpolation. Soient deux dates Ta et Tc où les facteurs d’actualisation sont connus. Nous cherchons à trouver le facteur d’actualisation à la date Tb tel que Ta ≤ Tb < Tc . Pour connaître le facteur d’actualisation à Tb , nous pouvons appliquer l’une des interpolations suivantes : L’interpolation linéaire DFTb = DFTa + Tb − Ta (DFTc − DFTa ) Tc − Ta (2.1) L’interpolation logarithmique DFTb = DFTa ln( ttab ) + (Tc − Ta ) ln( ttac ) (2.2) Ces formules sont les formules d’interpolation, utilisées par Kondor+, que nous avons retrouvées. Elles peuvent être appliquées sur des valeurs au choix, notamment : • les taux zéro-coupon ; • le logarithme des facteurs d’actualisation ; • l’inverse des facteurs d’actualisation. 2.3.2 Formules pour courbes simples Une courbe simple est une courbe qui ne contient généralement que des instruments « Cash », des « Forward rate agreements » et des instruments « Interest rate Swaps », et ne dépend d’aucune autre courbe. La méthode utilisée pour ce genre de courbes est généralement la méthode de Bootstrap vue précédemment. Dans cette partie, nous travaillerons sur une courbe de discount EONIA tirée à partir des cotations d’instruments « Cash » et « Interest rate Swaps », et nous présenterons les formules de Kondor+ que nous avons retrouvées, et ce pour générer les courbes de discount simples (courbes d’actualisation qui ne dépendent d’aucune autre courbe). Pour retrouver les formules qu’utilise Kondor+, nous nous sommes inspirés des équations de valorisation d’instruments financiers, présentées dans [1] et [7]. Les instruments Cash Un instrument « Cash », ou bien « Deposit », est un instrument financier qui ne verse qu’un seul flux à sa maturité, calculé à partir du taux « Cash » ou taux « Deposit ». C’est un placement d’une somme d’argent à un taux RTi comme vu dans 21 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux la section 1.1. La formule utilisée pour obtenir le facteur d’actualisation est analogue à celle utilisée pour le calcul des taux d’intérêt : DFTi = DFspot 1 + RTi ∗ δi (2.3) où : • • • • DFTi : facteur d’actualisation à l’instant Ti ; RTi : taux applicable à l’instrument « Cash » dont la maturité est à Ti ; DFspot : facteur d’actualisation à l’instant spot ; δi : fraction d’années entre la date de début et la date de maturité de l’instrument « Cash » (Ti ). La base de calcul utilisée pour un instrument « Cash » est généralement Act/360. Les « Swaps » Nous pouvons identifier deux types de « Swaps » sur les données Kondor+ : • S.T. Swaps : des « Swaps » dont la périodicité des paiements est mensuelle, d’où l’appellation "Short Term Swap" ; • L.T. Swaps : des « Swaps » dont la périodicité des paiements est annuelle, d’où l’appellation "Long Term Swap". Le taux « Swap » est choisi à l’instant initial de façon à ce que la jambe fixe soit égale à la jambe variable (absence d’opportunité d’arbitrage). La jambe variable contient des flux obtenus à partir du taux de référence (taux LIBOR 3M par exemple), et est valorisée comme suit : N X L(Ti−1 , Ti ).δi .DFTi (2.4) i=1 avec : • L(Ti−1 , Ti ) : le taux LIBOR entre Ti−1 et Ti ; • δi : la fraction d’années entre Ti−1 et Ti ; • DFTi : le facteur d’actualisation à l’instant Ti . La jambe fixe contient les flux obtenus à partir du taux fixe CN : N X CN .δi .DFTi (2.5) i=1 En égalisant les deux jambes, nous obtenons : N X i=1 CN .δi .DFTi = N X L(Ti−1 , Ti ).δi .DFTi i=1 22 (2.6) Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux Nous remplaçons le taux LIBOR, inconnu à l’instant présent, par le taux « Forward » entre Ti−1 et Ti : ! DFTi−1 −1 DFTi 1 L(Ti−1 , Ti ) = δi (2.7) Nous obtenons alors : N X CN .δi .DFTi = i=1 N X i=1 N X i=1 ! DFTi−1 − 1 .DFTi DFTi N X DFTi−1 − 1 .DFTi = DFTi−1 − DFTi = DFspot − DFTN DFTi i=1 (2.8) ! (2.9) D’où la formule finale : −1 DFspot − CN N i=1 δi .DFTi = 1 + C N δN P DFTN (2.10) En moyenne, l’erreur entre les résultats affichés par Kondor+ et les valeurs obtenues en introduisant ces formules sur Excel est de l’ordre 5.05 × 10− 7 Les taux zéro-coupon Sur Kondor+, les taux zéro-coupon sont calculés directement à partir des facteurs d’actualisation, et cela à l’aide de la formule suivante : ZCTN = 1 DFTN !1/δT N −1 (2.11) avec ZCTN le taux zéro-coupon à l’instant TN . Pour les taux zéro-coupon, la base de calcul utilisée est Act/365. En moyenne, l’erreur entre les résultats obtenus en utilisant cette formule et les résultats affichés par Kondor+ est de l’ordre 10−8 Les Forward Rate Agreements Certaines courbes contiennent d’autres instruments comme les « Forward rate agreements » ou les « Futures » pour les durées moyennes. Étant basée sur la méthode de Bootstrap, la construction de la courbe de taux passera premièrement par les instruments « Cash », puis les « Forward rate agreements », et pour arriver finalement aux « Swaps ». Cette partie traitera des formules utilisées par Kondor+ pour le calcul des « Forward rate agreements ». Pour cela, nous travaillerons sur une courbe de Forecast 6 mois en euros. 23 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux Un taux « Forward » entre Ti−1 et Ti est calculé à partir de la formule : 1 F wd(Ti−1 , Ti ) = δi ! DFTi−1 −1 DFTi (2.12) Étant cotés sur le marché, les taux FRAs (qui correspondent aux taux « Forward ») nous permettent d’obtenir DFTi en inversant la formule (2.12). L’équation correspondante est la suivante : DFTi = DFTi−1 rTi δi + 1 (2.13) où rTi est le taux FRA coté sur le marché pour un « Forward rate agreement » de maturité Ti . Les dates Ti−1 et Ti correspondent respectivement aux dates de début et de maturité du FRA : la date Ti−1 peut ne pas faire partie des maturités dont les instruments sont cotés sur le marché, et par conséquent le facteur d’actualisation à cette date est inconnu. L’une des méthodes utilisées dans ce cas est l’extrapolation, ou bien des interpolations combinées dans certains cas à une méthode numérique (voir section 4.1). Exemple Prenons comme exemple une courbe de Forecast Euro 6 Mois. Le tableau 2.2 contient les cotations utilisées pour la génération de cette courbe. Instrument M. Mkt M. Mkt M. Mkt FRA FRA FRA FRA Tenor EURI1MD EURI3MD EURI3MD 1/4 4/7 7/10 10/13 Begin date 16/03/2015 16/03/2015 16/03/2015 16/04/2015 16/07/2015 19/10/2015 18/01/2016 Maturity 16/04/2015 18/05/2015 16/06/2015 16/07/2015 16/10/2015 18/01/2016 18/04/2016 Discount 0.999891 0.999684 0.999402 0.999235 0.998357 0.997244 0.995999 Table 2.2 – Exemple de calcul des « Forward rate agreements » Le premier instrument « Forward rate agreement » commence à TN −1 = 16/04/2015 et fini à TN = 16/07/2015. Pour trouver DFTN en appliquant la formule (2.13), nous avons besoin de DFTi−1 . DFTi−1 correspond au facteur d’actualisation affiché pour le premier instrument « Money Market », et vaut 0.999891. Nous n’avons donc pas besoin d’interpoler ou extrapoler dans ce cas. Pour le « Forward rate agreement » suivant (TN −1 = 16/07/2015 et TN = 16/10/2015), DFTN −1 correspond au facteur d’actualisation que nous venons de calculer, et qui est celui obtenu par l’instrument « Forward rate agreement » précédent. 24 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux Pour le « Forward rate agreement » qui suit (TN −1 = 19/10/2015 et TN = 18/01/2016), DFTN −1 ne fait pas partie des facteurs d’actualisation que nous avons calculés, et le dernier facteur d’actualisation connu est celui du 16/10/2015. Il est donc nécessaire d’estimer la valeur du facteur d’actualisation du 19/10/2015 par une méthode d’interpolation, chose que nous allons approfondir dans le paragraphe 4.1. Dans un premier lieu, nous allons appliquer une extrapolation "loglinéaire" pour approcher les valeurs obtenues par Kondor+. L’erreur obtenue par cette interpolation est en moyenne de l’ordre de 10−6 . L’une des méthodes utilisées pour éviter l’extrapolation, et par conséquent, réduire l’erreur, est détaillée dans le dernier chapitre (paragraphe 4.1). Dans ce chapitre, nous avons décrit les formules principales utilisées par Kondor+ pour la génération des courbes de taux simples. En effet, nous avons vu les méthodes d’interpolation utilisées et les mesures sur lesquelles ces formules sont appliquées. Par la suite, nous avons explicité les formules à utiliser pour obtenir un facteur d’actualisation quelconque, et ce pour un instrument « Deposit », « Swap » et « Forward rate agreement ». Nous avons également vu comment obtenir un taux zéro-coupon à partir d’un facteur d’actualisation. Le prochain chapitre vise à introduire la nouvelle approche utilisée pour la génération des courbes de taux. 25 Chapitre 3 Kondor+ et l’approche multi-courbes Après avoir introduit les formules utilisées par Kondor+ pour des courbes simples, nous expliciterons dans ce chapitre la méthodologie et les formules utilisées après la crise financière. Nous allons d’abord éclaircir l’impact de la crise sur la construction des courbes de taux. Ensuite, nous verrons comment l’approche post-crise de construction des courbes fonctionne. 3.1 Introduction à la nouvelle approche 3.1.1 Inconvénients de l’approche mono-courbe La crise financière a bouleversé le comportement des marchés financiers. Aussi a-t-elle remis en question la robustesse des modèles de valorisation des produits. Ces modèles se basent sur certaines hypothèses, qui, invalides pendant la crise, ont fait que la valorisation soit erronée. De ce fait, la modélisation financière a accompagné la complexification des produits et est venue en réponse à leur valorisation. Jusqu’en 2007, il existait une méthode classique pour la construction des courbes de taux « Forward », et qui permettait de valoriser d’une manière " précise " des produits financiers dérivés de taux. Cela dit, suite à la crise de liquidité ayant commencé en 2007, la méthode classique s’est révélée imprécise et ne correspondait pas à ce qui se passait réellement sur le marché. La crise financière a révélé les défauts de la construction de la courbe de taux. Avant la crise, les spreads de base étaient minimes, et les taux « Forward » et les facteurs d’actualisation étaient déduits des taux « Swaps » du marché. Pendant la crise, les risques de crédit et de liquidité ont fait que les spreads de base s’élargissent, ce qui a remis en question l’approche mono-courbe. En outre, certains indicateurs ont évolué d’une manière anormale : les dépôts overnight sont devenus plus importants, ce qui montre que les banques préféraient stocker leurs liquidités à la banque centrale au lieu de se prêter entre elles. De surcroît, l’écart entre les taux LIBOR 3M et LIBOR 6M a augmenté considérablement : l’écart qui était inférieur à 5 bps (5 points de base) a dépassé 100 bps. Les prêts de 3 mois et de 6 mois n’étaient plus les mêmes. En outre, les risques de crédit et de liquidité ont écarté ce spread de base : les taux 26 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux LIBOR étaient supposés être sans risque vu qu’ils étaient calculés à partir des taux interbancaires offerts, et cela entre des banques de première catégorie. Suite à cette crise financière, le risque de contrepartie s’est accentué. Pour se protéger, les banques ont imposé des taux plus élevés pour les prêts. Par ailleurs, les taux pouvaient être réduits considérablement si le prêt est garanti par un titre (un collatéral) ; si l’emprunteur fait faillite, le prêteur pourra se protéger du risque de contrepartie grâce au collatéral. Dans le cas contraire, le collatéral sera rendu à l’emprunteur. L’ancienne approche L’approche mono-courbe consistait à sélectionner un ensemble de produits de taux correspondant aux maturités choisies, et de construire une courbe de taux à partir des cotations de ces produits. Les taux « Forward » et les facteurs d’actualisation étaient tirés de cette même courbe. Une seule courbe nous permettait donc d’estimer des taux « Forward » et d’actualiser des flux futurs. Cette approche suppose qu’il n’existe qu’une seule courbe de taux par devise. Elle suppose aussi qu’une seule courbe de taux permet de déduire les taux de tous les ténors. Prenons l’exemple d’un « basis Swap » (LIBOR 3M contre LIBOR 6M). Pour estimer les taux LIBOR, nous utilisons la formule (2.9) décrite auparavant. Chose qui donne aux deux jambes la même valeur : 1 − DFTN . Néanmoins, nous observons un écart entre le LIBOR 6M et le LIBOR 3M, ce qui remet en question cette approche. L’approche utilisée pour construire les courbes de taux n’est donc plus valide, d’où l’introduction d’une nouvelle approche qui rectifie les imprécisions de l’approche mono-courbe. 3.1.2 Approche multi-courbes Après la crise, le marché des instruments de chaque ténor connait une dynamique qui lui est propre et qui le différencie du marché des produits d’un autre ténor. Différents marchés correspondant à différents ténors deviennent d’actualité. La nouvelle approche permet de prendre en compte les incohérences et d’adapter l’ancienne méthodologie aux observations post-crise. Cette approche consiste à : • construire une courbe de discount (d’actualisation) comme vu précédemment. Cette courbe ne sera utilisée que pour actualiser les flux dans la devise qui lui correspond ; • choisir des instruments qui correspondent au ténor choisi ; • construire la nouvelle courbe de taux en se basant sur les cotations des instruments choisis. Cette courbe sera une courbe d’estimation, et ne sera utilisée que pour estimer les taux « Forward » ; • utiliser ces deux courbes (d’actualisation et d’estimation) pour la valorisation des produits financiers. Cette approche prend en compte les écarts entre ténors, et permet d’obtenir des courbes de taux plus cohérentes que l’approche mono-courbe. Cela dit, plusieurs 27 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux courbes vont dépendre de la courbe de discount générée. Il est donc important de construire une courbe de discount la plus cohérente possible, et cela en choisissant les bons instruments pour la construire. De plus, ces instruments peuvent avoir des maturités qui se chevauchent. Ainsi, il est important de choisir les instruments qui correspondent à la courbe recherchée. Par ailleurs, les courbes de Forecast qui seront des courbes généralement utilisées pour estimer des taux « Forward » 3M ou 6M, se distingueront des courbes de discount par l’intervention d’un autre instrument, qui est le « Forward rate agreement » ou bien les « Futures ». Puisque les « Forward rate agreements » sont liquides pour des maturités entre 3 mois et 3 ans, ils se verront prioriser dans la génération des courbes de Forecast : si des instruments « Cash », « Swaps » et « Forward rate agreements » sont cotés sur le marché pour une maturité donnée, nous allons choisir l’instrument « Forward rate agreement » pour cette maturité, et non pas l’instrument « Cash » ou « Swap ». Le principe général de construction des courbes de taux, quant à lui, reste le même. (Pour plus de détails sur la section 3.1, se référer à [3] ) 3.2 L’approche multi-courbes sur Kondor+ Dans cette partie, nous décrirons la manière avec laquelle Kondor+ génère des courbes qui dépendent d’autres courbes, et cela dans le cadre de l’approche multicourbes. Les courbes que nous allons traiter sont les suivantes : • courbes basées sur des « basis Swaps » : la courbe étudiée sera basée sur une courbe « Forward » 6M pour générer une courbe « Forward » 3M dans la même devise ; • une courbe d’actualisation collatéralisée dans la même devise : la courbe étudiée sera une courbe de « Forward » 6M basée sur une courbe d’actualisation de la même devise ; • une courbe sous collatéralisation entre deux devises différentes : la courbe étudiée sera une courbe de discount dans la devise de référence collatéralisée dans la devise étrangère. Cette courbe est basée sur deux courbes de Forecast, chacune dans une devise, et une courbe de discount dans la devise étrangère. Pour retrouver les formules utilisées par Kondor+ dans le cadre de l’approche multi-courbes, nous nous inspirerons des formules présentées dans l’article [7] 3.2.1 « Basis Swaps » La courbe qui sera étudiée dans cette partie est une courbe d’estimation « Forward » 3M en euro. Cette courbe dépend de deux autres courbes : une courbe OIS de discount et une courbe de « Forward » 6M de Forecast. Le tableau suivant résume 28 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux la dépendance entre les courbes : Matrice des dépendances Indice Discount Forward Jambe recherchée EUR 3M Courbe de discount OIS Valeur implicite Jambe connue EUR 6M Courbe de discount OIS Courbe de Forward 6M Table 3.1 – Matrice des dépendances pour une courbe basée sur des « basis Swaps » Utilisation des spreads Sur cette courbe, nous utilisons un « basis Swap » EURIBOR 3M contre un EURIBOR 6M. C’est un « Swap » dont les deux jambes sont indexées sur les taux EURIBOR 3M et 6M respectivement. La cotation d’un « basis Swap » sur le marché est exprimée en spread. Le spread correspond au pourcentage ajouté à l’une des jambes variables, pour que celle-ci ait la même valeur que l’autre jambe. La courbe « Forward » 3M sera donc générée à partir de la courbe « Forward » 3M à l’aide des cotations des basis spreads (les spreads des « basis Swaps »), et ses flux seront actualisés moyennant la courbe OIS. Courbe de « Forward » 6M Courbe de discount OIS Courbe de « Forward » 3M Spread de « basis Swaps » Figure 3.1 – Dépendances d’une courbe « basis Swaps » Les deux premiers segments de la courbe « Forward » EUR 3M sont constitués de « Money Market » et de « Forward rate agreements ». Les facteurs d’actualisation qui correspondent à ces deux segments seront calculés par les formules vues dans la section 2.3 Dans le dernier segment de la courbe qui contient les cotations des « basis Swaps », nous allons utiliser les spreads affichés pour calculer le facteur d’actualisation à la 29 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux date TN . Après avoir calculé les facteurs d’actualisation, nous utilisons la formule (2.12) pour trouver les taux « Forward » 3M. La valeur actuelle des flux de la jambe variable indexée sur le taux Euribor 6M : J6M = N X δi (F wd6M (Ti−1 , Ti ) + spd) DFTi (3.1) i=1 La valeur actuelle des flux de la jambe variable indexée sur le taux Euribor 3M : J3M = N X 0 δi F wd3M (Ti−1 , Ti )DFTi (3.2) i=1 où : • DFTi : facteur d’actualisation à la date Ti issu de la courbe de discount OIS ; • spd : spread du « basis Swap » dont la maturité est TN ; • δi : fraction d’année entre Ti−1 et Ti = Ti−1 + 6 Mois ; 0 • δi : fraction d’année entre Ti−1 et Ti = Ti−1 + 3 Mois ; • F wd6M (Ti−1 , Ti ) : taux « Forward » entre Ti−1 et Ti = Ti−1 + 6 mois issu de la courbe « Forward » 6M ; • F wd3M (Ti−1 , Ti ) : taux « Forward » entre Ti−1 et Ti = Ti−1 + 3 mois de la courbe générée. Puisque nous ne pouvons pas appliquer la formule (2.9) dans l’approche multicourbes, la valeur de la jambe indexée sur l’EURIBOR 3M devient : N X 0 δi F wd3M (Ti−1 , Ti )DFTi = i=1 N −1 X i=1 0 DFTN −1 δi F wd3M (Ti−1 , Ti )DFTi + − 1 DFTN 0 DFTN (3.3) 0 où : • DFT0 i : facteur d’actualisation utilisé pour le Forecast (utilisé pour estimer les taux « Forward ») à la date Ti de la courbe générée. Le facteur d’actualisation à la date TN peut être calculé en égalisant les deux jambes du « basis Swap ». La formule obtenue est la suivante : 0 DFTN ∗ DFTN −1 0 DFTN = DFTN + PN i=1 (F wd6M (Ti−1 , Ti ) + spd) δi DFTi − Remarques 30 PN −1 i=1 0 δi F wd3M (Ti−1 , Ti )DFTi (3.4) Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux • La convention de décompte des jours utilisée pour calculer δi0 et δi est Act/360 ; • Pour les deux courbes de Forecast, les calculs sont basés sur des interpolations linéaires des taux zéro-coupon ; • Pour les courbes de discount, les calculs sont basés sur des interpolations linéaires appliquées aux facteurs d’actualisation ; • Le calendrier (l’échéancier) est généré à partir de la date spot jusqu’à la maturité du « basis Swap » choisi. 3.2.2 Actualisation sous collatéralisation dans la même devise Dans cette partie, nous allons étudier une courbe de discount collatéralisée dans la même devise. Cette courbe ne dépend que d’une seule courbe, qui est la courbe d’actualisation OIS. Le tableau suivant présente brièvement la dépendance entre les courbes : Matrice des dépendances Indice Discount Forward Jambe recherchée EUR 6M Courbe de discount OIS Valeur implicite Jambe connue Fixe Courbe de discount OIS - Table 3.2 – Matrice des dépendances pour une courbe d’actualisation collatéralisée dans une devise Courbe de discount collatéralisée Courbe de discount OIS Figure 3.2 – Dépendances d’une courbe sous collatéralisation dans une seule devise Les deux premiers segments (constitués de « Money Market » et de « Swaps ») de cette courbe seront calculés comme vu précédemment, et cela jusqu’à la 4ème année (vu la priorité des « Forward rate agreements » pour la courbe de Forecast par rapport aux « Swaps » de taux). 31 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux Pour la partie « Swaps », le facteur d’actualisation à la date TN est calculé à partir de l’égalisation de la jambe fixe et de la jambe variable du « Swap » de taux. La jambe fixe est exprimée comme suit : JF ixe = N X δi0 CN DFTi (3.5) i=1 La jambe variable : J6M = N X δi F wd6M (Ti−1 , Ti )DFTi i=1 N −1 X i=1 0 DFTN −1 δi F wd6M (Ti−1 , Ti )DFTi + − 1 DFTN 0 DFTN (3.6) où : • DFTi : facteur d’actualisation à la date Ti issu de la courbe de discount OIS ; • CN : taux fixe du « Swap » dont la maturité est TN ; • δi : fraction d’année entre Ti−1 et Ti = Ti−1 + 6 mois ; 0 • δi : fraction d’année entre Ti−1 et Ti = Ti−1 + 1 an ; • F wd6M (Ti−1 , Ti ) : taux « Forward » entre Ti−1 et Ti = Ti−1 + 6 mois issu de la courbe générée ; • DFT0 i : facteur d’actualisation utilisé pour le Forecast (utilisé pour estimer les taux « Forward ») à la date Ti issu de la courbe générée. Après égalisation des deux jambes, nous obtenons la formule suivante : 0 DFTN ∗ DFTN −1 0 DFTN = DFTN + PN i=1 CN δi DFTi − PN −1 i=1 δi F wd3M (Ti−1 , Ti )DFTi (3.7) En moyenne, l’erreur entre les résultats obtenus par cette formule implémentée sur Excel et les résultats affichés sur Kondor+ est de l’ordre de 10−10 . 3.2.3 Actualisation sous collatéralisation dans deux devises Dans cette partie, nous allons étudier une courbe de discount d’une devise de référence collatéralisée dans une devise étrangère. Cette courbe dépend de deux courbes de Forecast : la première est une courbe de Forecast dans la devise de référence, et la deuxième dans la devise étrangère. La courbe dépend aussi de la courbe de discount de la devise étrangère pour actualiser les flux dans cette devise. Nous aurons aussi besoin des « Swaps » de devises pour transformer les flux d’une devise à une autre. 32 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux Le tableau 3.3 et la figure 3.3 décrivent brièvement la dépendance entre les courbes : Matrice des dépendances Indice Discount Forward Jambe recherchée Ref 3M Valeur implicite Courbe de Forecast Ref Jambe connue Flat 3M Courbe de discount OIS Courbe de Forecast Flat Table 3.3 – Matrice des dépendances pour une courbe d’actualisation sous collatéralisation dans deux devises Courbe de discount OIS dans la devise étrangère Courbe de Forward 3M étrangère Courbe de discount sous collatéralisation Courbe de Forward 3M de référence Spread de Swap de devises Figure 3.3 – Dépendances d’une courbe sous collatéralisation dans deux devises La valeur actuelle de la jambe de référence est comme suit : DFTref N − ref DFspot + N X ref F wdref 3M (Tj−1 , Tj )δj DFTj j=1 + N X δj .spd.DFTref j (3.8) j La valeur actuelle de la jambe étrangère est : f lat spotref /f lat DFTfNlat − DFspot + N X j=1 33 lat F wdf3M (Tj−1 , Tj )δj DFTfjlat (3.9) Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux où : • DFTref : facteur d’actualisation de la courbe de référence à la date TN collatéN ralisé dans la devise étrangère ; • DFTfNlat : facteur d’actualisation de la courbe étrangère à la date TN collatéralisé dans la devise de référence ; ref • DFspot : facteur d’actualisation pour la courbe de référence à la date spot ; f lat • DFspot : facteur d’actualisation pour la courbe étrangère à la date spot ; • δi : fraction d’année entre Ti−1 et Ti basé sur le calendrier de la devise de référence ; 0 • δi : fraction d’année entre Ti−1 et Ti basé sur le calendrier de la devise étrangère ; lat • F wdf3M (Tj−1 , Tj ) : le taux « Forward » 3M entre Ti−1 et Ti , issu de la courbe de Forecast de la courbe de la devise étrangère ; • F wdref 3M (Tj−1 , Tj ) : le taux « Forward » 3M entre Ti−1 et Ti , issu de la courbe de Forecast de la courbe de référence ; • spd : le spread entre devises qui correspond au « Swap » de devise dont la maturité est TN . C’est le spread entre la devise de référence et la devise étrangère ; • spotref /f lat : le taux de change entre les deux devises. Ce dernier est égal à 1 puisque nous utilisons le spread pour passer d’une devise à une autre. En égalisant les deux jambes, nous obtenons la formule de calcul de DFTN suivante : DFTref N = ref DFspot − PN −1 j=1 ref F wdref 3M (Tj−1 , Tj )δj DFTj − PN j 1 + F wdref 3M (TN −1 , TN )δN + spd.δN δj .spd.DFTref j + (3.10) spotref /f lat DFTfNlat 1+ P f lat f lat f lat − DFspot + N j=1 F wd3M (Tj−1 , Tj )δj DFTj F wdref 3M (TN −1 , TN )δN + spd.δN Remarques • La convention de décompte des jours utilisée pour calculer δi0 et δi est Act/360 ; • Certains flux peuvent ne pas avoir lieu à la même date : chaque jambe a son propre calendrier, et certains jours peuvent être fériés pour le calendrier de la jambe de référence alors qu’ils sont ouvrables dans le calendrier de la jambe étrangère. 34 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux En moyenne, l’erreur entre les résultats obtenus par cette formule implémentée sur Excel et les résultats affichés sur Kondor+ est de l’ordre de 10−10 . Dans ce chapitre, nous avons montré l’incohérence de l’ancienne approche et l’importance d’introduire une nouvelle méthodologie après la crise financière, qui est l’approche multi-courbes. Nous avons également présenté les différentes formules utilisées pour la génération des courbes de taux dans le cadre de cette approche. Dans le prochain chapitre, nous allons présenter les outils développés et les résultats obtenus durant ce stage. 35 Chapitre 4 Développement des outils de comparaison et de construction des courbes de taux Les strippeurs des courbes de taux sont des outils qui permettent de construire des courbes de taux et de calculer les facteurs d’actualisation. Ces facteurs d’actualisation seront ensuite utilisés par un pricer (outil qui permet de valoriser un produit financier). En effet, pour calculer le prix d’un produit financier, il faut actualiser tous les flux qu’il engendre. Un outil précis de construction des courbes de taux est donc indispensable pour qu’un pricer donne des résultats cohérents avec la réalité. Ce chapitre a pour objectif de présenter les outils développés durant ce stage. Tout d’abord, nous présenterons la méthode numérique utilisée pour éviter l’extrapolation (paragraphe 2.3.2) et son implémentation sur VBA-Excel. Ensuite, nous présenterons l’outil de comparaison que nous avons développé, et qui permet de comparer les résultats obtenus par différents outils de construction des courbes de taux. Finalement, nous décrirons l’outil de « stripping » permettant de générer des courbes de taux. 4.1 Algorithme itératif proposé Tous les facteurs d’actualisation ne sont pas connus, et une seule formule n’est pas forcément suffisante pour un facteur d’actualisation à une date TN . Pour expliciter ce problème, nous allons prendre comme exemple une courbe de discount sous collatéralisation dans la même devise. La méthode de bootstrap est valable pour la partie « Deposit » et « Forward rate agreement », parce qu’à chaque fois qu’un instrument atteint sa maturité, un autre instrument le succède. Toutefois, entre le dernier instrument « Forward rate agreement » et le premier instrument « Swap », il existe un vide de 6 mois. Par ailleurs, la cotation d’un « Swap » est donnée annuellement, donc il existe un vide d’un an entre un « Swap » et le « Swap » qui le suit. Pour cette courbe, les flux des « Swaps » sont générés semestriellement (trimestriellement pour d’autres courbes). Pour connaître la valeur actuelle des flux de ces 36 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux « Swaps », nous avons besoin d’un facteur d’actualisation chaque 6 mois. Supposons avoir un facteur d’actualisation à la date TN −1 (qui correspond à la maturité d’un « Swap » 4 ans), et que nous cherchons à trouver le facteur d’actualisation à la date TN (qui correspond à un « Swap » 5 ans). Etat Connu Inconnu Inconnu Date TN −1 0 T = TN −1 + 6mois TN Zc Zc(TN −1 ) Zc(T 0 ) Zc(TN ) Facteur d’actualisation DFTN −1 DFT 0 DFTN Table 4.1 – Détails du flux « Swap » Pour utiliser la formule (3.7), nous avons besoin du F wd6M (TN −1 , T 0 ) qui est inconnu. Le taux F wd6M (TN −1 , T 0 ) peut être obtenu grâce au facteur d’actualisation à la date T 0 . Par conséquent, nous avons deux inconnues (DFT 0 et DFTN ), et une seule équation. Pour surmonter ce problème, nous allons ajouter une nouvelle contrainte sur DFT 0 : il s’agit d’une contrainte d’interpolation, de façon à ce que DFT 0 (ou Zc(T 0 )) soit approché par une interpolation linéaire ou loglinéaire entre le dernier facteur d’actualisation connu (DFTN −1 ) et le facteur d’actualisation recherché (DFTN ). Pour cet exemple, nous allons utiliser une interpolation linéaire appliquée au taux zéro-coupon. En ajoutant cette nouvelle contrainte, nous pouvons trouver une solution unique pour le problème posé, et cela par le biais de l’algorithme suivant : Algorithm 1 Condition d’interpolation sur les taux zéro-coupon 1: Zc(T 0 ) ← Zc(TN −1 ) 2: DFTN ← 1 3: DFtemp ← 0 4: while |DFtemp − DFTN | > 10−10 do . Erreur acceptable 5: DFTN ← DFtemp 6: Calcul de DFtemp en utilisant la formule appropriée . (3.7) dans ce cas 7: Calcul de Zc(TN ) à partir de DFtemp Calcul de Zc(T 0 ) à partir de la condition d’interpolation entre Zc(TN −1 ) et 8: Zc(TN ) 9: end while 10: return DFTN Remarques • A la première itération, nous affectons à Zc(T 0 ) la dernière valeur connue des taux zéro-coupon, qui est Zc(TN −1 ), et qui représente la plus petite valeur que Zc(T 0 ) peut avoir ; • DFTN est initialisée à 1 (La plus grande valeur que peut prendre le facteur d’actualisation ; 37 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux • Le facteur d’actualisation calculé à chaque itération sera stocké dans la variable DFtemp . Si l’interpolation appliquée est une condition d’interpolation sur les facteurs d’actualisation, l’algorithme utilisé est le suivant : Algorithm 2 Condition d’interpolation sur les facteurs d’actualisation 1: DFT 0 ← DF TN −1 2: DFTN ← 1 3: DFtemp ← 0 4: while |DFtemp − DFTN | > 10−10 do . Erreur acceptable 5: DFTN ← DFtemp 6: Calcul de DFtemp en utilisant la formule appropriée . (3.7) dans ce cas 0 Calcul de DFT à partir de la condition d’interpolation entre DFTN −1 et DFTN 7: 8: end while 9: return DFTN En guise de test, cet algorithme a été codé sous VBA-Excel, en utilisant les méthodes d’interpolation linéaire et "loglinéaire". Nous avons utilisé cet algorithme pour générer les courbes de « basis Swaps » et les courbes collatéralisées. Les résultats seront présentés dans ce qui suit. Remarque : Kondor+ utilise un algorithme similaire. En effet, Kondor+ impose des contraintes d’interpolation et calcule les facteurs d’actualisation à l’aide d’une méthode numérique [9]. Les résultats obtenus par cette méthode et l’algorithme 1 ou 2 sont les mêmes. De plus, les deux algorithmes présentés convergent en moyenne après 6 itérations et sont simples à implémenter. Par conséquent, nous allons utiliser ces deux algorithmes comme solution au problème posé, et cela sans devoir utiliser des dérivées, nécessaires à l’utilisation de l’algorithme de Newton Raphson. Implémentation sous VBA-Excel D’après ce qui précède, nous remarquons que plusieurs courbes ne peuvent pas être générées directement via des formules sur Excel. Effectivement, il est nécessaire d’utiliser des méthodes itératives pour retrouver le bon facteur d’actualisation. Pour s’assurer que les formules présentées donnent les mêmes résultats que celles utilisées par Kondor+, nous avons développé un code VBA capable de reproduire les valeurs des facteurs d’actualisation en utilisant les algorithmes 1 et 2. Le code VBA prend en entrée les cotations des instruments, les dates de leurs flux, les fractions d’année et les courbes obtenues par Kondor+, dont dépend la courbe envisagée. Les résultats obtenus sont les suivants : • pour la courbe de « basis Swaps », l’écart entre les résultats obtenus grâce à l’algorithme et les résultats affichés par Kondor+ est de l’ordre de 10−11 en moyenne ; • pour la courbe collatéralisée dans la même devise, l’écart en moyenne est de l’ordre de 10−10 ; 38 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux • pour la courbe collatéralisée dans une devise étrangère, l’écart en moyenne est de l’ordre de 10−10 . Remarque : Les valeurs affichées par Kondor+ ne contiennent que 10 chiffres après la virgule. Par conséquent, obtenir des écarts de l’ordre de 10−10 veut dire que les résultats sont les mêmes résultats obtenus par Kondor+. Les résultats détaillés sont présentés dans l’annexe (figures 4, 5 et 6) 4.2 Python Le langage utilisé pour le développement des deux outils est le langage Python. Python est un langage de programmation multi-plateformes, utilisé dans différents domaines. Une variété de librairies est disponible pour Python, et chacune de ces librairies est spécialisée dans un contexte donné (traitement de son et d’image, création d’interfaces graphiques, calculs mathématiques avancés, traitement de données, contrôle d’applications externes...). Python est de plus en plus utilisé dans le monde professionnel vu la clarté de sa syntaxe et sa vitesse d’exécution. Il est caractérisé par : • son utilisation pour de la programmation orientée objet ou bien pour du « scripting » ; • c’est un langage interprété : pas de compilation requise ; • l’absence d’accolades pour délimiter les blocs de code (comme dans d’autres langages tel que C, C#, Java...). Sur Python, les blocs sont déterminés par l’indentation, ce qui rend le code moins encombré et plus lisible ; • de plus, le langage python est toujours en évolution, et de plus en plus de librairies sont disponibles. 4.3 Outil de comparaison Les courbes de taux sont utilisées dans la valorisation de divers instruments, par conséquent, générer une courbe erronée n’est pas tolérable. Pour s’assurer de la validité d’une courbe de taux, il est nécessaire de comparer la courbe obtenue par notre logiciel avec d’autres courbes, issues d’un autre outil de construction des courbes. Dans ce cadre, l’une des tâches à réaliser était d’automatiser la comparaison entre différentes courbes de taux, et cela moyennant un script générique de comparaison entre courbes. Le script est codé en python et se connecte à un fichier Excel contenant les courbes à comparer, suit des instructions sur une feuille de configuration, et donne en sortie un fichier Excel qui résume les résultats obtenus. 39 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux 4.3.1 Interface de la feuille de configuration La feuille de configuration permet à l’utilisateur de choisir les courbes et les mesures à comparer. Elle est caractérisée par : • le tableau "Curves", qui contient les courbes disponibles (générées auparavant) par chacun des deux outils ; • les champs sont sous forme de listes déroulantes, et ce afin que les noms des courbes pour les deux outils soient exacts. L’utilisateur n’a qu’à choisir les courbes à comparer ; • pour chaque comparaison, l’utilisateur choisit la mesure à comparer (facteurs d’actualisation notés "DF", taux « Forward » 3 mois notés "Fwd3M" ou taux « Forward » 6 mois notés "Fwd6M") ; • la mention "True" permet de vérifier si la date choisie est bien un jour ouvrable. La figure 4.3.1 représente la feuille de configuration en question. Figure 4.1 – Feuille de configuration 40 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux 4.3.2 Méthodes implémentées Par soucis de lisibilité du script et de répétition d’instructions, plusieurs méthodes seront implémentées, chacune ayant un rôle précis. Le script va suivre les étapes suivantes : Récupération des données Un seul fichier Excel contient les feuilles nécessaires pour les comparaisons. Ainsi, le fichier Excel va contenir une feuille de configuration et deux feuilles contenant chacune les courbes d’un outil de construction des courbes de taux. La première méthode implémentée avec Python va donc demander à l’utilisateur le chemin vers le fichier Excel. Une fois le chemin connu, la méthode se connecte au fichier Excel et récupère toutes les courbes disponibles de chacun des outils de « stripping », et récupère les données nécessaires de la feuille de configuration. Traitement des données Dès la disponibilité des données, le script va les traiter. Les méthodes utilisées sont les suivantes : • la première méthode va affecter à chaque mesure un même nom peu importe l’outil de construction des courbes de taux d’où elle provient. Les mesures que nous cherchons à comparer ne sont pas toujours nommées de la même manière. En effet, pour les facteurs d’actualisation, nous pouvons trouver une colonne "Discount", "DF" ou bien "Discount factor"... Cette méthode va nous permettre d’éviter de changer à chaque fois l’appellation des mesures à comparer dans le script ; • la méthode principale de comparaison : c’est la méthode qui va prendre en paramètres les courbes et qui compare les mesures sélectionnées à partir de la feuille de configuration. Enregistrement des résultats Une fois les données traitées, le script va enregistrer les résultats sur un autre fichier Excel "Results.xls". Nous avons implémenté une méthode permettant de créer et d’écrire les résultats sur ce nouveau fichier Excel. 4.3.3 Résultats L’outil de comparaison permet de donner une vision globale sur les écarts entre les courbes comparées. Effectivement, l’outil retourne le tableau récapitulatif 4.2 : 41 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux Figure 4.2 – Tableau récapitulatif des résultats Pour plus de détails, nous chercherons à voir l’erreur entre les deux outils pour chacune des maturités disponibles. C’est pourquoi l’outil de comparaison affiche les résultats détaillés sur d’autres feuilles Excel (le nom des deux courbes comparées est affiché comme nom de la feuille). Un exemple de détails de comparaison est présenté sur la figure 4.3. Figure 4.3 – Détails de comparaison : EUR_CSA_USD Vs EUR csa USD refi EUR 22 4.4 Elaboration d’un script de construction des courbes de taux Après avoir élaboré les formules permettant de retrouver les résultats obtenus par Kondor+, nous avons créé un outil de construction des courbes de taux à partir des cotations des « Money Market », « Forward Rate Agreements », « Swaps » de taux (« Interest rate Swaps » et « basis Swaps ») et les « Swaps » de devises. Étant donné une suite de cotations des produits dérivés de taux et leurs maturités correspondantes, le script est capable de générer des courbes de taux. Le script va donc prendre comme entrée un tableau contenant les cotations des 42 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux produits dérivés (nous allons prendre le tableau affiché par Kondor+ pour faciliter la comparaison des résultats dans un premier lieu), et va générer les facteurs d’actualisation, les taux zéro-coupon et les taux « Forward » pour chaque maturité. Pour cela, nous allons utiliser plusieurs librairies Python qui nous permettront de nous connecter aux fichiers Excel, et de transformer les données en « Dataframes » (représentation des données sous une forme semblable à un tableau). Notre script va ensuite traiter les données de ces « Dataframes » de manière structurée pour générer la courbe de taux souhaitée. 4.4.1 Méthodes implémentées Toujours par souci de lisibilité du script et de répétition des instructions, le script sera organisé en plusieurs méthodes, chacune traitant une partie bien spécifique et nécessaire à l’obtention du résultat final. Les étapes principales suivies par le script sont les suivantes : Récupération des données Les données à traiter sont enregistrées dans un fichier Excel. Une première méthode consiste à demander à l’utilisateur le chemin du fichier Excel contenant les données à traiter. Quand le chemin est introduit, la méthode va prendre du fichier Excel le tableau contenant les données et le transformer en « Dataframe », qui est un type sur Python permettant de manipuler des données structurées de manière simple. Les méthodes de traitement de données vont toutes manipuler des éléments de type « Dataframe ». Préparation des données à traiter Certaines données de marché affichées par Kondor+ ne sont pas exactes. Ces données ont été interpolées, mais la valeur affichée ne contient que 4 voire 5 chiffres après la virgule. Utiliser ces données va alors complètement fausser les résultats et va conduire vers des écarts importants. Kondor+ indique les valeurs interpolées par le mot "Interpolated" au lieu de "Database" dans la colonne "Feed". La première étape avant de traiter les données est de vérifier s’il existe des valeurs interpolées, et de transformer ces données pour obtenir leurs bonnes valeurs. Dans ce sens, nous avons développé une méthode qui permet de traiter les données récupérées. Cette méthode prend en paramètres le tableau d’entrée, et la méthode d’interpolation utilisée. Elle retourne un « Dataframe » contenant les nouvelles données interpolées. Méthodes d’interpolation L’interpolation joue un rôle important dans la construction d’une courbe de taux. Ainsi, nous avons réalisé deux fonctions d’interpolation, la première est une méthode qui retourne une mesure (facteur d’actualisation/taux zéro-coupon) à une date donnée, en appliquant la formule d’interpolation "linéaire". La deuxième méthode est une méthode d’interpolation "loglinéaire", qui fait appel à la première méthode, en lui envoyant comme paramètre le logarithme de la mesure choisie. 43 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux Obtention des dates et des fractions d’année Prendre en compte les conventions de décompte des jours et les bons calendriers est primordial. En réalité, un décalage d’un jour ou bien l’utilisation d’une convention "act/360" au lieu de "30/360" produit des écarts importants, et par conséquent, des résultats erronés. Plusieurs méthodes ont été implémentées pour gérer les dates : • La première méthode est une méthode qui retourne une date future qui correspond à la date de référence à laquelle on ajoute le nombre de jours souhaité. Cette méthode prend en paramètres : – une date de référence ; – le nombre de jours, de mois ou d’années à ajouter à cette date de référence ; – le calendrier utilisé pour le calcul (calendrier qui prend en considération les jours fériés de la zone euro, US...) ; – la convention utilisée pour le calcul de dates (following, modfollowing...). • Une méthode qui retourne la fraction d’année entre deux dates. La fonction prend en paramètres : – la date de début ; – la date de fin ; – la convention de calcul : "act/360" ou "30/360". • une méthode qui permet d’obtenir la date spot (date de début de valorisation) à partir du « Dataframe » pris en paramètre ; • une méthode qui retourne les dates des flux d’un « Swap » : toutes les dates auxquelles les versements auront lieu. Cette méthode prend en paramètres la date spot et la fréquence à laquelle les flux du « Swap » sont calculés. Calcul des facteurs d’actualisation pour les différents segments de la courbe Dès que les données sont traitées et les méthodes qui génèrent les dates et les fractions d’année sont disponibles, nous pouvons commencer la génération de notre courbe. Pour cela, nous allons calculer les facteurs d’actualisation segment par segment. Les étapes de calcul sont les suivantes : • une première méthode va calculer les facteurs d’actualisation pour la partie contenant les instruments « Money Market ». Cette méthode va prendre le « Dataframe » obtenu après traitement des données, et retourne le « Dataframe » avec une colonne de plus contenant les facteurs d’actualisation jusqu’au dernier instrument « Money Market » ; • la méthode suivante va calculer les facteurs d’actualisation pour la partie « Forward Rate Agreement » en utilisant le « Dataframe » qui contient les facteurs d’actualisation pour la partie « Deposit ». La fonction retourne le « Dataframe » 44 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux en ajoutant les facteurs d’actualisation jusqu’au dernier instrument « Forward Rate Agreement » ; • la prochaine étape est la génération du segment pour les longues durées. La méthode utilisée pour le calcul des facteurs d’actualisation issus de la partie « Swap » va prendre en paramètre le « Dataframe » qui contient les facteurs d’actualisation pour la partie « Deposit »/« Forward rate agreement », et calcule les facteurs d’actualisation pour la partie « Swaps ». Elle retourne le « Dataframe » en ajoutant les facteurs d’actualisation jusqu’au dernier instrument « Swap ». Calcul des taux zéro-coupon Une fois les facteurs d’actualisation obtenus, il est facile de calculer les taux zéro-coupon grâce à la formule (2.11). La méthode implémentée pour le calcul des taux zéro-coupon prend le « Dataframe » contenant les facteurs d’actualisation, et utilise la formule (2.11) pour retrouver ces taux. Cette méthode crée une nouvelle colonne dans le « Dataframe » sous le nom de "Zc rate". Calcul des taux « Forward » Le calcul des taux « Forward » nécessite des interpolations entre les différents facteurs d’actualisation comme vu précédemment (voir section 2.3.2, partie Forward Rate Agreements). Par conséquent, la méthode devra prendre en paramètres : • la méthode d’interpolation utilisée. • le ténor souhaité (3 mois ou 6 mois) ; • le « Dataframe » contenant les facteurs d’actualisation retrouvés par les méthodes précédentes. A partir du moment où les facteurs d’actualisation manquants sont obtenus par interpolation, la méthode calcule les taux « Forward » correspondants en appliquant la formule (2.12). Elle retourne ensuite le « Dataframe » pris en entrée en y ajoutant une colonne "Forward rate". Remarque : Ces méthodes font appel aux méthodes de génération des dates et des fractions d’année. Génération de la partie « Swap » pour les courbes collatéralisées Pour des courbes collatéralisées dans la même devise, nous avons besoin de deux courbes : la première étant la courbe actuelle que nous cherchons à générer et la deuxième étant la courbe de discount utilisée pour l’actualisation. La méthode prend ces deux courbes comme paramètres, génère la courbe de discount, et utilise les facteurs d’actualisation issus de cette courbe pour retourner les facteurs d’actualisation de la courbe collatéralisée, et cela en utilisant l’un des algorithmes présentés précédemment (page 37 ou 38, selon la méthode d’interpolation utilisée). 45 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux Génération des courbes La génération des courbes se fait à partir d’une seule méthode. C’est la méthode principale appelée par le script. Elle prend en paramètre le « Dataframe » d’entrée, fait appel aux fonctions précédemment définies pour calculer les facteurs d’actualisation, les taux « Forward » et les taux zéro-coupon. Elle retourne un « Dataframe » final contenant toutes les mesures recherchées. 4.5 Comparaison avec les résultats de Kondor+ Nous avons testé le script sur plusieurs types de courbes, les écarts obtenus en comparaison avec les résultats de Kondor+ sont, en moyenne, les suivants : • Courbes simples : – facteurs d’actualisation : 10−12 ; – taux zéro-coupon : 10−12 ; – taux « Forward » : 10−13 . • Courbes collatéralisées dans la même devise : – facteur d’actualisation : 10−9 ; – taux zéro-coupon : 10−9 ; – taux « Forward » : 10−8 . Exemple de résultats trouvés Voir annexe, figures 7, 8, et 9. Dans ce chapitre, nous avons présenté les deux outils que nous avons développés au cours de ce stage. Nous avons décrit l’outil de comparaison et son importance dans la vérification de la cohérence des courbes de taux entre elles. Ensuite, nous avons détaillé le fonctionnement de l’outil de construction des courbes de taux que nous avons réalisé. Nous avons également donné des exemples de résultats obtenus par les deux scripts. 46 Conclusion L’objectif de ce projet était de réaliser un script de comparaison entre deux outils de « stripping » et de développer un outil de construction des courbes de taux en considérant les formules utilisées par Kondor+. Tout d’abord, nous avons introduit les notions nécessaires à la construction d’une courbe de taux, telles que les notions d’actualisation, de capitalisation et les principaux taux de référence. Nous avons aussi introduit les produits dérivés de taux nécessaires à l’étude, notamment les contrats « Deposit », « Forward rate agreements », et « Swaps ». Une fois les notions de base présentées, nous avons décrit la méthode de Bootstrap utilisée pour la construction des courbes de taux. Ensuite nous avons présenté le progiciel Kondor+ et les formules utilisées pour le « stripping » des courbes de taux, et cela dans le cadre de l’approche mono-courbe. Par la suite, nous avons décrit la nouvelle approche post-crise utilisée pour le « stripping » des courbes de taux et présenté les formules et méthodes utilisées pour l’approche multi-courbes par Kondor+. Nous avons également développé un outil capable de comparer de manière générique plusieurs courbes issues de différents outils de « stripping ». Après avoir établi les formules permettant de retrouver les résultats obtenus par Kondor+ dans le cadre de l’approche multi-courbes et avoir réalisé l’outil de comparaison, nous avons développé un outil de génération de courbes de taux. Le script est capable de retrouver des courbes d’actualisation et d’estimation à partir des cotations d’instruments « Deposits », « Forward rate agreements » et différents types de « Swaps ». L’outil permet aussi de générer des courbes dans le cadre de l’approche multi-courbes. L’outil de construction des courbes de taux développé utilise un calendrier interne. Par conséquent, l’une des améliorations à apporter à l’outil est de créer un calendrier propre à lui. Ce calendrier nous permettra de contrôler de près les jours fériés considérés et diminuera le temps d’exécution du script. Par ailleurs, il reste à implémenter les méthodes de construction des courbes collatéralisées dans une autre devise. 47 Bibliographie [1] John HULL, « Options, Futures and other derivatives », 7th edition, Pearson education international, 2009. [2] Gregoire JAUVION, « Adaptation de la structure par terme des taux aux conditions de marché actuelles », 2009. [3] Alexandre NAKHLE, « Le multicurving et l’importance du spread de base dans l’évaluation actuelle des « Swaps » de taux d’intérêt », Décembre 2012. [4] Florian IELPO, « Introduction à la Courbe des Taux », 2006. [5] Marco BIANCHETTI, « Two Curves, One Price : Pricing & Hedging Interest Rate Derivatives Using Different Yield Curves for Discounting and Forwarding », 2009. [6] Damiano Brigo, Fabio Mercurio, « Interest Rate Models-Theory and practice », 2006. [7] Masaaki Fujii, Yasufumi Shimada, Akihiko Takahashi « A Note on Construction of Multiple Swap Curves with and without Collateral », 2010. [8] Wolfram BOENKOST, « Cross currency Swap valuation », 2005. [9] MISYS, « Kondor+ 3.3 CURVES GUIDE », Décembre 2012. [10] MISYS, « Kondor+ 3.3 GETTING STARTD GUIDE », Décembre 2012. [11] Casimir EMAKO, « Calibration de la courbe de taux des devises », Juin 2011. [12] Xander SAVENBERG, « Reverse engineering IRS pricing engine as implemented in Kondor+ 3.3 and RisKatcher Beta sensitivity analysis functionality », Juillet 2013. [13] Saoussane BENJELLOUN, « Construction d’un portefeuille trading obligataire : Immunisation contre le risque de taux et de crédit et optimisation », 2014. 48 Webographie [w1] http://africa-technologies-services.sgcib.com/ [w2] www.investopedia.com [w3] http://www.iotafinance.com/Article-Construction-d-une-Courbe-deTaux-Zero-Coupon-par-Bootstrapping.html [w4] https://sites.google.com/site/calculstochastiqueetmodeles/constructionde-la-courbe-des-taux [w5] http://pandas.pydata.org/pandas-docs/version/0.12.0/ 49 Annexe Figure 4 – Résultats pour la courbe « basis Swap » 50 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux Figure 5 – Résultats pour la courbe EUR collatéralisée en EUR Figure 6 – Résultats pour la courbe USD collatéralisée en EUR 51 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux Figure 7 – Comparaison entre les facteurs d’actualisation obtenus et ceux de Kondor+ pour une courbe de discount euro Figure 8 – Comparaison entre les taux zéro-coupon obtenus et ceux de Kondor+ pour une courbe de discount euro 52 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux Figure 9 – Comparaison entre les taux « Forward » 3M obtenus et ceux de Kondor+ pour une courbe de discount euro 53 Construction des courbes de taux dans le cadre de la valorisation des produits dérivés de taux Figure 10 – Exemple d’implémentation manuelle sur Excel d’une courbe collatéralisée (courbe USD collatéralisée en EUR) 54