Kom igångKom igång gratis

Plotta obligationspriser mot avkastning

Att kunna plotta ett diagram över obligationspriser mot avkastning är ett bra sätt att undersöka hur en obligation eller en portfölj av obligationer påverkas vid olika räntenivåer på marknaden.

Nu ska du skapa ett sådant diagram, men den här gången för två obligationer med olika löptider. Det gör du genom att lägga till extra kolumner i din pandas DataFrame för varje obligation. Båda obligationerna betalar en kupong på 5 %, men du plottar en 5-årig och en 10-årig obligation.

numpy, numpy_financial, pandas och matplotlib har redan importerats åt dig som np, npf, pd respektive plt.

Den här övningen är en del av kursen

Obligationsvärdering och -analys i Python

Visa kurs

Övningsinstruktioner

  • Skapa en array med obligationsavkastningar från 0 till 20 (ej inklusivt) i steg om 0,1.
  • Konvertera arrayen till en pandas DataFrame och ge kolumnen namnet bond_yield.
  • Lägg till ytterligare två kolumner, en för varje obligation (5-årig och 10-årig), och beräkna priset för en given avkastningsnivå.
  • Plotta ett diagram över dessa obligationer och sätt x-axelns etikett till Yield (%) och y-axelns etikett till Bond Price (USD).

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Create an array of bond yields and convert to DataFrame
bond_yields = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['____'])

# Add columns for different bonds
bond['bond_price_5Y'] = -npf.pv(rate=bond['bond_yield'] / 100, nper=____, pmt=____, fv=____)
bond['bond_price_10Y'] = -npf.pv(rate=____, nper=____, pmt=____, fv=____)

# Plot graph of bonds
plt.plot(bond['bond_yield'], bond['bond_price_5Y'], label='5 Year Bond')
plt.plot(____, ____, label='10 Year Bond')
plt.xlabel(____)
plt.ylabel(____)
plt.legend()
plt.show()
Redigera och kör kod