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

Documents pareils