Reprezentarea grafică a prețurilor obligațiunilor în funcție de randament
Reprezentarea grafică a prețurilor obligațiunilor în funcție de randament te ajută să explorezi cum se comportă o obligațiune sau un portofoliu de obligațiuni la diferite niveluri ale ratelor dobânzilor din piață.
În acest exercițiu vei crea un grafic al prețurilor obligațiunilor în funcție de randament, de această dată pentru două obligațiuni cu scadențe diferite. Vei face acest lucru adăugând coloane suplimentare în DataFrame-ul pandas, câte una pentru fiecare obligațiune. Ambele obligațiuni plătesc un cupon de 5%, dar vei reprezenta grafic o obligațiune pe 5 ani și una pe 10 ani.
numpy, numpy_financial, pandas și matplotlib au fost deja importate pentru tine ca np, npf, pd și, respectiv, plt.
Acest exercițiu face parte din cursul
Evaluarea și analiza obligațiunilor în Python
Instrucțiuni pentru exercițiu
- Creează un array de randamente ale obligațiunilor de la 0 la 20 (exclusiv), cu incremente de 0,1.
- Convertește acest array într-un DataFrame
pandasși denumește coloanabond_yield. - Adaugă încă două coloane, câte una pentru fiecare obligațiune (5 ani și 10 ani), și calculează prețul pentru fiecare nivel de randament.
- Reprezintă grafic aceste obligațiuni, setând eticheta axei x la
Yield (%)și eticheta axei y laBond Price (USD).
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()