NTN-B Principal
Precificação de NTN-B Principal pelas regras do Tesouro Direto.
cotacao(data_liquidacao, data_vencimento, taxa_tir)
Calcula a cotação da NTN-B Principal em base 1 pelo método do Tesouro Direto.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data_liquidacao
|
DateLike
|
Data de liquidação. |
required |
data_vencimento
|
DateLike
|
Data de vencimento. |
required |
taxa_tir
|
float | Decimal
|
Taxa interna de retorno anualizada do título. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
Decimal |
Decimal
|
Cotação em base 1, truncada em 6 casas decimais. |
Examples:
>>> from pyield import ntnbp
>>> ntnbp.cotacao("02-12-2025", "15-05-2029", 0.0777)
Decimal('0.774630')
Source code in pyield/tpf/titulos/ntnbp.py
dv01(data_liquidacao, data_vencimento, taxa_tir, pu)
Calcula o DV01 (Dollar Value of 01) da NTN-B Principal em R$.
Representa a variação do PU informado para um aumento de 1 bp (0,01%) na taxa.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data_liquidacao
|
DateLike
|
Data de liquidação. |
required |
data_vencimento
|
DateLike
|
Data de vencimento. |
required |
taxa_tir
|
float
|
Taxa interna de retorno anualizada do título. |
required |
pu
|
float | Decimal
|
PU usado como base para o cálculo. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
float |
float
|
DV01 (Dollar Value of 01), variação de preço para 1 bp. |
Examples:
>>> from pyield import ntnbp as bp
>>> cot = bp.cotacao("02-12-2025", "15-05-2029", 0.0777)
>>> pu = bp.pu(4567.033825, cot)
>>> bp.dv01("02-12-2025", "15-05-2029", 0.0777, pu)
1.120055806382451
Source code in pyield/tpf/titulos/ntnbp.py
pu(vna, cotacao)
Calcula o preço (PU) da NTN-B Principal.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
vna
|
float | Decimal
|
Valor nominal atualizado (VNA). |
required |
cotacao
|
float | Decimal
|
Cotação da NTN-B Principal em base 1. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
Decimal |
Decimal
|
Preço da NTN-B Principal truncado em 6 casas decimais. |
Examples:
>>> from pyield import ntnbp
>>> cot = ntnbp.cotacao("02-12-2025", "15-05-2029", 0.0777)
>>> ntnbp.pu(4567.033825, cot)
Decimal('3537.761411')
Source code in pyield/tpf/titulos/ntnbp.py
taxa(data_liquidacao, data_vencimento, curva_zero)
Obtém a TIR de mercado da NTN-B Principal pelo método do Tesouro Direto.
A taxa zero correspondente ao vencimento é interpolada por flat-forward e arredondada em quatro casas decimais. Como a NTN-B Principal possui um único fluxo no vencimento, essa taxa zero também é a TIR do título.
A curva pode ser produzida por :func:pyield.ntnbp.taxas_zero. Para
cálculos em lote, ela deve ser construída uma única vez e reutilizada entre
os títulos.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data_liquidacao
|
DateLike
|
Data de liquidação usada na construção da curva. |
required |
data_vencimento
|
DateLike
|
Data de vencimento da NTN-B Principal. |
required |
curva_zero
|
DataFrame
|
DataFrame com as colunas |
required |
Returns:
| Name | Type | Description |
|---|---|---|
float |
float
|
TIR de mercado anualizada, arredondada em quatro casas decimais. |