Coletando dados do Banco Central com Python

O ideal é que todo o processo da análise de dados econômicos e financeiros deve ser facilitado em todas as etapas, principalmente as iniciais, que constam como a coleta e tratamento de dados. Por sorte, existem pacotes e funções prontas que facilitam todo esse processo para os usuários, como é o caso do python-bcb, que nos ajuda a coletar dados do Banco Central. Neste post de hoje, mostramos como é fácil retirar esses dados.

O python-bcb é uma interface em Python estruturada para obter informações da API de dados abertos do Banco Central do Brasil. Criado por Wilson Freitas, professor dos cursos de Renda Fixa usando o R e Construindo um Banco de Dados Financeiro Automatizado com R aqui da Análise Macro.

A interface oferece diversas APIs que permitem acessar os dados de vários bancos de dados do BACEN. Sendo eles:

  •   Sistema Gerenciador de Séries Temporais (SGS);
  •   Conversor de moedas;
  •   Expectativas divulgadas pelo boletim FOCUS;
  •   Integração com o OData, fornecendo dados de Expectativas, Moedas, Taxas de Juros, IFdata e Mercado Imobiliário.

Sistema Gerenciador de Séries Temporais

O SGS consolida e divulga diversas séries econômico-financeiros mantidas pelo Banco Central e também por outras instituições. É nesse gerenciador que podemos encontrar as séries de diversos temas: Atividade Econômica, Preços, Mercado de Trabalho, Setor Externo, Finanças Públicas, Juros e etc.

São ofertadas as séries em diferentes periodicidades e formatos, portanto, somando todos os fatores, se torna um sistema ideal para coletar séries, ainda mais quando o próprio BCB oferece APIs que facilitam a extração.

Para buscar uma série do SGS com o python-bcb, seguiremos os seguintes passos:


Como exemplo, utilizamos a série da Taxa de juros - Meta Selic definida pelo Copom %a.a, identificada pelo código 432 no SGS. Vemos abaixo como é possível utilizar a função sgs.get().

Caso haja a necessidade em importar mais de uma série, também é possível. Abaixo, importamos as séries do IPCA Mensal em Var. % mensal e do IGP-M Var. % mensal.

Conversor de Moedas

O Conversor de Moedas realiza o Web Scrapping do sistema de mesmo nome do Banco Central. Permite que seja importado as cotações diárias de diversas moedas diante do real. Para saber as moedas que são possíveis de importar, e consequentemente seus respectivos símbolos, utiliza-se a função currency.get_currency_list().

A função retorna um data frame contendo as colunas com cada uma contendo os códigos numéricos da moeda, o nome completo da moeda, o símbolo de cada moeda, e o código do país, o nome do país, o tipo e a data de exclusão.

Após escolhido as moedas de interesse com base na lista do conversor, utiliza-se a função currency.get() para obter as moedas diante do real com base no seus respectivos símbolos e período.

Expectativas FOCUS

O python-bcb oferece a API Expectativas como forma de obter os dados divulgados pelo boletim FOCUS. Essa integração permite obter as expectativas de mercado de cerca de 130 instituições do mercado financeiros que participam do Sistema de Expectativa de Mercado. Para obter os dados, primeiro devemos instanciar com a classe bcb.Expectativas e obter as informações dos endpoints com o método bcb.Expectativas.describe()

Veja que é retornado os EntitySets, que são os endpoints do qual podemos importar os dados das Expectativas de Mercado, como exemplos, iremos buscar as Expectativas de Mercado Anuais.


É retornado todas as informações do endpoint escolhido, com suas respectivas colunas. Isto é útil devido ao fato de caso haja a necessidade de importações do dados já filtrados, desta forma, é possível saber quais colunas poderemos realizar os filtros.

Com todas as informações sobre o endpoint em mãos, iremos de fato importa-las com o python-bcb, utilizando a função expec.get_endpoint(), especificando o endpoint de interesse. Assim que conectamos com o endpoint, realizamos o query com  o método query(). No exemplo abaixo, realizamos esses dois procedimentos em conjunto com uma filtragem para o indicador da Selic.


OData

O OData do Banco Central permite acesso a mais dados do sistema, incluindo o API do Expectativas (bcb.Expectativas), também é possível retirar dados da PTAX (bcb.PTAX), que permite acesso a cotações de taxas de câmbio, Taxa de Juros dos bancos (bcb.TaxaJuros), dados de Instituições Financeiras (bcb.IFDATA) e dados do Mercado Imobiliário (bcb.MercadoImobiliario).

O processo de retirada de dados do OData segue o mesmo que realizamos com o bcb.Expectativas acima, sendo possível realizar com as outras APIs. Primeiro colhemos as informações da API e seus respectivos endpoints com describe(), e após, colhemos as informações de interesse com get_endpoint() e query(). Vemos um exemplo abaixo com a API TaxadeJuros.

A

No exemplo acima retiramos os dados das taxas de juros de diversas instituições bancárias do Brasil. Veja que limitamos o query para apenas 10 observações, apenas como exemplo para que não haja demoras na importação.

Quer saber mais sobre Python?

Veja nossos cursos de Python aplicado para as áreas de Análise de dados e Economia. R e Python para Economistas, Estatística usando R e Python  e  Econometria usando R e Python.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Análise de impacto fiscal sobre o dolár com Python

Usamos uma cesta de 12 moedas para construir um cenário contrafactual da taxa de câmbio após o último anúncio de pacote fiscal, com base em modelagem Bayesiana. No período, o dolár depreciou quase 5% e passou os R$ 6,15, enquanto que na ausência da intervenção a moeda deveria estar cotada em R$ 5,78.

Resultado IBC-br - Outubro/2024

A Análise Macro apresenta os resultados da IBC-br de Outubro de 2024, com gráficos elaborados em Python para coleta, tratamento e visualização de dados. Todo o conteúdo, disponível exclusivamente no Clube AM, foi desenvolvido com base nos métodos ensinados nos cursos da Análise Macro, permitindo aos assinantes acesso aos códigos e replicação das análises.

Resultado PMC - Outubro/2024

A Análise Macro apresenta os resultados da PMC de Outubro de 2024, com gráficos elaborados em Python para coleta, tratamento e visualização de dados. Todo o conteúdo, disponível exclusivamente no Clube AM, foi desenvolvido com base nos métodos ensinados nos cursos da Análise Macro, permitindo aos assinantes acesso aos códigos e replicação das análises.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.