Coletando dados do Banco Central com o Python

banco central
dados
python
sgs
selic
Author

Luiz Henrique

Published

January 10, 2024

O ideal é que todo o processo de 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.

A interface oferece diversas APIs que permitem acessar os dados de vários bancos de dados do BACEN. Sendo eles: - Sistema Gerenciado 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 economicos-finaceiros 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:

  • Importar a API sgs do python-bcb no Python;
  • Buscar o código da série no site https://www3.bcb.gov.br/sgspub/localizarseries/localizarSeries.do?method=prepararTelaLocalizarSeries;
  • Utilizar a função sgs.get(), especificando o código e o período de interesse.
# Importa as biblioteca

from matplotlib import pyplot as plt
import seaborn as sns
import pandas as pd

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().

from bcb import sgs

# Busca a série da SELIC no SGS
selic = sgs.get({'selic':432}, start = '2010-01-01')
# Plota
sns.set_theme()
selic.plot(figsize = (15, 10))
<AxesSubplot: xlabel='Date'>

Viram como é fácil importar dados do SGS? Vamos ficar por aqui. Até a próxima!