Obligations à coupon

Évaluation et analyse des obligations en Python

Joshua Mayhew

Options Trader

Définition d'une obligation à coupon

  • Verse des flux de trésorerie réguliers (coupons) pendant sa durée de vie
  • À l'échéance, verse un coupon et le nominal
  • Les coupons sont généralement versés annuellement ou semestriellement
  • Le nombre de coupons versés par an s'appelle la fréquence
  • Son rendement à l'échéance est le rendement annuel en l'achetant et le conservant jusqu'à l'échéance
Évaluation et analyse des obligations en Python

Exemple d'obligation à coupon

Prenons une obligation à 3 ans avec un coupon annuel de 3 %, un nominal de 100 USD et un rendement de 4 % :

ATTENTION : le coupon est fixe et ne change pas !

Évaluation et analyse des obligations en Python

Valorisation d'une obligation à coupon

Nous décomposons l'obligation en une collection d'obligations zéro coupon, puis nous les valorisons :

  • Une obligation zéro coupon à 1 an avec un nominal de 3 USD
  • Une obligation zéro coupon à 2 ans avec un nominal de 3 USD
  • Une obligation zéro coupon à 3 ans avec un nominal de 103 USD
Évaluation et analyse des obligations en Python

Valorisation d'une obligation à coupon

Obligation à 3 ans avec coupon annuel de 3 %, nominal de 100 USD et rendement de 4 %

En utilisant notre formule d'intérêts composés vue plus tôt :

$ \text{Prix ZC 1 an : } \frac{3}{(1 + 0.04)^1} = 2.88$

$ \text{Prix ZC 2 ans : } \ \frac{3}{(1 + 0.04)^2} = 2.77$

$ \text{Prix ZC 3 ans : } \ \frac{103}{(1 + 0.04)^3} = 91.57$

$\text{Prix de l'obligation à coupon : } 2.88 + 2.77 + 91.57 = 97.22$

Évaluation et analyse des obligations en Python

Formule d'une obligation à coupon

Plus généralement, la formule du prix d'une obligation à coupon est :

$ Price = PV = \frac{C}{(1 + r)^1} + \frac{C}{(1 + r)^2} + ... +\frac{C}{(1 + r)^n} + \frac{P}{(1 + r)^n}$

$ = (\sum_{i=1}^n \frac{C}{(1 + r)^i}) + \frac{P}{(1 + r)^n}$

  • $C$ est le coupon versé à chaque période
  • $r$ est le rendement à l'échéance de l'obligation
  • $P$ est la valeur nominale (ou principal) versée à l'échéance
  • $n$ est le nombre de périodes (souvent des années)
Évaluation et analyse des obligations en Python

Utiliser la fonction pv()

En reprenant la même obligation à 3 ans avec coupon annuel de 3 % et rendement à l'échéance de 4 % :

import numpy_financial as npf
-npf.pv(rate=0.04, nper=3, pmt=3, fv=100)
97.22

Nous mettons pmt en positif.

Nous plaçons aussi un signe moins devant la fonction.

Nous fixons fv à 100 et non 103.

Évaluation et analyse des obligations en Python

Passons à la pratique !

Évaluation et analyse des obligations en Python

Preparing Video For Download...