Projet Courbe de Taux

Transcription

Projet Courbe de Taux
Projet
Courbe de Taux
Daniel HERLEMONT
1
Objectifs
Développer une bibliothèque en langage C de fonctions relatives à la
"Courbe des Taux"
Valeur Actuelle, Taux de Rendement Interne, Duration, Convexité,
Reconstitution de la courbe de taux Zéro Coupons par diverses méthodes:
Bootstrap,
Interpolations linéaire, cubiques, …
et surtout le méthode à Splines Cubiques, ...
Etudes de sensibilité aux variations
Immunisation
En utilisant des Données réelles
Développement
Développement en langage C
Dans un environnement WNDOWS VISUAL STUDIO
Daniel HERLEMONT
source et référence: Priaulet & L. Martellini et P. Priaulet, «Produits de taux d’intérêt:
Méthodes dynamiques d’évaluation et de couverture», Economica (2000),
très souvent cité dans cette présentation sous l'abréviation MP
2
Utilisation de Données Réelles
Nous travaillerons sur la Coubre des Obligations d'Etat
La courbe Trésor est construite à partir des obligations émises par l’Etat:
Les bons à taux fixes (BTF) à échéances normalisées : 13, 26 et 52 semaines.
Les bons du trésor à intérêts annuels (BTAN): à échéance 2 à 5 ans, ils produisent un
coupon annuel.
Les Obligationn Assimilibles du Trésor (OAT): échéance de 7 à 25 ans
Il s’agit de la courbe dite sans risque dans les pays du G7 dans la mesure où les
Etats de ces pays sont censés ne jamais faire défaut.
Les Etats de ces pays sont notés AAA par les agences de rating, i.e. disposent de
la meilleure notation possible.
Sources des données
Daniel HERLEMONT
Bloomberg
MTS
Boursorama
Economagic
Futures: MATIF, EUREX, …
3
Bloomberg
Daniel HERLEMONT
4
Rappel - Yield
Daniel HERLEMONT
5
Rappel - Yield (2)
Daniel HERLEMONT
6
Rappel - Coupon couru (accrued interest)
La plupart des obligations classiques se cotent en pourcentage de la valeur
nominale et au « pied du coupon » (clean price), c'est à dire sans coupon
couru (accrued interest). L’obligataire acquiert le titre en versant le « plein
coupon » (full price ou dirty price), c'est à dire le coupon couru en plus du
pied de coupon. A la différence des obligations classiques, les obligations
convertibles sont cotées en France en euros et non en pourcentage et en
plein coupon.
Exemple: un investisseur achète le 10 Décembre 2001, une obligation du
trésor, à 3.5% et maturité le 15 Novembre 2006. Le prix du marché est
96.15625. La période du coupon couru est de 26 jours (période du 15
Novembre au 10 Décembre 2001). Le coupon couru est égal au dernier
coupon versé multiplié par 26 jours et divisé par le nombre de jours entre
la date du dernier coupon (le 15 Novembre 2001) et la date du prochain
coupon (le 15 Novembre 2002), soit 365 jours. Le coupon couru est donc
égal à
3.5*26/365=0.2493
L'investisseur doit donc payer 96.4=96.15625+0.2493
Daniel HERLEMONT
7
Indices Euro MTS (ex CNO Extrix)
L’indice EuroMTS reproduit la performance du marché des
emprunts d’Etat de la zone euro en s’appuyant sur la performance
de paniers d’emprunts « sélectionnés » choisis pour représenter les
performances globales des marchés considérés. Il n’inclut donc pas
tous les emprunts d’Etat.
La sélection s'opère sur des critères de liquidité.
Euro MTS (ex CNO Etrix) 1-3 ans, 3-5 ans, 5-7 ans, 7-10 ans, 1015 ans, +15 ans
http://www.euromtsindex.com
Daniel HERLEMONT
8
EMTX: [Eurozone Government Bond Indices]
Date
11/28/2008
11/28/2008
11/28/2008
11/28/2008
11/28/2008
11/28/2008
11/28/2008
11/28/2008
11/28/2008
11/28/2008
11/28/2008
11/28/2008
11/28/2008
11/28/2008
11/28/2008
11/28/2008
11/28/2008
11/28/2008
11/28/2008
11/28/2008
11/28/2008
Time
11:00:00
11:00:00
11:00:00
11:00:00
11:00:00
11:00:00
11:00:00
11:00:00
11:00:00
11:00:00
11:00:00
11:00:00
11:00:00
11:00:00
11:00:00
11:00:00
11:00:00
11:00:00
11:00:00
11:00:00
11:00:00
Id
Description
AT0000383864 RAGB 6.250 15/07/27
AT0000384938 RAGB 5.500 15/01/10
AT0000385067 RAGB 5.250 04/01/11
AT0000385356 RAGB 5.000 15/07/12
AT0000385745 RAGB 4.650 15/01/18
AT0000385992 RAGB 3.800 20/10/13
AT0000386073 RAGB 4.300 15/07/14
AT0000386115 RAGB 3.900 15/07/20
AT0000386198 RAGB 3.500 15/07/15
AT0000A001X2RAGB 3.500 15/09/21
AT0000A011T9 RAGB 4.000 15/09/16
AT0000A04967 RAGB 4.150 15/03/37
BE0000291972 BGB 5.500 28/03/28 #31
BE0000295049 BGB 5.750 28/09/10 #35
BE0000298076 BGB 5.000 28/09/12 #38
BE0000300096 BGB 5.500 28/09/17 #40
BE0000301102 BGB 4.250 28/09/13 #41
BE0000303124 BGB 4.250 28/09/14 #43
BE0000304130 BGB 5.000 28/03/35 #44
BE0000305145 BGB 3.000 28/03/10 #45
BE0000306150 BGB 3.750 28/09/15 #46
Price
AccruedInterestYield
124.76 2.414383562 4.289
103.48 4.853825137 2.304
105.15 4.790983607 2.678
106.1 1.931506849 3.179
105.85 4.103688525 3.875
102.19 0.458082192 3.303
104.56
1.66109589 3.391
99.27 1.506575343 3.978
100 1.352054795 3.498
95.03 0.757534247 4.003
101.91 0.865753425 3.711
100.73 2.990273973 4.105
116.2 3.767123288 4.252
104.99 1.039726027 2.888
106.06 0.904109589 3.282
111.98 0.994520548 3.869
103.73 0.768493151 3.392
103.81 0.768493151 3.511
112.68 3.424657534 4.194
100.578 2.054794521 2.536
100.29 0.678082192 3.699
DurationModDuration
Convexity
12.054 11.558 184.017
1.067 1.043
2.153
1.946 1.895
5.642
3.349 3.246 14.206
7.4 7.124
65.24
4.533 4.388 24.384
5.044 4.879 30.198
9.412 9.052 102.331
5.942 5.741 40.855
10.375 9.975 123.018
6.797 6.554 53.051
16.704 16.046 369.947
12.5 11.99 199.22
1.766 1.717
4.663
3.552 3.439 15.678
7.26
6.99 61.728
4.441 4.295 23.556
5.255 5.077 32.347
15.384 14.765 314.84
1.289 1.257
2.832
6.106 5.888 42.798
Exemple d’obligations d etat composant l’indice
Daniel HERLEMONT
9
Courbe des Taux Zéro Coupons
but : reconstitution de la courbe des taux zéro-coupon au comptant
(«spot»).
Connaître la courbe des taux zéro-coupon au comptant est très important
en pratique car cela permet aux acteurs du marché:
d’évaluer et de couvrir à la date de reconstitution les produits de taux délivrant
des flux futurs connus (obligation à taux fixe, par exemple)
autres applications : l’analyse «rich and cheap» (bond picking) qui consiste à
détecter les produits sur-et sous-évalués par le marché pour tenter d’en tirer profit.
de dériver les autres courbes implicites: la courbe des taux forward, la courbe
des taux de rendement au pair et la courbe des taux de rendement instantanés.
la courbe spot est le point de de départ pour la mise en place de modèles
stochastiques de déformation de cette courbe dans le temps.
Daniel HERLEMONT
10
Courbe des Taux Zéro Coupon (suite)
La reconstitution de cette courbe est rendue nécessaire par le fait qu’il
n’existe pas suffisamment d’obligation zéro-coupon («strips») cotées sur le
marché.
Par conséquent, il n’est pas possible d’obtenir les taux zéro-coupon pour
un continuum de maturité.
En outre, les obligations zéro-coupon ont souvent une moindre liquidité
que les obligations à coupons.
Daniel HERLEMONT
11
Courbe des Taux (suite)
Sélection des paniers
Méthode théorique directe et bootstrapping
Différents types d’interpolation
Méthodes indirectes: modèle de Nelson et Siegel, splines cubiques et
exponentielles
Daniel HERLEMONT
12
Rappel - Taux Zéro Coupon
Définition du taux zéro-coupon
Il est implicitement défini dans la relation suivante:
où:
1
B(0, t ) =
t
[1 + R(0, t )]
- B(0,t): prix de marché à la date 0 d’une obligation zéro-coupon
délivrant 1 euro à la date t. On appelle aussi B(0,t), le facteur
d’actualisation en 0 pour la maturité t.
- R(0,t): taux de rendement en 0 de l’obligation zéro-coupon
délivrant 1 euro en t. R(0,t) est aussi le taux zéro-coupon en 0 de
maturité t.
Daniel HERLEMONT
13
Rappel - Evaluation d’obligations à flux connus
Le prix V de l’obligation à la date t s’écrit donc plus justement
m
Vi (t ) =
∑
i =t +1
m
F (i )
[1 + R(t , i − t )]
i −t
=
∑ F (i) B(t , i)
i =t +1
Exemple 1: Soit l’obligation de montant nominal 100$, de maturité 3
ans et de taux de coupon 10%.
Les taux zéro-coupon à 1 an, 2 ans et 3 ans sont de 7%, 9% et 10%.
Le prix P de l’obligation est égal à
P=
Daniel HERLEMONT
10
10
110
+
+
= 100.407$
2
3
1 + 7% (1 + 9% ) (1 + 10% )
14
Courbe D'état - Sélection des Titre
Elle est construite à partir d’obligations d’Etat.
Il est important de faire une sélection rigoureuse des titres qui servent à la
reconstitution. Il faut éliminer:
les titres qui présentent des clauses optionnelles car la présence d’options rend
le prix de ces titres non homogènes avec ceux qui n’en contiennent pas.
les titres qui présentent des erreurs de prix, typiquement dues à des erreurs de
saisie.
les titres qui sont soit illiquides, soit surliquides, et présentent donc des prix qui
ne sont pas dans le marché.
Il ne faut pas tracer la courbe des taux sur des segments de maturité où l’on ne
dispose pas de titres. Par exemple, ne pas tracer la courbe sur le segment [2030 ans] si l’on ne dispose pas de titres de maturités supérieures à 20 ans dans le
panier.
Exemple de bons candidats : les titres éligibles pour l'EuroMTS (Ex CNO
Etrix) - un indice de référence souvent utilisé dans les benchmarks.
Daniel HERLEMONT
15
La méthode théorique de reconstitution
Elles permettent de déduire directement les taux zéro-coupon des
obligations à coupons. Elles requièrent les deux conditions suivantes:
elles ont les mêmes dates de tombée de coupon
elles ont des maturités multiples de la fréquence de tombée des coupons.
Cette méthode n’est que théorique car dans la pratique il est très rare de
pouvoir trouver un échantillon d’obligations ayant ces deux
caractéristiques.
Daniel HERLEMONT
16
La méthode théorique de reconstitution (2)
Notations et résolution
Pt =(Pt1, Pt2,....., Ptn)T le vecteur des prix à l’instant t des n
obligations à coupons du panier
F = (Fti(j))i=1,...,n, j=1,...,n la matrice n x n correspondant aux flux
des n titres. Les dates de tombées des flux sont identiques pour tous
les titres.
Bt =(B(t,t1), B(t,t2), ,....., B(t,tn))T le vecteur des facteurs
d’actualisation
Par AOA, on obtient le vecteur des facteurs d’actualisation
Pt = F . Bt
Daniel HERLEMONT
soit
Bt = F-1 . Pt car F est inversible
17
La méthode théorique de reconstitution (3)
Exemple
Titre 1
Titre 2
Titre 3
Titre 4
Coupon Maturité (années)
5
1
5.5
2
5
3
6
4
Prix
101
101.5
99
100
On obtient le système d’équation suivant:
101 = 105 B(0,1)
101.5 = 5.5 B(0,1) + 105.5 B(0,2)
99 = 5 B(0,1) + 5 B(0,2) + 105 B(0,3)
100 = 6 B(0,1) + 6 B(0,2) + 6 B(0,3) + 106 B(0,4)
soit B(0,1)=0.9619, B(0,2)=0.9119, B(0,3)=0.8536, B(0,4)= 0.7890
et R(0,1)=3.96%, R(0,2)=4.717%, R(0,3)=5,417%, R(0,4)=6,103%
Daniel HERLEMONT
18
La méthode du bootstrap
Il s’agit d’une procédure en plusieurs étapes qui permet de
reconstituer une courbe zéro-coupon au comptant «pas à pas» i.e.
segment par segment de maturité.
1- Pour le segment de la courbe inférieur à 1 an:
Extraction des taux zéro-coupon grâce aux prix des titres zérocoupon cotés sur le marché puis obtention d’une courbe continue
par interpolation linéaire ou cubique (voir plus loin).
Daniel HERLEMONT
19
La méthode du bootstrap (2)
2- Pour le segment de la courbe allant de 1 an à 2 ans:
Parmi les obligations de maturité comprise entre 1 an et 2 ans, on choisit
l’obligation à l’échéance la plus rapprochée. Ce titre verse deux flux. Le facteur
d’actualisation du premier flux est connu grâce à l ’étape 1. Le facteur
d’actualisation du second flux est solution de l’équation non linéaire
P = C B(0, t1) + (100 + C) B(0, t2) avec t1 <= 1 et 1< t2 <= 2
On obtient alors un premier point de courbe sur ce segment.
On réitère alors le même procédé avec l’obligation de maturité immédiatement
supérieure mais toujours inférieure à 2 ans.
3- Pour le segment de la courbe allant de 2 ans à 3 ans:
On réitère l’opération précédente à partir des titres ayant une maturité comprise
entre 2 ans et 3 ans.
...etc...
Daniel HERLEMONT
20
Exemple de Bootstrap
Maturité
Overnight
1 mois
2 mois
3 mois
6 mois
9 mois
1 an
ZC
4.40%
4.50%
4.60%
4.70%
4.90%
5.00%
5.10%
Taux à 1 an et 2 mois
soit 5.41%
Taux à 1 an et 9 mois
soit 5.69%
Taux à 2 ans
soit 5.79%
Taux à 3 ans
soit 5.91%
Daniel HERLEMONT
Coupon Maturité (années)
Titre 1
5%
1 an et 2 mois
Titre 2
6%
1 an et 9 mois
Titre 3 5.50%
2 ans
103.7 =
Prix
103.7
102
99.5
5
105
+
(1 + 4.6%)1/ 6 (1 + x )1+1/ 6
102 =
6
106
+
9 / 12
(1 + 5%)
(1 + x )1+9 / 12
99.5 =
5.5
105.5
+
(1 + 5.1%)1 (1 + x )2
97.6 =
5
5
105
+
+
(1 + 5.1%)1 (1 + 5.79%)2 (1 + x %)3
21
Interpolations
Quand on utilise la méthode théorique directe ou le bootstrap, il
est nécessaire de choisir une méthode d’interpolation entre deux
points.
Deux sont particulièrement utilisées: les interpolations linéaire et
cubique.
Interpolation linéaire:
On connaît les taux zero-coupon de maturités t1 et t2. On
souhaite interpoler le taux de maturité t avec t1< t <t2
R(0, t ) =
(t 2 − t )R (0, t1 ) + (t − t1 )R(0, t 2 )
( t 2 − t1 )
Exemple: R(0,3) =5.5% et R(0,4)=6%
R(0,3.75) =
Daniel HERLEMONT
0.25 × 5.5% + 0.75 x 6%
= 5.875%
1
22
Interpolation cubique:
On procède à une interpolation cubique par segment de courbes.
On définit un premier segment entre t1 et t4 où l’on dispose de 4
taux R(0, t1), R(0, t2), R(0, t3), R(0, t4).
Le taux R(0, t) de maturité t est défini par
R(0, t ) = at 3 + bt 2 + ct + d
sous la contrainte que la courbe passe par les quatre points de
marché R(0, t1), R(0, t2), R(0, t3), R(0, t4). D’où le système à
résoudre:
 R (0, t ) = at 3 + bt 2 + ct + d
1
1
1
1

3
2
R(0, t 2 ) = at 2 + bt 2 + ct 2 + d

3
2
R
(
0
,
t
)
=
at
+
bt
+ ct 3 + d
3
3
3

R (0, t ) = at 3 + bt 2 + ct + d
4
4
4
4
Daniel HERLEMONT
23
Exemple d’interpolation cubique
Exemple
On se donne les taux suivants :
R(0, t1) = 4%, R(0, t2) =5%, R(0, t3) = 5.5% et R(0, t4) = 6%
Calculer le taux de maturité 2.5 ans ?
R(0, 2.5) = a x 2.53 + b x 2.52 + c x 2.51 + d = 5.34375%
avec
Daniel HERLEMONT
a  1 1
  
b  8 4
 c  =  27 9
  
 d   64 16
1 1

2 1
3 1

4 1
−1
 3%   0.0025 

 

 5%   − 0.0225 
 5.5%  =  0.07 

 

 6%   − 0.02 
24
Comparaisons des interpolations linéaire vs cubique
6.50%
Linéaire
Cubique
6.00%
Taux
5.50%
5.00%
4.50%
4.00%
3.50%
3.00%
1
1.5
2
2.5
3
3.5
4
Maturité
Daniel HERLEMONT
25
Les méthodes indirectes
Ce sont les méthodes les plus utilisées en pratique
Principe: Pour un panier d’obligations à coupons, il s’agit de la
minimisation de l’écart au carré entre les prix de marché et les prix
reconstitués à l ’aide d’une forme a priori spécifiée des taux zérocoupon ou de la fonction d’actualisation.
Soit un panier constitué de n titres. On note à la date t:
Pt j : prix de marché du j-ème titre.
∧
Pt j : prix théorique du j-ème titre
Fs j : flux futur du j-ème titre tombant à la date s (s > t)
Daniel HERLEMONT
26
Les méthodes indirectes
- les modèles à splines fondés sur une modélisation de la fonction
d’actualisation.
∧
Pt j = ∑ Fs j B (t , s ) =∑ Fs j f ( s − t ; β )
s
s
f est une fonction linéaire des paramètres d’estimation. Par
conséquent, le prix de l’obligation est également une fonction
linéaire des paramètres d’estimation La résolution d’un tel
problème est donc matricielle.
Cf MP p. 19 à 28 et p. 167 à 172
Daniel HERLEMONT
27
Les méthodes indirectes (2)
L’idée consiste à trouver le vecteur des paramètres β
 j
j
Min ∑  Pt − Pt 
β j =1


On distingue deux grandes classes de modèles:
n
∧
tel que
2
-les modèles type Nelson et Siegel fondés sur une modélisation des
taux zéro-coupon (cf MP 28 à 34).
- Les modèles à splines. Ils sont fondés sur une modélisation de la
fonction d’actualisation. Les plus célèbres sont les splines
polynomiaux (cf Mc Culloch (1971,1975)) et les splines
exponentielles (cf Vasicek et Fong (1982)). Leur avantage tient à
leur grande flexibilité qui leur permet de reconstruire toutes les
formes de courbe rencontrées sur le marché.
Daniel HERLEMONT
28
Le Modèle NELSON SIEGEL
∧
Pt = ∑ Fs B(t , s ) =∑ Fs .e
j
j
s
j
− ( s −t ). R ( s −t ; β )
s
R est la fonctionnelle des taux zéro-coupon. Le prix de l’obligation
est une fonction non linéaire des paramètres d’estimation. La
résolution d’un tel problème s’effectue à l’aide d’un algorithme de
Newton modifié (cf MP p. 172 à 175).
1 − exp(− θ τ ) 
1 − exp(− θ τ )

R (θ ) = β 0 + β1 
− exp(− θ τ )
 + β2 
θτ
θτ




θ = s −t
C
Daniel HERLEMONT
29
Nelson Siegel
1 − exp(− θ τ )

1 − exp(− θ τ ) 
R C (θ ) = β 0 + β1 
exp(
θ
τ
)
+
−
−
β
2


θ
τ
θ
τ




θ = s −t
R : taux zéro-coupon de maturité θ
β0: facteur de niveau; il s ’agit du taux long.
β1: facteur de rotation; il s’agit de l’écart entre le taux court et le taux long
β2: facteur de courbure
τ: paramètre d’échelle destiné à rester fixe au cours du temps
Daniel HERLEMONT
30
NELSON SIEGEL
Il est aisé d’exprimer les dérivées partielles de R par rapport à
chacun des paramètres béta, ce que l’on appelle les sensibilités
des taux zéro-coupon aux paramètres béta (cf graphique suivant).
Ces sensibilités sont très proches de celles que l’on obtient
historiquement en appliquant la méthode de l’ACP aux taux zérocoupon.
On retrouve bien les facteurs de niveau, pente et courbure.
Daniel HERLEMONT
31
Nelson Siegel
1.2
Sensibilité des taux
1
0.8
béta 0
béta 1
béta 2
0.6
0.4
0.2
0
0
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Maturité des taux
Daniel HERLEMONT
32
Neslon Siegel Inconvénients du modèle de Nelson et Siegel
Le modèle de Nelson et Siegel ne permet pas de reconstituer
toutes les formes de courbes de taux que l’on peut rencontrer sur
le marché, en particulier les formes à une bosse et un creux (voir
slide suivante).
En outre, il manque de souplesse d’ajustement pour les maturités
supérieures à 7 ans si bien que les obligations de telles maturités
sont parfois mal évaluées par le modèle.
Zero-coupon rate
Le premier inconvénient peut être levé en utilisant le modèle de
Svensson ou modèle de Nelson-Siegel augmenté.
M atu r i ty
Daniel HERLEMONT
33
Conclusion sur les modèles de type Nelson et Siegel
Le reproche souvent formulé à l’encontre de cette classe de
modèles est leur insuffisante flexibilité. En revanche les variables
de ces modèles sont interprétables financièrement.
Cette classe de modèles est en pratique le plus souvent utilisée
pour l’analyse et la couverture du risque de taux de portefeuilles à
flux connus.
Nous allons à présent aborder les modèles à splines qui sont
beaucoup plus flexibles mais présentent au contraire des
paramètres qui ne sont pas interprétables d’un point de vue
financier.
Daniel HERLEMONT
34
Les splines polynomiaux
1- Modélisation standard
Il est commun de considérer l’écriture standard comme dans
l’exemple qui suit:
 B0 ( s ) = d 0 + c0 s + b0 s 2 + a0 s 3 , s ∈ [0,5]

B(0, s ) =  B5 ( s ) = d1 + c1s + b1s 2 + a1s 3 , s ∈ [5,10]
 B ( s ) = d + c s + b s 2 + a s 3 , s ∈ [10,20]
2
2
2
2
 10
La fonction d’actualisation compte ici 12 paramètres.
On rajoute des contraintes de régularité sur cette fonction qui
garantissent la continuité, la continuité de la dérivée première et de
la dérivée seconde de cette fonction aux points de raccord 5 et 10.
Daniel HERLEMONT
35
Les splines polynomiaux (2)
Pour i =0, 1 et 2:
 B0 (i ) (5) = B5 (i ) (5)
 (i )
 B10 (10) = B5 (i ) (10)
Et la contrainte qui porte sur le facteur d’actualisation: B0 (0) = 1
En utilisant l’ensemble de ces 7 contraintes, le nombre de
paramètres à estimer tombe à 5:


2
3
B
(
s
)
=
d
+
c
s
+
b
s
+
a
s
, s ∈ [0,5]
0
0
0
0
0

B (0, s ) =  B5 ( s ) = 1 + c0 s + b0 s 2 + a0 [ s 3 − ( s − 5) 3 ] + a1 ( s − 5) 3 , s ∈ [5,10]

B10 ( s ) = 1 + c0 s + b0 s 2 + a0 [ s 3 − ( s − 5) 3 ]


+ a1[(s − 5) 3 − ( s − 10) 3 ] + a2 ( s − 10) 3 , s ∈ [10,20]
Daniel HERLEMONT
36
Les splines polynomiaux (3)
Le système précédent peut être écrit sous la forme suivante:
B (0, s ) = 1 + c0 s + b0 s 2 + a0 s 3 + (a1 − a0 ).( s − 5)3+
+ (a2 − a1 ).( s − 10)3+ pour s ∈ [0,20]
où ( s − θ ) 3+ = [Max((s − θ ),0 )] est la fonction dite bornée de
puissance.
3
Il y a une autre écriture de cette équation dans la base des Bsplines. Cette écriture est devenu extrêmement classique.
Daniel HERLEMONT
37
Les splines polynomiaux (4)
2- Expression dans la base des B-splines
Les B-splines Bl3 ( s ) sont des fonctions linéaires de fonctions
bornées de puissance. On écrit alors:
 


2
2
 l +4 l +4 1 

3
3
B(0, s ) = ∑ cl Bl ( s ) = ∑ cl  ∑ ∏
s −λj + 


l = −3
l = −3  j =l i =l λi − λ j



i
≠
j

 

(
)
où les coefficients lambda sont définis comme suit:
λ−3 < λ− 2 < λ−1 < λ0 = 0 < λ1 = 5 < λ2 = 10 < λ3 = 20 < λ4 < λ5 < λ6
et
B(0,0) =
Daniel HERLEMONT
−1
2
∑
cl Bl3 (0)
l = −3
=
∑ cl Bl3 (0) = 1
l = −3
38
Le choix du nombre de splines
Le nombre de splines influe sur la qualité des résidus et le lissage
de la courbe.
Plus il y a de splines et meilleurs sont les résidus. La courbe
devient toutefois moins lisse, et peut passer par des points
aberrants.
Moins il y a de splines et plus on lisse la courbe. Mais les écarts de
prix peuvent devenir importants ce qui laisse à penser que la
courbe est mal rendue.
Pour choisir au mieux ce nombre de splines, on peut utiliser la
règle suivante.
Daniel HERLEMONT
39
Le choix du nombre de splines (2)
On constitue deux paniers. Le premier panier dit de minimisation
contient les titres qui ont permis d’obtenir les paramètres
d’estimation. Le deuxième panier dit de vérification contient des
titres qui n’ont pas servi lors de la minimisation.
Dans la mesure du possible, il faut que ces deux paniers soient
homogènes, i.e contiennent à peu près le même nombre de titres, et
les mêmes types de maturité (court, moyen et long).
Pour chacun de ces deux paniers, l’idée consiste à calculer l’écart
de prix moyen:
∧
j =n
∑ ( Pt j − Pt j ) 2
E=
Daniel HERLEMONT
j =1
n
40
Le choix du nombre de splines (3)
Ces deux écarts sont notés Emin et Everif .
La règle est la suivante:
1- On calcule ces deux écarts et on s’assure qu’ils sont inférieurs à
la moyenne des fourchettes «bid-ask» (environ 10 centimes de
prix). S’ils ne le sont pas, on augmente le nombre de splines jusqu’à
temps qu’ils le deviennent.
2- On calcule la différence entre ces deux écarts:
* si elle est faible, le nombre de splines est bien spécifié.
* si elle est forte, le nombre de splines est probablement
trop élevé. Il faut donc en retirer jusqu’à temps que cette différence
devienne faible.
Daniel HERLEMONT
41
La localisation des points de raccord
La règle la plus logique consiste à localiser ces points de telle
façon que chaque spline contienne à peu près le même nombre de
titres.
Par exemple, sur le marché français, on définit 5 splines:
[0-1 an] : super court (BTF ou Monétaire + BTAN)
[1-3 ans] : court terme (BTAN)
[3-7 ans] : moyen terme (BTAN + OAT)
[7-10 ans] : long terme (OAT)
[10-30 ans] : très long terme (OAT)
Daniel HERLEMONT
42
Spot et Forward
Y ear
1
Spot 4.00%
2
5.50%
3
6.00%
4
6.50%
5
7.50%
6
8.00%
7
8.00%
8
8.00%
Yield 4.00%
4.75%
5.16%
5.50%
5.89%
6.24%
6.49%
6.68%
16%
14%
1-Yr Spot Rate
Zero Yield Curve
12%
10%
8%
6%
4%
2%
0%
1
Daniel HERLEMONT
2
3
4
5
6
7
8
43
Spot vs Forward (2)
Y ear
1
2
Yield 11.50% 9.50%
3
8.75%
4
8.00%
5
7.75%
6
7.75%
7
7.50%
8
7.25%
Forward 11.50% 7.54%
7.27%
5.78%
6.76%
7.75%
6.01%
5.52%
16%
14%
Forward Rate
Zero Yield Curve
12%
10%
8%
6%
4%
2%
0%
1
Daniel HERLEMONT
2
3
4
5
6
7
8
44
Convexité
Price
957.36
Duration
9.0620
Coupon
4.0%
2 000
Price
1 500
1 000
Y ield
4.5%
Maturity
11
500
0
0%
4
5%
30
Price %
10%
15%
20%
15%
20%
Duration
25
3
20
2
15
10
1
5
0
0
0%
Daniel HERLEMONT
5%
10%
15%
20%
0%
5%
10%
45
Le Prix en fonction du Coupon et de la Maturité
Coupon A
5.5%
Y ield
8.0%
786.01
Maturity A
15
Coupon B
8.0%
Coupon C
10.0%
1 000.00
1 171.19
3000
2500
Maturity B
15
2000
1500
1000
Maturity C
15
500
0
0%
Daniel HERLEMONT
2%
4%
6%
8%
10%
12%
14%
16%
18%
20%
46
Duration
Coupon A
2.0%
Y ield
11.0%
Coupon B
6.0%
12.40
Maturity A
18
Coupon C
12.0%
9.02
7.86
30
25
Maturity B
15
20
15
10
Maturity C
15
5
0
0%
2%
4%
6%
8%
10%
12%
14%
16%
18%
20%
Toutes choses étant égales par ailleurs, plus le coupon est faible, plus la duration est
élevée
Daniel HERLEMONT
47
Duration (suite)
Coupon A
6,0%
Y ield
8,0%
Coupon B
6,0%
7,62
Maturity A
10
Coupon C
6,0%
9,79
12,73
30
25
Maturity B
15
20
15
10
Maturity C
30
5
0
0%
2%
4%
6%
8%
10%
12%
14%
16%
18%
20%
la duration d’une obligation augmente, de manière non proportionnelle, avec sa durée de
vie car la contribution à la duration des années les plus lointaines est réduite par l’actualisation.
Daniel HERLEMONT
48
Immunisation
Considérons une société qui souhaite tenir un engagement de 1 million € dans un 10 ans
Elle souhaite investir maintenant pour tenir cet engagement.
L'achat d'un zéro coupon pourrait répondre à cet objectif.
Cependant, le zéro coupon n'est pas toujours disponible à la maturité souhaitée.
La société est donc obligé de choisir des obligations sur le marché qui vont lui permettre de
1. Répliquer la valeur actuelle, avec un taux est de 9%, la valeur actuelle de l'obligation est 414 463
2. Etre immune aux variations des taux d'intérêts => la duration du portefeuille doit être la même que
celle de l'obligation = 10 (ans)
Obligations disponibles
Taux
O1
6%
O2
11%
O3
9%
maturité (années)
30
10
20
prix
69.04
113.01
100
Yield (TRA)
9%
9%
9%
Duration
11.44
6.54
9.61
Premier constat: on doit choisir au moins une obligation dont de duration > 10 => choix de O1
Choisissons O1 et O2, avec V1 et V2 les montants investis dans ces obligations, on doit vérifier:
V1 + V2 = PV = 414 463
D1 V1 + D2 V2 = 10 PV
Solution V1 = 292 788.73 et V2 = 121 854.27
lorsque le taux passe
de 9% à 8%, le portefeuille ne varie que de 1562
de 9% à 10% le portefeuille ne varie que de 1162
ce qui reste négligeable …
source: exemple Luenberger, p. 64
Il est conviendra de "ré ajuster" le portefeuille périodiquement au fur et à mesure de la variation des taux
Daniel HERLEMONT
49
Exemple de librairie à réaliser
double cash_flow_pv(int n, double cflow_times[], double cflow_amounts[],
double r)
{
// calculate present value of cash flow, continous discounting
int t;
double PV=0.0; for (t=0; t<n;t++) {
PV += cflow_amounts[t] * exp( -r * cflow_times[t]);
};
return PV;
};
Daniel HERLEMONT
50
Taux de rendement interne
Avec Ct les cash flow
C0 étant, par exemple, le prix d'une obligation
dans ce cas y = yield = rendement à maturité
Algorithme à implementer en C : recherche d'une racine par bisection
double cash_flow_irr(double[] cflow_times, double[] cflow_amounts) {
…
};
A adapter à partir des Numerical Recipes
voir les fonctions zbrac et rtbis
Explications et code C disponibles online (google "Numerical Recipes in C")
Daniel HERLEMONT
51
Numerical Recipes in C
http://www.library.cornell.edu/nr/bookcpdf.html
Le livre est disponible online en intégralité !!!
Plus de 100O pages …
aperçu du contenu
Daniel HERLEMONT
52
NR (suite)
Daniel HERLEMONT
53
NR (suite)
Daniel HERLEMONT
54
Exemple NR - bisection
Attention, si les NR constituent une référence incontournable, le code C n'est pas toujours écrit
de manière lisible !!!! Par exemple l'instruction
rtb = f < 0.0 ? (dx=x2-x1,x1) : (dx=x1-x2,x2);
devra être réécrite sous une forme plus lisible, par exemple:
if (f<0.0) {
rtb=x1;
Attention
dx=x2-x1;
Les NR utilisent des tableaux indéxé
} else {
de 1 à n et non pas de 0 à n-1 !!!
rtb=x2;
dx=x1-x2;
}
Daniel HERLEMONT
55