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

Построение графика дюрации в зависимости от фактора

Построение графика зависимости дюрации от какого-либо фактора — например, срока погашения, купонных выплат или доходности — отличный способ наглядно показать, как этот фактор влияет на дюрацию облигации.

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

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

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

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

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

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

  • Создайте массив купонных ставок от 0 до 10 с шагом 0,1 и преобразуйте его в DataFrame pandas.
  • Добавьте в DataFrame четыре дополнительных столбца: price, price_up, price_down и duration для данной облигации.
  • Постройте график, где по оси x отложено значение bond_coupon, а по оси y — duration.

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

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

# Create array of coupon rates and assign to pandas DataFrame
bond_coupon = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['____'])

# Calculate bond price, price_up, price_down, and duration
bond['price'] = -npf.pv(rate=0.05, nper=10, pmt=bond['bond_coupon'], fv=100)
bond['price_up'] = ____
bond['price_down'] = ____
bond['duration'] = (bond['____'] - bond['____']) / (2 * bond['____'] * 0.01)

# Plot coupon vs. duration, add labels & title, show plot
plt.plot(____, ____)
plt.xlabel('Coupon (%)')
plt.ylabel('Duration (%)')
plt.show()
Редактировать и запускать код