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

Análise do Censo Demográfico com o R

Como podemos analisar dados do Censo Demográfico para produzir pesquisas e implementar políticas públicas? Mostramos nesta postagem o resultado de uma breve análise dos dados preliminares do Censo Demográfico de 2022 usando o R.

Deploy de modelos com Python + Shinylive + GitHub gastando ZERO reais

Colocar modelos em produção pode ser um grande desafio. Lidar com custos monetários, infraestrutura operacional e complexidades de códigos e ferramentas pode acabar matando potenciais projetos. Uma solução que elimina todos estes obstáculos é a recém lançada Shinylive. Neste artigo mostramos um exemplo com um modelo de previsão para o preço do petróleo Brent.

Como automatizar tarefas repetitivas usando Python? Um exemplo para largar o Excel

Manter relatórios diários com dados e análises atualizados é um desafio, pois envolve várias etapas: coleta de dados, tratamento de informações, produção de análises e atualização de relatório. Para superar este desafio algumas ferramentas como Python + Quarto + GitHub podem ser usadas para automatizar tudo que for automatizável. Neste artigo mostramos um exemplo com dados do mercado financeiro.

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.