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 sumarizar divulgações trimestrais de empresas usando IA no Python

Neste exercício, iremos utilizar a inteligência artificial no Python para analisar e sumarizar divulgações trimestrais de empresas. Focaremos no uso de ferramentas como Gemini e técnicas de processamento de linguagem natural para extrair informações de documentos PDF relacionados aos relatórios financeiros das empresas.

Como usar IA para sumarizar dados de demonstrações de empresas brasileiras no Python

Neste post, vamos explorar como utilizar o modelo de linguagem Gemini do Google para analisar demonstrações contábeis anuais da Eletrobras e extrair informações relevantes para tomada de decisão. Através de um código Python, vamos importar os dados direto da CVM, conectar com o Gemini e gerar resumos sobre as contas das demonstrações e perspectivas futuras sobre as finanças da empresa.

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.