Wykres duration a czynnik
Sporządzenie wykresu duration w zależności od czynnika – takiego jak termin zapadalności, kupony czy rentowność – to świetny sposób, by zobaczyć, jak dany czynnik wpływa na duration obligacji.
W lekcji wideo narysowaliśmy wykres duration w zależności od terminu zapadalności. W tym ćwiczeniu zrobisz to samo dla stopy kuponowej. Użyjesz obligacji 10-letniej z rentownością 5% i wartością nominalną 100 USD.
numpy, numpy_financial, pandas i matplotlib zostały już zaimportowane odpowiednio jako np, npf, pd i plt.
To ćwiczenie jest częścią kursu
Wycena i analiza obligacji w Pythonie
Instrukcje do ćwiczenia
- Utwórz tablicę kuponów od 0 do 10 z krokiem 0,1 i przekształć ją w DataFrame biblioteki
pandas. - Dodaj do DataFrame cztery dodatkowe kolumny:
price,price_up,price_downidurationdla obligacji. - Narysuj wykres z
bond_couponna osi x idurationna osi y.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()