Kom igångKom igång gratis

Plotta duration mot faktorn

Att rita ett diagram över duration mot en faktor som löptid, kuponger eller avkastning är ett bra sätt att se hur faktorn påverkar en obligations duration.

I videon plottade vi ett diagram över duration mot löptid. I den här övningen ska du göra samma sak för kupongräntan. Du använder en 10-årig obligation med en avkastning på 5 % och ett nominellt värde på 100 USD.

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 kuponger från 0 till 10 i stegstorlekar om 0,1, och konvertera till en pandas DataFrame.
  • Lägg till fyra extra kolumner i DataFrame:n: price, price_up, price_down och duration för obligationen.
  • Rita ett diagram med bond_coupon på x-axeln och duration på y-axeln.

Interaktiv övning med praktiskt arbete

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

# Create array of coupon rates and assign to pandas DataFrame
bond_coupon = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['____'])

# Calculate bond price, price_up, price_down, and duration
bond['price'] = -npf.pv(rate=0.05, nper=10, pmt=bond['bond_coupon'], fv=100)
bond['price_up'] = ____
bond['price_down'] = ____
bond['duration'] = (bond['____'] - bond['____']) / (2 * bond['____'] * 0.01)

# Plot coupon vs. duration, add labels & title, show plot
plt.plot(____, ____)
plt.xlabel('Coupon (%)')
plt.ylabel('Duration (%)')
plt.show()
Redigera och kör kod