Купонные облигации

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

Joshua Mayhew

Options Trader

Определение купонной облигации

  • Выплачивает регулярные денежные потоки (купоны) в течение срока действия
  • При погашении выплачивается купон и номинальная стоимость
  • Купоны обычно выплачиваются ежегодно или раз в полгода
  • Количество купонных выплат в год называется частотой
  • Доходность к погашению — это годовая доходность от покупки и удержания облигации до погашения
Оценка и анализ облигаций в Python

Пример купонной облигации

Рассмотрим 3-летнюю облигацию с годовым купоном 3%, номиналом 100 долл. США и доходностью 4%:

ВНИМАНИЕ: Купон фиксирован и не меняется!

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

Оценка купонной облигации

Разобьём облигацию на набор бескупонных облигаций и оценим их:

  • 1-летняя бескупонная облигация с номиналом 3 долл. США
  • 2-летняя бескупонная облигация с номиналом 3 долл. США
  • 3-летняя бескупонная облигация с номиналом 103 долл. США
Оценка и анализ облигаций в Python

Оценка купонной облигации

3-летняя облигация с годовым купоном 3%, номиналом 100 долл. США и доходностью 4%

Применяем формулу сложных процентов:

$ \text{1yr ZCB Price: } \frac{3}{(1 + 0.04)^1} = 2.88$

$ \text{2yr ZCB Price: } \ \frac{3}{(1 + 0.04)^2} = 2.77$

$ \text{3yr ZCB Price: } \ \frac{103}{(1 + 0.04)^3} = 91.57$

$\text{Coupon Bond Price: } 2.88 + 2.77 + 91.57 = 97.22$

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

Формула купонной облигации

В общем виде формула цены купонной облигации выглядит так:

$ Price = 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}$

  • $C$ — купон, выплачиваемый за каждый период
  • $r$ — доходность облигации к погашению
  • $P$ — номинальная стоимость (основной долг), выплачиваемая при погашении
  • $n$ — количество временных периодов (как правило, лет)
Оценка и анализ облигаций в Python

Использование функции pv()

Возьмём ту же 3-летнюю облигацию с годовым купоном 3% и доходностью к погашению 4%:

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

Значение pmt задаём положительным.

Перед функцией ставим знак минус.

Значение fv устанавливаем равным 100, а не 103.

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

Давайте потренируемся!

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

Preparing Video For Download...