Durée

Évaluation et analyse des obligations en Python

Joshua Mayhew

Options Trader

Contexte de la durée

  • Prix et rendements évoluent à l'inverse
  • Sensibilité d'une obligation aux taux inconnue
  • La durée mesure la sensibilité aux taux
Évaluation et analyse des obligations en Python

Exemple motivant

  • Prenez des obligations 5 ans et 10 ans, toutes deux à 5 % de coupon
  • À 5 % de rendement, leur prix est de 100 $ US :
-npf.pv(rate=0.05, nper=5, pmt=5, fv=100)
-npf.pv(rate=0.05, nper=10, pmt=5, fv=100)
100.00
100.00
Évaluation et analyse des obligations en Python

Exemple motivant

Si les taux montent à 6 % :

-npf.pv(rate=0.06, nper=5, pmt=5, fv=100)
-npf.pv(rate=0.06, nper=10, pmt=5, fv=100)
95.79
92.64
  • L'obligation 5 ans perd 4,21 % de sa valeur, la 10 ans perd 7,36 %

  • L'obligation 10 ans est plus sensible aux variations de taux

Évaluation et analyse des obligations en Python

Qu'est‑ce que la durée ?

  • La durée est le % de variation du prix pour 1 % de variation du rendement (taux d'intérêt).
  • Durée plus élevée = risque de taux plus élevé
  • Sert généralement à :
    • Mesurer le risque de taux
    • Couvrir le risque de taux
    • Prévoir profits et pertes quand les taux changent
Évaluation et analyse des obligations en Python

Calcul de la durée

Nous utiliserons une formule simplifiée de la durée :

 

${\large Duration = \frac{P_{down}\ -\ P_{up} }{2\ \times\ P\ \times\ \Delta y}}$

 

  • $P_{down}$ = Prix de l'obligation à un rendement inférieur de 1 %
  • $P_{up}$ = Prix de l'obligation à un rendement supérieur de 1 %
  • $P$ = Prix de l'obligation au rendement actuel
  • $\Delta y$ = Variation de rendement (nous utiliserons 1 %)
Évaluation et analyse des obligations en Python

Exemple de durée

Obligation 10 ans, coupon annuel de 5 %, rendement à l'échéance de 4 % : quelle est sa durée ?

${ Duration = \frac{P_{down}\ -\ P_{up} }{2\ \times\ P\ \times\ \Delta y}}$

price = -npf.pv(rate=0.05, nper=10, pmt=5, fv=100)

price_up = -npf.pv(rate=0.06, nper=10, pmt=5, fv=100) price_down = -npf.pv(rate=0.04, nper=10, pmt=5, fv=100)
duration = (price_down - price_up) / (2 * price * 0.01) print(duration)
7.74

Une variation de 1 % des taux d'intérêt entraîne un changement de 7,74 % du prix de l'obligation.

Évaluation et analyse des obligations en Python

Résumé

  • Les obligations peuvent réagir différemment au même changement de rendement
  • La durée est le % de variation du prix pour 1 % de variation du rendement
  • La durée mesure la sensibilité aux taux d'intérêt
Évaluation et analyse des obligations en Python

Passons à la pratique !

Évaluation et analyse des obligations en Python

Preparing Video For Download...