Obligationspriser och obligationsräntor

Obligationsvärdering och -analys i Python

Joshua Mayhew

Options Trader

Historiska statsobligationsräntor

Obligationsvärdering och -analys i Python

Plotta obligationspriser mot räntor

import numpy as np
import numpy_financial as npf
import pandas as pd
import matplotlib.pyplot as plt
bond_yields = np.arange(0, 20, 0.1)
print(bond_yields)
[0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3
...
18.5 18.6 18.7 18.8 18.9 19.0 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9]
Obligationsvärdering och -analys i Python

Plotta obligationspriser mot räntor

bond = pd.DataFrame(bond_yields, columns=['bond_yield'])
print(bond)
     bond_yield
0           0.0
1           0.1
..          ...
198        19.8
199        19.9
[200 rows x 1 columns]
Obligationsvärdering och -analys i Python

Plotta obligationspriser mot räntor

bond['bond_price'] = -npf.pv(rate=bond['bond_yield'] / 100, nper=10, pmt=5, fv=100)
print(bond)
     bond_yield  bond_price
0           0.0  150.000000
1           0.1  148.731575
..          ...         ...
198        19.8   37.527719
199        19.9   37.319493
[200 rows x 2 columns]
Obligationsvärdering och -analys i Python

Plotta obligationspriser mot räntor

plt.plot(bond['bond_yield'], bond['bond_price'])

plt.xlabel('Yield (%)')
plt.ylabel('Bond Price (USD)')
plt.title("10 Year Bond 5% Annual Coupon")
plt.show()

Obligationsvärdering och -analys i Python

Sambandet mellan pris och ränta

Priser och räntor rör sig i motsatt riktning

Högre ränta = högre diskonteringsränta = lägre nuvärde

Ett högre pris sänker avkastningen (räntan)

Obligationsvärdering och -analys i Python

Sambandet mellan pris och ränta

Obligationer över och under pari

Över pari: Pris > 100, Ränta < Kupong

Under pari: Pris < 100, Ränta > Kupong

Pari: Pris = 100, Ränta = Kupong

Obligationsvärdering och -analys i Python

Sambandet mellan pris och ränta

Pris/ränte-sambandet är icke-linjärt

Kurvan vi har plottat är inte en rät linje

Detta beror på något som kallas konvexitet

Obligationsvärdering och -analys i Python

Sambandet mellan pris och ränta

Sammanfattning:

  • Priser och räntor rör sig i motsatt riktning
  • Över pari: Pris > 100, Ränta < Kupong
  • Under pari: Pris < 100, Ränta > Kupong
  • Pari: Pris = 100, Ränta = Kupong
  • Pris/ränte-sambandet är icke-linjärt

Obligationsvärdering och -analys i Python

Nu kör vi en övning!

Obligationsvärdering och -analys i Python

Preparing Video For Download...