НачатьНачать бесплатно

График выпуклости в зависимости от фактора

Ещё один способ оценить влияние определённого фактора на выпуклость облигации — построить график зависимости выпуклости от этого фактора.

В этом упражнении вы оцените 20-летнюю облигацию с купоном 6% и номинальной стоимостью 100 долларов США, а затем определите выпуклость этой облигации при различных уровнях доходности.

numpy, numpy_financial, pandas и matplotlib уже импортированы как np, npf, pd и plt соответственно.

Это упражнение является частью курса

Оценка и анализ облигаций в Python

Посмотреть курс

Инструкции к упражнению

  • Создайте массив доходностей облигации от 0 до 20 с шагом 0,1 и преобразуйте его в DataFrame pandas.
  • Найдите цену облигации, сдвиньте доходности вверх и вниз, пересчитайте цены, а затем вычислите выпуклость облигации.
  • Постройте график: по оси X — доходность облигации, по оси Y — выпуклость.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

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