DBnomics: 1 bilhão de dados econômicos no Python

Analisar dados econômicos não é fácil. Muitas vezes os dados estão dispersos em bases nacionais e internacionais (BCB, IBGE, IPEA, FRED, OCDE, FMI, etc.) e o analista precisa acessar individualmente cada instituição para procurar as variáveis de interesse. Não para por aí, ainda é necessário coletar os dados e muitas vezes não existe uma API ou a documentação não ajuda muito. No final do dia, o analista acaba tendo que escrever 50 linhas de código só para coletar e tratar os dados de 2 ou 3 fontes.

Agora imagine que este analista tivesse à disposição uma única API com dados econômicos nacionais e internacionais de cerca de 100 instituições estatísticas e empresas privadas diferentes, com atualização em tempo quase real e totalizando mais de 1 bilhão de séries acessíveis por uma única linha de código no Python. Parece um sonho, não? Não, não é um sonho, é a plataforma DBnomics!

A DBnomics é uma plataforma gratuita que reúne dados econômicos publicamente disponíveis, fornecidos por instituições, pesquisadores e empresas ao redor do mundo. A API fornecida pela plataforma simplifica o acesso aos dados, que são atualizados regularmente e disponibilizados em um formato padronizado e pronto para análise. Em suma, a DBnomics é, provavelmente, uma das maiores bases de dados econômicos do mundo.

Quais dados estão disponíveis na DBnomics?

A plataforma DBnomics disponibiliza séries temporais, de frequência no mínimo diária, cobrindo uma variedade de tópicos:

  • Economia
  • População
  • Condições de vida
  • Ambiente
  • Energia
  • Agricultura
  • Finanças
  • Comércio
  • Etc.

No total, estão disponíveis dados de 91 fontes, distribuídos em 34 mil conjuntos de dados e 1,2 bilhão de séries temporais. Algumas das principais fontes incluem:

  • BCB
  • BIS
  • ECB
  • Eurostat
  • IMF
  • OECD
  • WTO
  • WB

Como usar a API da DBnomics para coletar dados no Python?

Para coletar dados econômicos pela API da DBnomics, o usuário pode utilizar a biblioteca dbnomics no Python:

  1. Acessar https://db.nomics.world/, escolher fonte/dataset e filtrar os dados de interesse
  2. Na página dos dados filtrados, clicar em Download e copiar link JSON
  3. Coletar os dados pela biblioteca dbnomics no Python usando a função fetch_series_by_api_link():

Para obter o código e o tutorial deste exercício faça parte do Clube AM e receba toda semana os códigos em R/Python, vídeos, tutoriais e suporte completo para dúvidas.

  @frequency provider_code   dataset_code  \
0    monthly      Eurostat  prc_hicp_manr   
1    monthly      Eurostat  prc_hicp_manr   
2    monthly      Eurostat  prc_hicp_manr   
3    monthly      Eurostat  prc_hicp_manr   
4    monthly      Eurostat  prc_hicp_manr   

                                  dataset_name              series_code  \
0  HICP - monthly data (annual rate of change)  M.RCH_A.CP011.EU27_2020   
1  HICP - monthly data (annual rate of change)  M.RCH_A.CP011.EU27_2020   
2  HICP - monthly data (annual rate of change)  M.RCH_A.CP011.EU27_2020   
3  HICP - monthly data (annual rate of change)  M.RCH_A.CP011.EU27_2020   
4  HICP - monthly data (annual rate of change)  M.RCH_A.CP011.EU27_2020   

                                         series_name original_period  \
0  Monthly – Annual rate of change – Food – Europ...         2001-12   
1  Monthly – Annual rate of change – Food – Europ...         2002-01   
2  Monthly – Annual rate of change – Food – Europ...         2002-02   
3  Monthly – Annual rate of change – Food – Europ...         2002-03   
4  Monthly – Annual rate of change – Food – Europ...         2002-04   

      period  original_value  value freq   unit coicop        geo  \
0 2001-12-01             6.3    6.3    M  RCH_A  CP011  EU27_2020   
1 2002-01-01             7.2    7.2    M  RCH_A  CP011  EU27_2020   
2 2002-02-01             6.4    6.4    M  RCH_A  CP011  EU27_2020   
3 2002-03-01             5.5    5.5    M  RCH_A  CP011  EU27_2020   
4 2002-04-01             4.6    4.6    M  RCH_A  CP011  EU27_2020   

  Time frequency        Unit of measure  \
0        Monthly  Annual rate of change   
1        Monthly  Annual rate of change   
2        Monthly  Annual rate of change   
3        Monthly  Annual rate of change   
4        Monthly  Annual rate of change   

  Classification of individual consumption by purpose (COICOP)  \
0                                               Food             
1                                               Food             
2                                               Food             
3                                               Food             
4                                               Food             

             Geopolitical entity (reporting)  
0  European Union - 27 countries (from 2020)  
1  European Union - 27 countries (from 2020)  
2  European Union - 27 countries (from 2020)  
3  European Union - 27 countries (from 2020)  
4  European Union - 27 countries (from 2020)  

Dessa forma simples os dados já estão disponíveis para serem analisados!

No nosso exemplo coletamos dados da taxa de inflação de itens selecionados da cesta de produtos/serviços considerada pela Eurostat na União Europeia. Sendo assim, usando estes dados podemos verificar que o preço do chocolate vem crescendo substancialmente em relação a outros alimentos:

Interessante, não? Aprenda a coletar, processar e analisar dados econômicos na formação Do Zero à Análise de Dados Econômicos e Financeiros com Python.

Conclusão

Neste exercício mostramos como usar a API de dados da DBnomics, que disponibiliza dados econômicos do Brasil e do mundo de ~100 fontes diferentes. Além de ser gratuita, a API é acessível diretamente do Python e é atualizada em tempo quase real.

Notas de rodapé

  1. Saiba mais em https://db.nomics.world/about↩︎

Quer aprender mais?

Clique aqui para fazer seu cadastro no Boletim AM e baixar o código que produziu este exercício, além de receber novos exercícios com exemplos reais de análise de dados envolvendo as áreas de Data Science, Econometria, Machine Learning, Macroeconomia Aplicada, Finanças Quantitativas e Políticas Públicas diretamente em seu e-mail.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Como coletar dados do Eurostat usando a API com o Python?

Neste artigo mostramos como pesquisar e como coletar os dados do portal Eurostat através do sistema de API usando a linguagem Python. Este processo permite automatizar rotinas de extração de dados, eliminando trabalho manual e repetitivo de atualização de bases de dados econômicos.

Estimando a volatilidade da taxa de câmbio

O que é Volatilidade? Como podemos calcular essa métrica? Este artigo apresenta uma breve introdução à volatilidade, descreve como podemos calcular a volatilidade utilizando Modelos de Volatilidade Condicional e demonstra a aplicação prática dessa abordagem para estimar a volatilidade da taxa de câmbio BRL/USD por meio da linguagem de programação Python.

Como analisar o Núcleo de Inflação no Brasil usando Python?

O Python se destaca como uma ferramenta robusta para análise de dados, permitindo a aplicação de uma ampla gama de técnicas em dados econômico-financeiros. Neste exercício, destacamos como a linguagem oferece uma facilidade muito grande na coleta de dados dos núcleos do IPCA diretamente do site do Banco Central, na manipulação eficiente desses dados e na construção de gráficos que facilitam a compreensão dos indicadores.

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.