Pular para conteúdo

Títulos públicos nacionais — arquivo de instrumentos (BVBG.028.02)

Leitura do bloco NtlBdInf do arquivo de instrumentos do pregão (IN{aammdd}.zip), publicado em www.b3.com.br/pesquisapregao/download. Registra os títulos públicos nacionais da sessão.

Veja também: Visão geral da seção para a forma do reader, proveniência e path_raw · Arquivo consolidado para a visão de todos os tipos.


Descrição

InstrumentsFileNtlBdReader baixa o mesmo IN{aammdd}.zip que os demais readers da família, mantém apenas os registros que carregam o bloco NtlBdInf e mapeia a lista completa de campos desse bloco — 12 campos declarados, publicados em 14 colunas próprias (duas delas são a moeda dos valores monetários), mais as colunas comuns a todo instrumento, totalizando 27 colunas de origem.

Na sessão reconciliada (IN260729), o bloco trouxe 373 registros, com os 12 campos preenchidos.

O catálogo v2.6 está defasado para este bloco

Datado de 24/10/2017, o catálogo declara apenas 9 campos; um IN260729.zip real traz 4 a mais em 100% dos registros — BRZLN_FDRL_GOVNT_BD_TP_CD, GOVNT_BD_REPO_GNL_IND, GOVNT_BD_REPO_SPCFC_IND e SCTY_LNDG_GOVNT_BD_IND (o catálogo traz só uma linha de contêiner truncada, BrzlnFdrlGovntBd). A aba BVBG.028 - Taxonomia lista os 12. Eles são mapeados — descartar um campo que a fonte envia é perda silenciosa de dado — mas o contrato não os exige, já que nenhum documento vigente declara a cardinalidade deles. Reavaliar quando a B3 publicar um catálogo posterior à v2.6.

Os valores monetários carregam a moeda em uma companheira <COL>_CCY, lida do atributo Ccy do próprio valor — no ISO-20022 a unidade é atributo, não elemento, e uma leitura só de texto perderia a moeda de todo preço.

O contrato exige ASST, ASST_DESC, ISSE_DT, MKT_IDR_CD, MKT_NM, MTRTY_DT, OTHR_ID, RPT_DT, SCTY_CTGY_NM, SGMT_NM — os campos [1..1] em toda a cadeia de ancestrais e confirmados ao vivo.

Tipagem Colunas
datetime.date BASE_DT, ISSE_DT, MTRTY_DT, RPT_DT
decimal.Decimal exato BASE_DT_PRIC, MTRTY_VAL

As demais colunas preservam o texto exato da fonte.


Exemplos

Ler o bloco de um pregão

from datetime import date
from filings_b3.search_trading_session import InstrumentsFileNtlBdReader

df = InstrumentsFileNtlBdReader(date(2026, 7, 29)).read()
print(df[["TCKR_SYMB", "SELIC_CD", "MTRTY_DT", "MTRTY_VAL", "MTRTY_VAL_CCY"]].head())

date_ref é obrigatório — o endpoint é endereçado por data.

Manter o artefato bruto (camada bronze)

from pathlib import Path

df = InstrumentsFileNtlBdReader(
    date(2026, 7, 29), path_raw=Path("/data/bronze/b3")
).read()

print(df[["source_key", "content_hash", "updated_at"]].iloc[0])

Consolidado ou por tipo?

Uma leitura consolidada (InstrumentsFileReader) traz todos os tipos sob o layout de 52 colunas publicado pela B3. Este reader traz um tipo com todos os campos que a B3 declara para ele — mais colunas, um tipo só. Os dois leem o mesmo download.