legacy/README_pt.md

rb3

Project Status: Active – The project has reached a stable, usable state and is being actively developed. Codecov test coverage R build (rcmdcheck)

Leitura e tratamento dos arquivos com dados de mercado distribuídos pela B3. Os estes arquivos podem ser baixados da página de Dados Históricos da B3 através do link.

A BM&FBovespa disponibiliza publicamente diversos arquivos com informações sobre os contratos negociados diariamente. A maioria destes arquivos é referente ao fechamento do mercado e são utilizados pelos participantes do mercado para realizar a marcação a mercado dos contratos.

Os arquivos estão em diversos formatos de forma que esta biblioteca tenta tornar transparente o esforço de tratamento do arquivo provendo uma estrutura de dados melhor adaptada aos dados dos arquivos.

Cada arquivo possui um template associado que contém as regras para a leitura do arquivo, assim como as descrição dos dados providas pela BM&FBovespa.

Documentação

A documentação do pacote está disponível como github page.

Como instalar

devtools::install_github('ropensci/rb3')

Como usar

A função read_marketdata deve ser usada para ler os arquivos. Os arquivos são identificados pelos seus nomes, pois a maior parte do arquivos tem um nome fixo como Indic.txt e PUWEB.TXT, por exemplo. Estes arquivos são interpretados pela função read_marketdata que retorna um data.frame com o conteúdo do arquivo, como observa-se no código abaixo para o arquivo de indicadores financeiros.

indic <- read_marketdata('Indic.txt')
str(indic)
# 'data.frame': 480 obs. of  9 variables:
#  $ Identificação da transação : num  1 2 3 4 5 6 7 8 9 10 ...
#  $ Complemento da transação   : num  1 1 1 1 1 1 1 1 1 1 ...
#  $ Tipo de registro           : num  1 1 1 1 1 1 1 1 1 1 ...
#  $ Data de geração do arquivo : Date, format: "2014-12-11" "2014-12-12" ...
#  $ Grupo do indicador         : Factor w/ 6 levels "Indicadores agropecuários",..: 2 2 2 2 2 2 2 2 2 2 ...
#  $ Código do indicador        : chr  "DE11-B40" "DE11-B40" "DE13-A18" "DE13-A18" ...
#  $ Valor do indicador na data : num  107 107 110 110 102 ...
#  $ Número de decimais do valor: num  4 4 4 4 4 4 4 4 4 4 ...
#  $ Filler                     : chr  "" "" "" "" ...

Em outros casos os arquivos são dividos em partes como cabeçalho e corpo, e nestes casos read_marketdata retorna um list contendo um data.frame em cada elemento. O arquivo PUWEB.TXT (de preços referenciais para títulos públicos), no código abaixo, é um exemplo.

puweb <- read_marketdata('PUWEB.TXT')
str(puweb)
# List of 2
#  $ Cabeçalho:'data.frame':    1 obs. of  3 variables:
#   ..$ Tipo de registro          : int 1
#   ..$ Data de geração do arquivo: Date[1:1], format: "2015-09-25"
#   ..$ Nome do arquivo           : chr "PUWEB.TXT"
#  $ Corpo    :'data.frame':    170 obs. of  8 variables:
#   ..$ Tipo de registro                  : int [1:170] 2 2 2 2 2 2 2 2 2 2 ...
#   ..$ Código do título                  : int [1:170] 100000 100000 100000 100000 100000 100000 100000 100000 100000 100000 ...
#   ..$ Descrição do título               : Factor w/ 6 levels "LTN","NTNF","LFT",..: 1 1 1 1 1 1 1 1 1 1 ...
#   ..$ Data de emissão do título         : Date[1:170], format: "2014-07-04" "2012-01-06" ...
#   ..$ Data de vencimento do título      : Date[1:170], format: "2015-10-01" "2016-01-01" ...
#   ..$ Valor de mercado em PU            : num [1:170] 998 965 931 898 864 ...
#   ..$ Valor do PU em cenário de estresse: num [1:170] 998 962 924 886 849 ...
#   ..$ Valor de mercado em PU para D+1   : num [1:170] 998 965 932 898 864 ...

Caso os arquivos sejam renomeados, o template associado deve ser definido para que o arquivo seja lido corretamente, como é o caso do arquivo BDIN com informações do mercados de ações da BM&FBovespa.

> bdin <- read_marketdata('inst/extdata/BDIN.txt', template='BDIN')
> str(bdin)
# List of 11
#  $ Header                                      :'data.frame': 1 obs. of  9 variables:
#   ..$ Tipo de registro          : int 0
#   ..$ Código do arquivo         : chr "BDIN"
#   ..$ Código do usuário         : int 9999
#   ..$ Código da origem          : chr "BOVESPA"
#   ..$ Código do destino         : int 9999
#   ..$ Data de geração do arquivo: Date[1:1], format: "2015-11-19"
#   ..$ Data do pregão            : Date[1:1], format: "2015-11-19"
#   ..$ Hora de geração           : POSIXct[1:1], format: "2016-02-12 17:24:00"
#   ..$ Reserva                   : chr ""
#  $ Resumo Diário dos Índices                   :'data.frame': 23 obs. of  38 variables:
#   ..$ Tipo de registro                                                 : int [1:23] 1 1 1 1 1 1 1 1 1 1 ...
#   ..$ Identificação do índice                                          : int [1:23] 1 2 3 4 6 8 9 10 11 12 ...
#   ..$ Nome do índice                                                   : chr [1:23] "IBOVESPA" "IEELETRICA" "IVBX2" "IBRX BRASIL" ...
#   ..$ Índice de abertura do pregão                                     : int [1:23] 47437 26829 7726 19749 8048 7601 2247 10695 130 68 952 ...
# ...

Arquivos Tratados

| Arquivo | Template | Mercado | Descrição | | ---------------- | ------------- | --------------------------- | ---------------------------------------------------------------------------------------- | | BDIN | BDIN | Mercado de Ações | Cotações do Horário Regular | | BD_Arbit.txt | BD_Arbit | Mercado de Derivativos | Negócios Realizados em Pregão - Parcial | | BDPrevia.txt | BD_Arbit | Mercado de Derivativos | Negócios Realizados em Pregão - Preliminar | | BD_Final.txt | BD_Arbit | Mercado de Derivativos | Negócios Realizados em Pregão - Final | | BDAfterHour.txt | BD_Arbit | Mercado de Derivativos | Negócios Realizados em Pregão - After-Hours (D+1) | | BDAtual.txt | BD_Arbit | Mercado de Derivativos | Negócios Realizados em Pregão - Atualização de Contratos em Aberto | | BDAjuste.txt | BD_Arbit | Mercado de Derivativos | Negócios Realizados em Pregão - Ajustes | | Indica.txt | Indic | Mercado de Derivativos | Indicadores Econômicos e Agropecuários - Parcial | | Indic.txt | Indic | Mercado de Derivativos | Indicadores Econômicos e Agropecuários - Final | | CONTRCAD.txt | ContrCad | Mercado de Derivativos | Contratos Cadastrados | | CONTRCAD-IPN.txt | ContrCad | Mercado de Derivativos | Contratos Cadastrados Nova Clearing | | TaxaSwap.txt | TaxaSwap | Mercado de Derivativos | Taxas de Mercado para Swaps | | PUWEB.TXT | PUWEB | Mercado de Títulos Públicos | Preços Referenciais para Títulos Públicos | | Premio.txt | Premio | Mercado de Derivativos | Prêmio de Referência para Opções | | SupVol.txt | SupVol | Mercado de Derivativos | Superfície de Volatilidade por Delta | | Eletro.txt | Eletro | Mercado de Derivativos | Negócios Realizados no Mercado de Balcão | | CodISIND.txt | ISIND | Mercado de Derivativos | Relação de Códigos ISIN para Contratos Derivativos | | CodISINS.txt | ISINS | Mercado de Derivativos | Relação de Códigos ISIN para Contratos de Swap | | DeltaOpcoes.txt | DeltaOpcoes | Mercado de Derivativos | Volatilidades implícitas das opções sobre derivativos financeiros em Deltas padronizados |

Ajuda

Divesos arquivos ainda não são tratados, caso você tenha interesse em algum arquivo específico entre em contato para que possamos priorizar a criação do template ou se quiser pode enviar o template pronto que será incluído no pacote.



wilsonfreitas/rbmfbovespa documentation built on April 13, 2025, 11:12 p.m.