A Python parser of Brazilian exchange B3 historical data files
Project description
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 import b3parser
dados_b3 = b3parser.read_b3_file('COTAHIST_A2023.TXT')
dados_b3
dados_b3
é um DataFrame pandas:
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 import b3parser
dados = b3parser.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 |
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
b3fileparser-0.1.6.tar.gz
(6.1 kB
view details)
Built Distribution
File details
Details for the file b3fileparser-0.1.6.tar.gz
.
File metadata
- Download URL: b3fileparser-0.1.6.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.3 Linux/5.15.146.1-microsoft-standard-WSL2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d188642e8d2a3a6d3e7a603ee4f05e86a0c009c32b6e2c2acb95b0734df90cf8 |
|
MD5 | b7e62217610797d074fe7bfc10559b3c |
|
BLAKE2b-256 | 95f30811fe74a70d0552d5d747551b9ae988308c2d02ff514873499e33f2b42b |
File details
Details for the file b3fileparser-0.1.6-py3-none-any.whl
.
File metadata
- Download URL: b3fileparser-0.1.6-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.3 Linux/5.15.146.1-microsoft-standard-WSL2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b73bab593f7d9542f069d82d3b84123b0cd43b41562f23d78004cb0b2429fd4 |
|
MD5 | 85855bc01d6df7f2a44517cf7f4d870a |
|
BLAKE2b-256 | 65c102123b85ac17201673bbe162b64098bf10a3a1d5ae8a3c2217363ae97e9d |