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
Övningsinstruktioner
- Skapa en array med kuponger från 0 till 10 i stegstorlekar om 0,1, och konvertera till en
pandasDataFrame. - Lägg till fyra extra kolumner i DataFrame:n:
price,price_up,price_downochdurationför obligationen. - Rita ett diagram med
bond_couponpå x-axeln ochdurationpå 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()