Skip to main content

b3fileparser

A função dessa biblioteca é fazer o parser do arquivo com cotações históricas da B3, disponíveis em https://www.b3.com.br/pt_br/market-data-e-indices/servicos-de-dados/market-data/historico/mercado-a-vista/cotacoes-historicas/

Instalação

Instalação pode ser feita via pip

pip install b3fileparser

Exemplo 1

from b3fileparser.b3parser import B3Parser


parser = B3Parser.create_parser(engine='pandas')
dados_b3 = parser.read_b3_file('COTAHIST_A2023.TXT')
dados_b3

dados_b3 é um DataFrame:

TIPO_DE_REGISTRO DATA_DO_PREGAO CODIGO_BDI CODIGO_DE_NEGOCIACAO TIPO_DE_MERCADO NOME_DA_EMPRESA ESPECIFICACAO_DO_PAPEL PRAZO_EM_DIAS_DO_MERCADO_A_TERMO MOEDA_DE_REFERENCIA PRECO_DE_ABERTURA PRECO_MAXIMO PRECO_MINIMO PRECO_MEDIO PRECO_ULTIMO_NEGOCIO PRECO_MELHOR_OFERTA_DE_COMPRA PRECO_MELHOR_OFERTA_DE_VENDAS NUMERO_DE_NEGOCIOS QUANTIDADE_NEGOCIADA VOLUME_TOTAL_NEGOCIADO PRECO_DE_EXERCICIO INDICADOR_DE_CORRECAO_DE_PRECOS DATA_DE_VENCIMENTO FATOR_DE_COTACAO PRECO_DE_EXERCICIO_EM_PONTOS CODIGO_ISIN NUMERO_DE_DISTRIBUICAO
1 1 2023-01-02 00:00:00 34 MMMC34 VISTA 3M DRN -1 R$ 165.56 165.56 159.06 160.97 161.44 161.44 161.59 31 120 20443.2 0 0 NaT 1 0 BRMMMCBDR000 143
2 1 2023-01-02 00:00:00 LOTE_PADRAO RRRP3 VISTA 3R PETROLEUM ON NM -1 R$ 37.24 37.93 35.97 36.64 36.41 36.4 36.41 13731 2.8788e+06 1.05483e+08 0 0 NaT 1 0 BRRRRPACNOR5 100
3 1 2023-01-02 00:00:00 MERCADO FRACIONARIO RRRP3F FRACIONARIO 3R PETROLEUM ON NM -1 R$ 37.75 37.91 35.98 36.69 36.94 36.94 37 1309 24010 881003 0 0 NaT 1 0 BRRRRPACNOR5 100
4 1 2023-01-02 00:00:00 LOTE_PADRAO TTEN3 VISTA 3TENTOS ON NM -1 R$ 9.65 9.65 9.07 9.23 9.36 9.35 9.36 3292 701700 6.48253e+06 0 0 NaT 1 0 BRTTENACNOR0 101
5 1 2023-01-02 00:00:00 MERCADO FRACIONARIO TTEN3F FRACIONARIO 3TENTOS ON NM -1 R$ 9.34 9.44 9.08 9.26 9.2 9.2 9.65 238 4640 43069.7 0 0 NaT 1 0 BRTTENACNOR0 101

Exemplo 2 - Listando Opções de Venda da Petrobras

from b3fileparser.b3parser import B3Parser


parser = B3Parser.create_parser()
dados = parser.read_b3_file('COTAHIST_A2023.TXT')
puts = dados[dados['TIPO_DE_MERCADO'] == 'OPCOES_DE_VENDA']
putspetro = puts[puts['CODIGO_DE_NEGOCIACAO'].str.startswith('PETR')]
putspetro.head()
TIPO_DE_REGISTRO DATA_DO_PREGAO CODIGO_BDI CODIGO_DE_NEGOCIACAO TIPO_DE_MERCADO NOME_DA_EMPRESA ESPECIFICACAO_DO_PAPEL PRAZO_EM_DIAS_DO_MERCADO_A_TERMO MOEDA_DE_REFERENCIA PRECO_DE_ABERTURA PRECO_MAXIMO PRECO_MINIMO PRECO_MEDIO PRECO_ULTIMO_NEGOCIO PRECO_MELHOR_OFERTA_DE_COMPRA PRECO_MELHOR_OFERTA_DE_VENDAS NUMERO_DE_NEGOCIOS QUANTIDADE_NEGOCIADA VOLUME_TOTAL_NEGOCIADO PRECO_DE_EXERCICIO INDICADOR_DE_CORRECAO_DE_PRECOS DATA_DE_VENCIMENTO FATOR_DE_COTACAO PRECO_DE_EXERCICIO_EM_PONTOS CODIGO_ISIN NUMERO_DE_DISTRIBUICAO
24653 1 2023-01-02 00:00:00 OPCOES_DE_VENDA PETRM318 OPCOES_DE_VENDA PETRE ON N2 0 R$ 0.17 0.22 0.17 0.19 0.18 0 0 66 68100 13008 21.91 0 2023-01-20 00:00:00 1 0 BRPETRACNOR9 196
24654 1 2023-01-02 00:00:00 OPCOES_DE_VENDA PETRM328 OPCOES_DE_VENDA PETRE ON N2 0 R$ 0.16 0.3 0.16 0.21 0.29 0 0 52 47800 10127 22.91 0 2023-01-20 00:00:00 1 0 BRPETRACNOR9 196
24655 1 2023-01-02 00:00:00 OPCOES_DE_VENDA PETRN282 OPCOES_DE_VENDA PETRE ON N2 0 R$ 1.11 1.11 1.07 1.1 1.07 0 0 9 22000 24340 24.98 0 2023-02-17 00:00:00 1 0 BRPETRACNOR9 197
24656 1 2023-01-02 00:00:00 OPCOES_DE_VENDA PETRM28 OPCOES_DE_VENDA PETRE ON N2 0 R$ 0.69 1.03 0.69 0.97 1 0 1 26 69600 68155 25.66 0 2023-01-20 00:00:00 1 0 BRPETRACNOR9 197
24657 1 2023-01-02 00:00:00 OPCOES_DE_VENDA PETRM294 OPCOES_DE_VENDA PETRE ON N2 0 R$ 1.09 1.23 1.04 1.11 1.08 0 0 12 7700 8616 26.16 0 2023-01-20 00:00:00 1 0 BRPETRACNOR9 197

Sobre os dados

O parse do arquivo é realizado de acordo com o Layout fornecido pela b3: https://www.b3.com.br/data/files/33/67/B9/50/D84057102C784E47AC094EA8/SeriesHistoricas_Layout.pdf

Colunas

COLUNA TAMANHO NO ARQUIVO TXT
0 TIPO_DE_REGISTRO 2
1 DATA_DO_PREGAO 8
2 CODIGO_BDI 2
3 CODIGO_DE_NEGOCIACAO 12
4 TIPO_DE_MERCADO 3
5 NOME_DA_EMPRESA 12
6 ESPECIFICACAO_DO_PAPEL 10
7 PRAZO_EM_DIAS_DO_MERCADO_A_TERMO 3
8 MOEDA_DE_REFERENCIA 4
9 PRECO_DE_ABERTURA 13
10 PRECO_MAXIMO 13
11 PRECO_MINIMO 13
12 PRECO_MEDIO 13
13 PRECO_ULTIMO_NEGOCIO 13
14 PRECO_MELHOR_OFERTA_DE_COMPRA 13
15 PRECO_MELHOR_OFERTA_DE_VENDAS 13
16 NUMERO_DE_NEGOCIOS 5
17 QUANTIDADE_NEGOCIADA 18
18 VOLUME_TOTAL_NEGOCIADO 18
19 PRECO_DE_EXERCICIO 13
20 INDICADOR_DE_CORRECAO_DE_PRECOS 1
21 DATA_DE_VENCIMENTO 8
22 FATOR_DE_COTACAO 7
23 PRECO_DE_EXERCICIO_EM_PONTOS 13
24 CODIGO_ISIN 12
25 NUMERO_DE_DISTRIBUICAO 3

Tipos de mercado

TIPO DE MERCADO
10 VISTA
12 EXERCICIO DE OPCOES DE COMPRA
13 EXERCÍCIO DE OPCOES DE VENDA
17 LEILAO
20 FRACIONARIO
30 TERMO
50 FUTURO_COM_RETENCAO_DE_GANHO
60 FUTURO_COM_MOVIMENTACAO_CONTINUA
70 OPCOES_DE_COMPRA
80 OPCOES_DE_VENDA

Metadata

Release files for b3fileparser 0.2.1

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

Source distribution (sdist)

Source distribution for b3fileparser 0.2.1
File Size Uploaded Provenance
b3fileparser-0.2.1.tar.gz 8.7 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 18.3 kB

Release files / b3fileparser-0.2.1.tar.gz

Download URL b3fileparser-0.2.1.tar.gz
Size 8.7 kB
Tags Source
SHA-256 checksum
How to use checksums
d26fb88c88cdeb97096968af81c247404d81e72b2ce0b86a86d4c64dbfae0425
BLAKE2b-256 checksum
How to use checksums
dc3f1410d99ea655e280d9682dd9be8ea84a949e31d726568273e1d073442a55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.3 Linux/5.15.146.1-microsoft-standard-WSL2

Release files / b3fileparser-0.2.1-py3-none-any.whl

Download URL b3fileparser-0.2.1-py3-none-any.whl
Size 9.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
16d8d353b71ffe0182408ed21bbf06565aacde276e558db690d70f90787905e2
BLAKE2b-256 checksum
How to use checksums
976ca21880a94bc82e16e2aba0a2959a8d66817204d3dbf82a0b320ca321ef2b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.3 Linux/5.15.146.1-microsoft-standard-WSL2

Security for b3fileparser 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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