ПочатиПочніть безкоштовно

Побудова графіка: convexity проти фактора

Ще один спосіб перевірити, як певний фактор впливає на опуклість облігації, — безпосередньо побудувати графік цього фактора проти опуклості облігації.

У цій вправі ви оціните 20‑річну облігацію з купоном 6% і номіналом 100 USD, а потім знайдете опуклість цієї облігації для різних рівнів дохідностей.

numpy, numpy_financial, pandas і matplotlib уже імпортовано для вас як np, npf, pd та plt відповідно.

Ця вправа є частиною курсу

Оцінювання та аналіз облігацій у Python

Переглянути курс

Інструкції до вправи

  • Створіть масив дохідностей облігації від 0 до 20 з кроком 0,1 і перетворіть його на датафрейм pandas.
  • Знайдіть ціну облігації, змістіть дохідності вгору та вниз і переоцініть, потім обчисліть опуклість облігації.
  • Побудуйте графік: на осі x — дохідність облігацій, на осі y — опуклість (convexity).

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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')
____
Редагувати та запускати код