Calculando yields de bonds

Valoração e Análise de Títulos em Python

Joshua Mayhew

Options Trader

Motivação do cálculo de yield

  • O yield to maturity indica o retorno esperado do investimento
  • Útil para comparar bonds com características diferentes
Valoração e Análise de Títulos em Python

Fórmula do yield de zero coupon bond

Lembre a fórmula do preço de um zero coupon bond:

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

Podemos reorganizar para resolver o yield $(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$

Valoração e Análise de Títulos em Python

Exemplo: yield de zero coupon bond

Vamos rever o mesmo zero coupon bond de antes, agora ao contrário:

  • Vence em 3 anos
  • Valor de face de USD 100
  • Preço de USD 90,19

 

Qual é o yield desse bond?

Valoração e Análise de Títulos em Python

Cálculo do yield de zero coupon bond

Zero coupon bond de 3 anos, preço USD 90,19, valor de face USD 100:

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

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

 

Usaremos ytm para "yield to maturity".

Valoração e Análise de Títulos em Python

Fórmula do yield de bond com cupom?

Fórmula de bond com cupom:

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

Esta equação não pode ser isolada em função de $r$

Usamos tentativa e erro para achar $r$

É assim que a função npf.rate() funciona

Valoração e Análise de Títulos em Python

Exemplo: yield de bond com cupom

Considere o bond com cupom visto antes, que:

  • vence em 3 anos
  • paga cupom anual de 3%
  • tem preço de USD 97,22

 

Qual é seu yield to maturity?

Valoração e Análise de Títulos em Python

Cálculo do yield de bond com cupom

Bond com cupom de 3 anos, cupom anual de 3% e preço de USD 97,22:

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

Lembre-se de definir PV como negativo.

Isso porque o preço do bond é dinheiro que você paga (fluxo de caixa negativo).

Valoração e Análise de Títulos em Python

Vamos praticar!

Valoração e Análise de Títulos em Python

Preparing Video For Download...