Skip to main content

PyPI version Made with Python Powered by Polars License Docs

PYield: Toolkit de Renda Fixa Brasileira

Português | English

PYield é uma biblioteca Python voltada para análise de títulos públicos brasileiros. Ela busca e processa dados da ANBIMA, BCB, IBGE, B3 e Tesouro Nacional, retornando tipos nativos do Python, polars.Series ou polars.DataFrame, conforme a operação.

Embora inclua dados e ferramentas de outros mercados, como DI1, DAP e PTAX, esses recursos apoiam o objetivo central da biblioteca: análise, precificação e acompanhamento de títulos públicos brasileiros.

Instalação

Com pip:

pip install pyield

Em um projeto gerenciado pelo uv:

uv add pyield

Próximos passos

Mapa da API

Componente Tipo Finalidade Funções públicas
yd.du módulo Dias úteis e calendário brasileiro contar, deslocar, eh_dia_util, gerar, ultimo_dia_util, contar_expr, deslocar_expr, eh_dia_util_expr
yd.Interpolador classe Interpolação escalar e em pipelines Polars interpolar, interpolar_expr, linear, flat_forward
yd.interpolar(...) função Interpolação vetorizada flat-forward, curva única ou multi-curva
yd.forward(...) função Taxa a termo entre dois vértices
yd.forwards(...) função Curva de taxas a termo
yd.futuro módulo Contratos futuros da B3 di1, historico, intradia, datas_disponiveis, vencimento, enriquecer, vencimento_expr
yd.di1 módulo Curva DI1 e interpolação dados, interpolar_taxas, interpolar_taxa, datas_disponiveis
yd.tpf módulo Títulos públicos federais taxas, taxas_historicas, vencimentos, estoque, leiloes, leiloes_bcb, benchmarks, curva_pre, premios_pre, secundario
yd.rmd(aba) função Relatório Mensal da Dívida do Tesouro Nacional
yd.lft módulo LFT dados, vencimentos, cotacao, pu, taxa, rentabilidade, rentabilidade_expr
yd.ltn módulo LTN dados, vencimentos, pu, taxa, duration_expr, dv01, dv01_expr, rentabilidade, rentabilidade_expr, taxas_forward
yd.ntnb módulo NTN-B dados, vencimentos, datas_pagamento, fluxos_caixa, cotacao, pu, taxa, taxas_zero, duration, dv01, dv01_expr, implicitas, curva
yd.ntnb1 módulo NTN-B1 (Educa+ e Renda+) NomeComercial, datas_pagamento, fluxos_caixa, cotacao, cotacao_curva_zero, taxa_curva_zero, pu, duration, dv01
yd.ntnbp módulo NTN-B Principal cotacao, taxa, pu, dv01
yd.ntnc módulo NTN-C dados, datas_pagamento, fluxos_caixa, cotacao, pu, taxa, duration, duration_expr, dv01, dv01_expr
yd.ntnf módulo NTN-F dados, vencimentos, datas_pagamento, fluxos_caixa, pu, taxa, taxas_zero, taxas_zero_forwards, premio, premio_limpo, premio_limpo_expr, rentabilidade, rentabilidade_expr, duration, duration_expr, dv01, dv01_expr
yd.vna módulo Valores nominais atualizados dos títulos públicos valor, historico, projetado, vigencia
yd.copom módulo Calendário automático do Copom calendario, proxima_reuniao
yd.compromissadas(...) função Leilões de operações compromissadas do BCB inicio, fim
yd.selic módulo Selic e política monetária over, over_serie, meta, meta_serie
yd.cpm módulo Opções digitais do COPOM e análises derivadas contratos, probabilidades
yd.ipca módulo IPCA histórico e projetado indice, indice_serie, taxa, taxa_serie, taxa_projetada
yd.igpm módulo Taxas mensais do IGP-M via SGS/BCB taxa, taxa_serie
yd.ptax(data) função PTAX para uma data
yd.ptax_serie(inicio, fim) função Série histórica da PTAX
yd.di_over(data) função Taxa DI Over
yd.hoje() função Data atual no Brasil
yd.agora() função Data e hora atual no Brasil

O mapa completo da API inclui a documentação detalhada e as assinaturas públicas.

Compatibilidade da API

Séries do IPCA

As consultas históricas do IPCA seguem o padrão das séries de Selic e PTAX: taxa(data) e indice(data) retornam um valor; taxa_serie e indice_serie retornam séries por intervalo ou pelos últimos meses.

Para migrar, substitua ipca.taxas(inicio, fim) por ipca.taxa_serie(inicio, fim) e ipca.indices(inicio, fim) por ipca.indice_serie(inicio, fim). Substitua ipca.taxas_ultimas(n) por ipca.taxa_serie(ultimos=n) e ipca.indices_ultimos(n) por ipca.indice_serie(ultimos=n). Os nomes antigos foram removidos; colunas, unidades e valores retornados permanecem iguais.

Nas séries, fim=None usa a data atual no Brasil. Informe inicio ou ultimos; quando informado, ultimos tem prioridade sobre as datas. taxa_projetada permanece inalterada.

Taxas e DV01 analíticos — 0.59.0

As funções taxa de yd.ltn, yd.ntnf, yd.ntnb, yd.ntnc e yd.lft passam a retornar float sem truncamento, em vez de Decimal truncado em oito casas. Entradas inválidas retornam float("nan"); use math.isnan no lugar de .is_nan().

taxa e dv01 de todos os títulos descontam os fluxos com dias úteis / 252, sem os truncamentos intermediários da STN. Os valores mudam levemente em relação à versão anterior, e taxa(pu(...)) recupera a taxa original apenas aproximadamente. pu e cotacao seguem a metodologia oficial e não mudaram.

Cotações em base 100 — 0.58.0

As funções escalares de cálculo dos títulos também aceitam taxas percentuais explícitas, como "5.75%" ou "5,75%", equivalentes a 0.0575. Números continuam em formato decimal; strings sem % são rejeitadas.

As funções cotacao de yd.lft, yd.ntnb, yd.ntnc, yd.ntnbp e yd.ntnb1 passam a retornar base 100 com quatro casas decimais: 0.993651 passa a ser 99.3651. As funções pu desses títulos recebem a cotação nessa mesma base e aplicam VNA * cotacao / 100.

A coluna valor_pagamento de fluxos_caixa de NTN-B, NTN-C e NTN-B1 e o retorno de ntnb1.cotacao_curva_zero também passam para base 100. Esta última mantém a soma sem truncamento para calibrar a TIR equivalente.

Para migrar, multiplique cotações e fluxos antigos armazenados por 100, remova multiplicações por 100 usadas apenas para exibir cotações e ajuste cálculos manuais de PU para dividir por 100. A composição pu(vna, cotacao(...)) preserva a unidade e as regras de precisão do preço. Taxas continuam em formato decimal, e VNA e PU continuam em reais.

As funções yd.ltn.dv01 e yd.ntnf.dv01 não recebem mais um PU de referência: calculam a redução do PU teórico para um aumento de 1 ponto-base na taxa.

Demais alterações

Este resumo parte da API da 0.56.0. Mudanças que já faziam parte dessa versão ou de versões anteriores estão no histórico das releases do GitHub.

Antes Agora
ntnbp.taxas_zero(...) ntnb.taxas_zero(...), sem incluir_vertices
ntnb.taxas_zero(..., incluir_cupons=...) ntnb.taxas_zero(...), sem incluir_cupons
ntnb.taxas_zero(..., percentual=...) ntnb.taxas_zero(...), com taxas em formato decimal
yd.tpf.ntnb yd.ntnb ou from pyield import ntnb
yd.tpf.rmd(aba) yd.rmd(aba) ou from pyield import rmd
pyield.tpf.vna.calcular_vna(...) yd.vna.calcular_vna(...)
yd.ntnb.vna(data) yd.vna.valor("NTN-B", data)
yd.ntnb.vnas() yd.vna.historico("NTN-B")
vna_projetado(...) nos módulos de títulos yd.vna.projetado(titulo, data, vna_base, inflacao); para LFT, use selic=
vigencia(data) nos módulos de títulos yd.vna.vigencia(titulo, data)

O namespace público segue a autonomia semântica do conceito que o usuário precisa conhecer, e não apenas a fonte dos dados ou sua relação temática com outro domínio. Por isso, conceitos como yd.ltn, yd.ntnb, yd.vna e yd.rmd ficam na raiz, enquanto as implementações podem continuar agrupadas internamente por domínio para manter o código coeso. Consulte as releases para o histórico completo.

Projeto

Metadata

Release files for pyield 0.59.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyield 0.59.0
File Size Uploaded
pyield-0.59.0.tar.gz 137.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyield 0.59.0
File Interpreter ABI Platform
pyield-0.59.0-py3-none-any.whl Python 3 none any Details

Total release size: 327.1 kB

Release files / pyield-0.59.0.tar.gz

Download URL pyield-0.59.0.tar.gz
Size 137.0 kB
Tags Source
SHA-256 checksum
How to use checksums
f92f3381086c922181296b9ddaa8eadb8f47589481a134dae1e351ae5ec470ab
BLAKE2b-256 checksum
How to use checksums
1773e59765eb2021793827197bb14d58ce2aca5cbd5d24128e76c008acd91a88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / pyield-0.59.0-py3-none-any.whl

Download URL pyield-0.59.0-py3-none-any.whl
Size 190.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5e7d93feb9ae9168f07263d65b27bb6bdc5ddddb153e39479593a03f060fe8c1
BLAKE2b-256 checksum
How to use checksums
676c7733c662c7ed278110aeeefe32eb4a988d3d3e589ccdebc494f2544851ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.59.0 This release

2 release files

0.58.2

2 release files

0.58.1

2 release files

0.58.0

2 release files

0.57.2

2 release files

0.56.1

2 release files

0.56.0

2 release files

0.55.2

2 release files

0.55.1

2 release files

0.55.0

2 release files

0.54.5

2 release files

0.54.4

2 release files

0.54.3

2 release files

0.54.2

2 release files

0.54.1

2 release files

0.54.0

2 release files

0.52.2

2 release files

0.52.1

2 release files

0.52.0

2 release files

0.51.2

2 release files

0.50.1

2 release files

0.50.0

2 release files

0.49.7

2 release files

0.49.6

2 release files

0.49.5

2 release files

0.49.1

2 release files

0.49.0

2 release files

0.46.6

2 release files

0.46.5

2 release files

0.46.4

2 release files

0.46.3

2 release files

0.46.2

2 release files

0.46.1

2 release files

0.46.0

2 release files

0.45.2

2 release files

0.45.1

2 release files

0.45.0

2 release files

0.44.5

2 release files

0.44.4

2 release files

0.44.3

2 release files

0.44.2

2 release files

0.44.1

2 release files

0.44.0

2 release files

0.43.6

2 release files

0.43.5

2 release files

0.43.4

2 release files

0.43.3

2 release files

0.43.2

2 release files

0.42.5

2 release files

0.42.4

2 release files

0.42.3

2 release files

0.42.0

2 release files

0.41.1

2 release files

0.40.7

2 release files

0.40.6

2 release files

0.40.5

2 release files

0.40.4

2 release files

0.40.3

2 release files

0.40.2

2 release files

0.40.1

2 release files

0.40.0

2 release files

0.39.9

2 release files

0.39.8

2 release files

0.39.7

2 release files

0.39.3

2 release files

0.39.2

2 release files

0.39.1

2 release files

0.39.0

2 release files

0.38.9

2 release files

0.38.8

2 release files

0.38.7

2 release files

0.38.6

2 release files

0.38.5

2 release files

0.38.4

2 release files

0.38.3

2 release files

0.38.2

2 release files

0.38.1

2 release files

0.38.0

2 release files

0.37.6

2 release files

0.37.5

2 release files

0.37.4

2 release files

0.37.3

2 release files

0.37.2

2 release files

0.37.1

2 release files

0.37.0

2 release files

0.36.9

2 release files

0.36.8

2 release files

0.36.7

2 release files

0.36.5

2 release files

0.36.4

2 release files

0.36.0

2 release files

0.35.9

2 release files

0.35.8

2 release files

0.35.3

2 release files

0.35.2

2 release files

0.35.1

2 release files

0.35.0

2 release files

0.33.2

2 release files

0.33.1

2 release files

0.32.9

2 release files

0.32.8

2 release files

0.32.7

2 release files

0.32.6

2 release files

0.32.2

2 release files

0.32.1

2 release files

0.32.0

2 release files

0.31.4

2 release files

0.31.3

2 release files

0.31.2

2 release files

0.31.1

2 release files

0.31.0

2 release files

0.30.9

2 release files

0.30.8

2 release files

0.30.7

2 release files

0.30.6

2 release files

0.30.4

2 release files

0.30.3

2 release files

0.28.2

2 release files

0.28.1

2 release files

0.28.0

2 release files

0.27.6

2 release files

0.27.5

2 release files

0.27.4

2 release files

0.27.3

2 release files

0.27.2

2 release files

0.27.1

2 release files

0.27.0

2 release files

0.26.0

2 release files

0.25.6

2 release files

0.25.5

2 release files

0.25.4

2 release files

0.25.3

2 release files

0.24.1

2 release files

0.24.0

2 release files

0.23.5

2 release files

0.23.2

2 release files

0.23.1

2 release files

0.23.0

2 release files

0.22.2

2 release files

0.22.1

2 release files

0.22.0

2 release files

0.20.0

2 release files

0.19.3

2 release files

0.19.2

2 release files

0.19.1

2 release files

0.19.0

2 release files

0.18.0

2 release files

0.17.7

2 release files

0.16.7

2 release files

0.16.6

2 release files

0.16.5

2 release files

0.16.4

2 release files

0.16.3

2 release files

0.16.2

2 release files

0.16.1

2 release files

0.16.0

2 release files

0.15.1

2 release files

0.15.0

2 release files

0.14.0

2 release files

0.13.6

2 release files

0.13.5

2 release files

0.13.4

2 release files

0.13.3

2 release files

0.13.2

2 release files

0.13.1

2 release files

0.13.0

2 release files

0.12.3

2 release files

0.12.2

2 release files

0.12.1

2 release files

0.12.0

2 release files

0.11.9

2 release files

0.11.8

2 release files

0.11.7

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.10.2

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.14

2 release files

0.7.13

2 release files

0.7.9

2 release files

0.7.8

2 release files

0.7.7

2 release files

0.7.6

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.0

2 release files

0.2.15

2 release files

0.2.14

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page