Розрахунок дохідності облігацій

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

Joshua Mayhew

Options Trader

Навіщо рахувати дохідність

  • Дохідність до погашення показує очікувану дохідність інвестиції
  • Корисно для порівняння облігацій із різними характеристиками
Оцінювання та аналіз облігацій у Python

Формула дохідності безкупонної облігації

Згадайте формулу ціни безкупонної облігації:

$PV = \frac{FV}{(1 + r)^n}$

Можемо переставити рівняння, щоб знайти дохідність $(r)$:

$FV = PV \times (1 + r)^n$

$ \frac{FV}{PV} = (1 + r)^n$

$ \sqrt[n]\frac{FV}{PV} = (1 + r)$

$ \sqrt[n]\frac{FV}{PV} -1 = r$

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

Приклад: дохідність безкупонної облігації

Розгляньмо ту саму безкупонну облігацію, але «від зворотного»:

  • Строк погашення 3 роки
  • Номінал USD 100
  • Ціна USD 90.19

 

Яка її дохідність?

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

Розрахунок дохідності безкупонної облігації

Безкупонна облігація на 3 роки, ціна USD 90.19, номінал USD 100:

$r = \sqrt[n]\frac{FV}{PV} -1$

ytm = (100 / 90.19) ** (1/3) - 1
print(ytm)
0.035

 

Використаємо ytm для 'yield to maturity'.

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

Формула дохідності купонної облігації?

Формула для купонної облігації:

$ PV = \frac{C}{(1 + r)^1} + \frac{C}{(1 + r)^2} + ... +\frac{C}{(1 + r)^n} + \frac{P}{(1 + r)^n}$

$ = \sum_{i=1}^n \frac{C}{(1 + r)^i} + \frac{P}{(1 + r)^n}$

Це рівняння не можна розв'язати відносно $r$

Щоб знайти $r$, використовують підбір

Так працює функція npf.rate()

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

Приклад: дохідність купонної облігації

Розгляньмо нашу попередню купонну облігацію, яка:

  • має строк 3 роки
  • сплачує 3% річного купона
  • має ціну USD 97.22

 

Яка її дохідність до погашення?

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

Розрахунок дохідності купонної облігації

Купонна облігація на 3 роки, купон 3% річних, ціна USD 97.22:

import numpy_financial as npf
npf.rate(nper=3, pmt=3, pv=-97.22, fv=100)
0.04

Пам'ятайте: PV слід задавати від'ємним числом.

Це тому, що ціна облігації — це гроші, які ви сплачуєте (негативний грошовий потік).

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

Давайте потренуємось!

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

Preparing Video For Download...