Zacznij terazZacznij za darmo

Ceny przewidywane a rzeczywiste – część I

Świetnym sposobem na zwizualizowanie dokładności duration jest narysowanie wykresu przewidywanych cen obligacji dla różnych poziomów rentowności, a następnie porównanie ich z cenami rzeczywistymi.

W tym ćwiczeniu zaczniesz od wyznaczenia duration obligacji oraz jej ceny przy różnych poziomach rentowności. W kolejnym ćwiczeniu obliczysz cenę przewidywaną na podstawie duration i zobrazujesz różnicę.

Analizowana obligacja to obligacja 10-letnia z rocznym kuponem w wysokości 5% i rentownością do wykupu (YTM) równą 5%.

numpy, numpy_financial, pandas oraz matplotlib zostały już zaimportowane odpowiednio jako np, npf, pd i plt.

To ćwiczenie jest częścią kursu

Wycena i analiza obligacji w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Wyznacz duration oraz dollar duration obligacji.
  • Utwórz tablicę rentowności obligacji od 0 do 10 z krokiem 0,1 i przekształć ją w DataFrame biblioteki pandas o nazwie bond_yield.
  • Dodaj kolumnę price zawierającą cenę obligacji dla każdego poziomu rentowności.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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, ____, ____, ____)
Edytuj i uruchom kod