Code de Boostrapping methode pour construire Taux zéro coupon
Fermé
amiro2017
Messages postés
194
Date d'inscription
mardi 28 février 2017
Statut
Membre
Dernière intervention
31 août 2017
-
14 mars 2017 à 09:04
amiro2017 Messages postés 194 Date d'inscription mardi 28 février 2017 Statut Membre Dernière intervention 31 août 2017 - 15 mars 2017 à 08:16
amiro2017 Messages postés 194 Date d'inscription mardi 28 février 2017 Statut Membre Dernière intervention 31 août 2017 - 15 mars 2017 à 08:16
A voir également:
- Calcul taux zéro-coupon excel
- Remettre a zero un pc - Guide
- Liste déroulante excel - Guide
- Calcul moyenne excel - Guide
- Formule excel - Guide
- Si et excel - Guide
3 réponses
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
Modifié par cs_Le Pivert le 14/03/2017 à 17:03
Modifié par cs_Le Pivert le 14/03/2017 à 17:03
Bonjour,
Voir cette vidéo
https://www.youtube.com/watch?v=BaL14-C8SeI
et télécharger l'exemple. Le lien est en bas dans les commentaires
@+ Le Pivert
Voir cette vidéo
https://www.youtube.com/watch?v=BaL14-C8SeI
et télécharger l'exemple. Le lien est en bas dans les commentaires
@+ Le Pivert
amiro2017
Messages postés
194
Date d'inscription
mardi 28 février 2017
Statut
Membre
Dernière intervention
31 août 2017
1
14 mars 2017 à 20:38
14 mars 2017 à 20:38
Bonsoir cs_Le Pivert,
vraiment je vous remercie encore et toujours pour votre intérêt , cependant je pense que le vidéo que vous me proposez ne touche le problème en coeur.Ainsi , je vous explique le problème berièvement et je vous donne ma proposition en souhaitant que vous m'aider et je vous remercie pour votre patience pour lire les explications suivantes:
En effet la méthode consiste à calculer les taux zéro coupon connaissant les maturités (échéances des instruments financiers) et leurs coupon (intérêt annuels) et cela se fait segment par segment de maturité ,Il s’agit en fait d’une technique itérative :
1-pour les segment de maturité inférieur à une année (c'est simple):
car dans ce cas On extrait les taux zéro-coupon grâce aux taux actuariels des obligations à coupon disponibles sur le marché ( qui sont déjà connu). Ceci est justifié par le fait qu’une obligation dont la maturité est
inférieure à 1 an ne va distribuer qu’un seul coupon à l’écheance. De ce fait, elle peut être considérée comme une obligation à zero coupon.
2-Pour le segment de la courbe allant d’un an à 2 ans (qui me pose de problème) :
On commence par l’obligation qui arrive le plus tôt à échéance parmi les obligations dont les maturités sont comprises entre 1 an et 2 ans.
Soient C le coupon de cette obligation,
N sa valeur nominale
P son prix sur le marché.
Il est clair que l’obligation en question verse deux flux. Le premier facteur d’actualisation est connu grâce à la première étape et le second vérifie l’équation non linéaire suivante :
P = C/(1 + R(0, t1)) +(C + N)/(1 + R(0, t2))2 avec t1 ≤ 1 et 1 < t2 ≤ 2
Ensuite, le même procédé est appliqué à l’obligation de maturité la plus proche parmi les obligations restantes jusqu’à ce que toutes les obligations soient traitées.
De même pour le segment de la courbe allant de 2 ans à 3 ans. Ainsi, segment par segment,on détermine tous les taux zéro-coupon pour les differentes maturités des obligations cotées sur le marché.
suite à ma recherche je trouve une méthode simple et efficace à établir c'est en faite une résolution de système matricielle : ci-joint la capture écran pour la finalité de problème et le lien de site :
http://documentslide.com/documents/finance-empirique-ms-bif-fcsuite1.html
je vous remercie pour votre patience et temps , je sais que ca prend du temps!!! merciiiiii
vraiment je vous remercie encore et toujours pour votre intérêt , cependant je pense que le vidéo que vous me proposez ne touche le problème en coeur.Ainsi , je vous explique le problème berièvement et je vous donne ma proposition en souhaitant que vous m'aider et je vous remercie pour votre patience pour lire les explications suivantes:
En effet la méthode consiste à calculer les taux zéro coupon connaissant les maturités (échéances des instruments financiers) et leurs coupon (intérêt annuels) et cela se fait segment par segment de maturité ,Il s’agit en fait d’une technique itérative :
1-pour les segment de maturité inférieur à une année (c'est simple):
car dans ce cas On extrait les taux zéro-coupon grâce aux taux actuariels des obligations à coupon disponibles sur le marché ( qui sont déjà connu). Ceci est justifié par le fait qu’une obligation dont la maturité est
inférieure à 1 an ne va distribuer qu’un seul coupon à l’écheance. De ce fait, elle peut être considérée comme une obligation à zero coupon.
2-Pour le segment de la courbe allant d’un an à 2 ans (qui me pose de problème) :
On commence par l’obligation qui arrive le plus tôt à échéance parmi les obligations dont les maturités sont comprises entre 1 an et 2 ans.
Soient C le coupon de cette obligation,
N sa valeur nominale
P son prix sur le marché.
Il est clair que l’obligation en question verse deux flux. Le premier facteur d’actualisation est connu grâce à la première étape et le second vérifie l’équation non linéaire suivante :
P = C/(1 + R(0, t1)) +(C + N)/(1 + R(0, t2))2 avec t1 ≤ 1 et 1 < t2 ≤ 2
Ensuite, le même procédé est appliqué à l’obligation de maturité la plus proche parmi les obligations restantes jusqu’à ce que toutes les obligations soient traitées.
De même pour le segment de la courbe allant de 2 ans à 3 ans. Ainsi, segment par segment,on détermine tous les taux zéro-coupon pour les differentes maturités des obligations cotées sur le marché.
suite à ma recherche je trouve une méthode simple et efficace à établir c'est en faite une résolution de système matricielle : ci-joint la capture écran pour la finalité de problème et le lien de site :
http://documentslide.com/documents/finance-empirique-ms-bif-fcsuite1.html
Sub strap() Dim DerniereLigne As Integer, i As Integer, ii As Integer Dim Prix As Double, j As Double Dim v() As Integer, v1() As Double ThisWorkbook.Sheets("feuil1").Activate DerniereLigne = Range("P" & Rows.Count).End(xlUp).Row ReDim v(1 To DerniereLigne) ReDim v1(1 To DerniereLigne) For i = 4 To DerniereLigne Range("N" & i).FormulaR1C1 = "=PRICE(TODAY(),RC[-2],RC[-3],0.0722,1000,1)" 'pour calculer tous les prix des obligations c'est facile If (Round(Range("P" & i))) > 1 Then 'si la maturité est supérieur à une année v(i) = Round(Range("P" & i)) ' on sélectionne leurs maturités et les mettre en maturités entiers v1(i) = Range("Q" & i) 'on séléctionne leurs prix calculés pour les utiliser par la suite End If Next i Dim M() As Variant, m1 As Variant, v2() As Double ReDim M(1 To DerniereLigne, 1 To DerniereLigne) ReDim v2(1 To DerniereLigne) Dim p1 As Integer Dim maturity As Double For ii = 1 To DerniereLigne maturity = v(ii) 'on séléctionne chaque fois la maturité j = 1 While ((maturity - j) > 0) M(j, j) = (1000 * (1 + v1(ii))) 'construire la matrice dans l'exemple de la capture écran M(ii, maturity - j) = v1(ii) 'construire la matrice dans l'exemple de la capture écran j = j + 1 Wend Next ii m1 = Application.MInverse(M) 'pour résoudre le système matricielle ReDim m1(1 To DerniereLigne, 1 To DerniereLigne) For p1 = 1 To DerniereLigne For j = 1 To DerniereLigne v2(p1) = m1(p1, j) * v1(j) ' le tableau v2 contient les éléments de taux zéro coupon comme il est définit par le capture écran Next j Next p1 Range("S" & 6) = m1(5, 5) ' je décide d'afficher la composante de la matrice mais rien n'est affiché end sub
je vous remercie pour votre patience et temps , je sais que ca prend du temps!!! merciiiiii
cs_Le Pivert
Messages postés
7903
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
11 mars 2024
728
15 mars 2017 à 08:02
15 mars 2017 à 08:02
Désolé, cela dépasse mes compétences. Je pensais que le fichier à télécharger pouvait résoudre le problème!
Bon courage
Bon courage
amiro2017
Messages postés
194
Date d'inscription
mardi 28 février 2017
Statut
Membre
Dernière intervention
31 août 2017
1
15 mars 2017 à 08:16
15 mars 2017 à 08:16
c'est pas grave , je vous remercie beaucoup
bonne journée
bonne journée