Beräkna obligationsräntor

Obligationsvärdering och -analys i Python

Joshua Mayhew

Options Trader

Varför beräkna yield?

  • Yield to maturity visar förväntad avkastning på investeringen
  • Användbart för att jämföra obligationer med olika egenskaper
Obligationsvärdering och -analys i Python

Yield-formel för nollkupongobligationer

Kom ihåg formeln för priset på en nollkupongobligation:

$PV = \frac{FV}{(1 + r)^n}$

Vi kan arrangera om ekvationen för att lösa ut yield $(r)$:

$FV = PV \times (1 + r)^n$

$ \frac{FV}{PV} = (1 + r)^n$

$ \sqrt[n]\frac{FV}{PV} = (1 + r)$

$ \sqrt[n]\frac{FV}{PV} -1 = r$

Obligationsvärdering och -analys i Python

Yield-exempel: nollkupongobligation

Vi utgår från samma nollkupongobligation som tidigare och räknar baklänges:

  • Löptid på 3 år
  • Nominellt värde USD 100
  • Pris USD 90,19

 

Vad är obligationens yield?

Obligationsvärdering och -analys i Python

Yield-beräkning: nollkupongobligation

Nollkupongobligation med 3 års löptid, pris USD 90,19, nominellt värde USD 100:

$r = \sqrt[n]\frac{FV}{PV} -1$

ytm = (100 / 90.19) ** (1/3) - 1
print(ytm)
0.035

 

Vi använder ytm för 'yield to maturity'.

Obligationsvärdering och -analys i Python

Yield-formel för kupongobligationer?

Formel för kupongobligation:

$ 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}$

Denna ekvation kan inte arrangeras om med avseende på $r$

Vi använder prövning och fel för att hitta $r$

Så här fungerar funktionen npf.rate()

Obligationsvärdering och -analys i Python

Yield-exempel: kupongobligation

Vi tittar på kupongobligationen från tidigare, som:

  • har en löptid på 3 år
  • betalar en årlig kupong på 3%
  • har ett pris på USD 97,22

 

Vad är yield to maturity?

Obligationsvärdering och -analys i Python

Yield-beräkning: kupongobligation

Kupongobligation med 3 års löptid, 3% årlig kupong och pris USD 97,22:

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

Kom ihåg att ange PV som ett negativt tal.

Det beror på att obligationens pris är pengar vi betalar ut (negativt kassaflöde).

Obligationsvärdering och -analys i Python

Nu kör vi en övning!

Obligationsvärdering och -analys i Python

Preparing Video For Download...