Vykreslení konvexity v závislosti na faktoru
Dalším způsobem, jak ověřit vliv určitého faktoru na konvexitu dluhopisu, je přímo vykreslit graf závislosti tohoto faktoru na konvexitě dluhopisu.
V tomto cvičení oceníš 20letý dluhopis s kupónem 6 % a jmenovitou hodnotou 100 USD a pak vypočítáš konvexitu tohoto dluhopisu pro různé úrovně výnosů.
numpy, numpy_financial, pandas a matplotlib jsou již naimportované jako np, npf, pd a plt.
Toto cvičení je součástí kurzu
Oceňování a analýza dluhopisů v Pythonu
Pokyny k cvičení
- Vytvoř pole výnosů dluhopisu od 0 do 20 s krokem 0,1 a převeď ho na DataFrame z
pandas. - Zjisti cenu dluhopisu, posuň výnosy nahoru a dolů, přeceň dluhopis a vypočítej jeho konvexitu.
- Vykresli graf se výnosy dluhopisu na ose x a konvexitou na ose y.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Create array of bond yields and covert to pandas DataFrame
bond_yields = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['bond_yield'])
# Find price of bond, reprice for higher and lower yields, calculate convexity
bond['price'] = -npf.pv(rate=bond['____'] / 100, nper=____, pmt=____, fv=____)
bond['price_up'] = ____
bond['price_down'] = ____
bond['convexity'] = (bond['____'] + bond['____'] - 2 * bond['____']) / (bond['____'] * 0.01 ** 2)
# Create plot of bond yields against convexity, add labels to axes, display plot
plt.plot(bond['____'], bond['____'])
plt.xlabel('Yield (%)')
plt.ylabel('Convexity')
____