Построение графика цен облигаций в зависимости от доходности
График зависимости цен облигаций от доходности позволяет наглядно оценить, как изменится стоимость облигации или портфеля облигаций при различных уровнях рыночных процентных ставок.
Теперь вы построите такой график для двух облигаций с разными сроками погашения. Для этого нужно добавить в DataFrame pandas дополнительные столбцы — по одному на каждую облигацию. Обе облигации будут иметь купонную ставку 5%, но срок погашения у них разный: 5 лет и 10 лет.
Библиотеки numpy, numpy_financial, pandas и matplotlib уже импортированы как np, npf, pd и plt соответственно.
Это упражнение является частью курса
Оценка и анализ облигаций в Python
Инструкции к упражнению
- Создайте массив значений доходности от 0 до 20 (не включительно) с шагом 0,1.
- Преобразуйте этот массив в DataFrame
pandasи назовите столбецbond_yield. - Добавьте ещё два столбца — по одному для каждой облигации (5-летней и 10-летней) — и вычислите цену для каждого уровня доходности.
- Постройте график для этих облигаций, задав подпись оси X как
Yield (%), а оси Y — какBond Price (USD).
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Create an array of bond yields and convert to DataFrame
bond_yields = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['____'])
# Add columns for different bonds
bond['bond_price_5Y'] = -npf.pv(rate=bond['bond_yield'] / 100, nper=____, pmt=____, fv=____)
bond['bond_price_10Y'] = -npf.pv(rate=____, nper=____, pmt=____, fv=____)
# Plot graph of bonds
plt.plot(bond['bond_yield'], bond['bond_price_5Y'], label='5 Year Bond')
plt.plot(____, ____, label='10 Year Bond')
plt.xlabel(____)
plt.ylabel(____)
plt.legend()
plt.show()