Wykres cen obligacji w zależności od rentowności
Wykres cen obligacji w zależności od rentowności pozwala zbadać, jak zmienią się ceny obligacji lub portfela obligacji przy różnych poziomach stóp procentowych na rynku.
Teraz stworzysz taki wykres dla dwóch obligacji o różnych terminach zapadalności. Rozbudujesz w tym celu DataFrame biblioteki pandas o dodatkowe kolumny – po jednej dla każdej obligacji. Obie rozpatrywane obligacje wypłacają kupon w wysokości 5%, ale tym razem porównasz obligację 5-letnią i 10-letnią.
Biblioteki 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ę rentowności obligacji od 0 do 20 (wyłącznie) z krokiem 0,1.
- Przekształć tę tablicę w DataFrame biblioteki
pandasi nadaj kolumnie nazwębond_yield. - Dodaj dwie kolumny – po jednej dla każdej obligacji (5-letniej i 10-letniej) – i wyznacz cenę dla danego poziomu rentowności.
- Narysuj wykres tych obligacji, ustawiając etykietę osi X na
Yield (%), a etykietę osi Y naBond Price (USD).
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()