Prețuri prognozate vs. prețuri reale I
Reprezentarea grafică a prețurilor prognozate ale obligațiunilor pentru diferite niveluri ale randamentului, folosind durata, și compararea acestor prețuri cu prețurile reale este o metodă excelentă de a vizualiza acuratețea duratei.
În acest exercițiu, vei calcula durata obligațiunii, precum și prețul acesteia la diferite niveluri ale randamentului. În exercițiul următor, vei determina prețul prognozat pe baza duratei și vei reprezenta grafic diferența.
Obligațiunea analizată are o scadență de 10 ani, plătește un cupon anual de 5% și are un randament la scadență de 5%.
numpy, numpy_financial, pandas și matplotlib au fost deja importate ca np, npf, pd, respectiv plt.
Acest exercițiu face parte din cursul
Evaluarea și analiza obligațiunilor în Python
Instrucțiuni pentru exercițiu
- Calculează durata și durata în dolari a obligațiunii.
- Creează un array cu randamentele obligațiunilor de la 0 la 10, cu increment de 0,1, și convertește acest array într-un DataFrame
pandasnumitbond_yield. - Adaugă coloana
price, care să conțină prețul obligațiunii pentru fiecare nivel al randamentului.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Price a 10 year bond with 5% coupon and 5% yield, reprice at higher and lower yields
price = ____
price_up = ____
price_down = ____
# Find the duration and dollar duration of the bond
duration = ____
dollar_duration = ____ * ____ * ____
# Create an array of yields from 0 to 10 in steps of 0.1, convert to DataFrame
bond_yields = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['bond_yield'])
# Add a column called price with the bond price for each yield level
bond['price'] = -npf.pv(rate=bond['bond_yield'] / 100, ____, ____, ____)