Pular para conteúdo

Exercício de opções sobre derivativos — arquivo de instrumentos (BVBG.028.02)

Leitura do bloco DrvsOptnExrcInf do arquivo de instrumentos do pregão (IN{aammdd}.zip), publicado em www.b3.com.br/pesquisapregao/download. Registra os instrumentos de exercício de opções sobre derivativos 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

InstrumentsFileDrvsOptnExrcReader baixa o mesmo IN{aammdd}.zip que os demais readers da família, mantém apenas os registros que carregam o bloco DrvsOptnExrcInf e mapeia a lista completa de campos desse bloco — 14 campos próprios, mais as colunas comuns a todo instrumento (data de referência, identificação e atributos comuns), totalizando 27 colunas de origem.

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

O layout vem do Catálogo de Mensagens — Cadastro de Instrumento v2.6 da B3 (âncora de bloco 4.7), que declara tag, cardinalidade e tipo XSD de cada campo, conferido contra a aba BVBG.028 - Taxonomia e contra um arquivo IN real.

O catálogo corta o nome do tag de referência

O PDF do catálogo renderiza DerivOptnExrcInst — suas colunas truncam tags longos. O arquivo real escreve DerivOptnExrcInstrmId, que é o caminho que resolve; a cardinalidade [1..1] declarada (4.7.7 a 4.7.7.2.1) vale sem alteração.

O contrato exige ASST, ASST_DESC, CLNR_DAYS, DERIV_OPTN_EXRC_INSTRM_ID, DERIV_OPTN_EXRC_INSTRM_ID_MKT_IDR_CD, DERIV_OPTN_EXRC_INSTRM_ID_TP, MKT_IDR_CD, MKT_NM, OTHR_ID, RPT_DT, SCTY_CTGY_NM, SGMT_NM, TCKR_SYMB, WDRWL_DAYS, WRKG_DAYS — os campos [1..1] em toda a cadeia de ancestrais e confirmados ao vivo. AsstSttlmInd é um contêiner opcional (4.489 dos 8.289 registros), então suas folhas são mapeadas sem serem obrigatórias.

Tipagem Colunas
datetime.date RPT_DT
decimal.Decimal exato

As demais colunas preservam o texto exato da fonte — STTLM_IND_MLTPLR é uma contagem inteira de unidades de liquidação, não um multiplicador decimal.


Exemplos

Ler o bloco de um pregão

from datetime import date
from filings_b3.search_trading_session import InstrumentsFileDrvsOptnExrcReader

df = InstrumentsFileDrvsOptnExrcReader(date(2026, 7, 29)).read()
print(df.head())

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

Manter o artefato bruto (camada bronze)

from pathlib import Path

df = InstrumentsFileDrvsOptnExrcReader(
    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.