Obligations avec coupon

Évaluation et analyse des obligations en Python

Joshua Mayhew

Options Trader

Définition d'une obligation à coupon

  • Verse des flux monétaires réguliers (coupons) pendant sa durée
  • À l'échéance, verse un coupon et la valeur nominale
  • Les coupons sont généralement versés chaque année ou semestre
  • Le nombre de coupons par année s'appelle la fréquence
  • Son rendement à l'échéance est le rendement annuel si vous l'achetez et le conservez jusqu'à l'échéance
Évaluation et analyse des obligations en Python

Exemple d'obligation à coupon

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

AVERTISSEMENT : le coupon est fixe et ne change pas !

Évaluation et analyse des obligations en Python

Évaluation d'une obligation à coupon

On décompose l'obligation en un ensemble de coupons zéro, puis on les évalue :

  • Un coupon zéro à 1 an, valeur nominale de 3 USD
  • Un coupon zéro à 2 ans, valeur nominale de 3 USD
  • Un coupon zéro à 3 ans, valeur nominale de 103 USD
Évaluation et analyse des obligations en Python

Évaluation d'une obligation à coupon

Obligation de 3 ans avec coupon annuel de 3 %, valeur nominale de 100 USD et rendement de 4 %

En utilisant la formule d'intérêt composé 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 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$ : coupon versé à chaque période
  • $r$ : rendement à l'échéance de l'obligation
  • $P$ : valeur nominale (ou principal) versée à l'échéance
  • $n$ : nombre de périodes (souvent des années)
Évaluation et analyse des obligations en Python

Utiliser la fonction pv()

En reprenant l'obligation de 3 ans avec un coupon annuel de 3 % et un 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 ajoutons 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...