Zacznij terazZacznij za darmo

Ceny przewidywane a rzeczywiste II

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

W poprzednim ćwiczeniu wyznaczono durację obligacji i utworzono DataFrame z rzeczywistymi cenami obligacji dla każdego poziomu rentowności. W tym ćwiczeniu dodasz do tego DataFrame kolumny zawierające ceny przewidywane na podstawie duracji, a następnie wykreślisz różnicę między ceną przewidywaną a rzeczywistą.

numpy, numpy_financial, pandas oraz matplotlib zostały już zaimportowane jako np, npf, pd i plt, wraz z kodem z poprzedniego ćwiczenia.

To ćwiczenie jest częścią kursu

Wycena i analiza obligacji w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Dodaj kolumnę yield_change zawierającą różnicę między bieżącą rentownością a rentownością pierwotną.
  • Dodaj kolumnę price_change z przewidywaną zmianą ceny obligacji przy użyciu duracji dolarowej.
  • Dodaj kolumnę predicted_price, łącząc pierwotną cenę obligacji ze zmianą ceny.
  • Dodaj wykres rentowności obligacji względem cen rzeczywistych i przewidywanych na tych samych osiach, a następnie go wyświetl.

Interaktywne ćwiczenie praktyczne

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

# Add a column called yield_change with the current yield minus original yield
bond['yield_change'] = (bond['bond_yield'] - ____)

# Find the predicted bond price change using dollar duration then find predicted price
bond['price_change'] = -100 * ____ * bond['yield_change'] / 100
bond['predicted_price'] = ____ + bond['price_change'] 

# Plot bond yields against predicted and actual prices, add labels, legend, and display
plt.plot(bond['bond_yield'], bond['price'])
plt.plot(____, ____)
plt.xlabel('Yield (%)')
plt.ylabel('Price (USD)')
plt.legend(["Actual Price", "Predicted Price"])
____
Edytuj i uruchom kod