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 mundo1. 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:
- Acessar https://db.nomics.world/, escolher fonte/dataset e filtrar os dados de interesse
- Na página dos dados filtrados, clicar em Download e copiar link JSON
- Coletar os dados pela biblioteca
dbnomics
no Python usando a funçãofetch_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:
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é
- 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.