Títulos com cupom

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

Joshua Mayhew

Options Trader

Definição de título com cupom

  • Paga fluxos de caixa regulares (cupons) ao longo da vida
  • No vencimento, paga um cupom e o valor nominal
  • Cupons são pagos, em geral, anualmente ou semestralmente
  • O número de cupons por ano é a frequência
  • O yield to maturity é o retorno anual de comprar e manter até o vencimento
Valoração e Análise de Títulos em Python

Exemplo de título com cupom

Considere um título de 3 anos com cupom anual de 3%, valor nominal de USD 100 e yield de 4%:

ATENÇÃO: O cupom é fixo e não muda!

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

Precificação de título com cupom

Decompomos o título em uma coleção de zeros, e então precificamos:

  • Um zero de 1 ano com valor nominal de USD 3
  • Um zero de 2 anos com valor nominal de USD 3
  • Um zero de 3 anos com valor nominal de USD 103
Valoração e Análise de Títulos em Python

Precificação de título com cupom

Título de 3 anos com cupom anual de 3%, valor nominal de USD 100 e yield de 4%

Usando nossa fórmula de juros compostos vista antes:

$ \text{Preço ZCB 1 ano: } \frac{3}{(1 + 0.04)^1} = 2.88$

$ \text{Preço ZCB 2 anos: } \ \frac{3}{(1 + 0.04)^2} = 2.77$

$ \text{Preço ZCB 3 anos: } \ \frac{103}{(1 + 0.04)^3} = 91.57$

$\text{Preço do título com cupom: } 2.88 + 2.77 + 91.57 = 97.22$

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

Fórmula do título com cupom

De forma geral, a fórmula para o preço de um título com cupom é:

$ 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$ é o cupom pago em cada período
  • $r$ é o yield to maturity do título
  • $P$ é o valor nominal (principal) pago no vencimento
  • $n$ é o número de períodos (geralmente anos)
Valoração e Análise de Títulos em Python

Usando a função pv()

Usando o mesmo título de 3 anos, cupom anual de 3% e yield to maturity de 4%:

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

Definimos pmt como positivo.

Também colocamos um sinal de menos antes da função.

Definimos fv como 100, não 103.

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...