Paulo Henrique Rodrigues Pinheiro

Um blog sobre programação para programadores!


Pegando dados macroeconômicos com Quandl em Python

Como obter dados históricos sobre indicadores de macroeconomia com a biblioteca Quandl usando Python

Imagem pega em https://brasil.elpais.com/

Macroeconomia?

Estou fazendo um minicurso sobre programação em Python para manipulação de dados macroeconômicos. O uso não trivial, para mim, da linguagem, além dessa utilização, tem sido bem interessante. Em minha arrogância de programador experiente, acabei descobrindo muita coisa que nunca vi. Tem material bom e "digrátis" no site deles, e os cursos pagos são bem legais e com preços acessíveis:

Trading com Dados

Feito o jabá não encomendado, continuemos.

Dados mundiais em um só lugar, podem ser obtidos com a empresa Quandl, que disponibiliza uma API, e blibliotecas para R, Python e Excel.

Para usar, basta cadastrar-se para obter um token de acesso a ser usado na API.

Se você já programa, siga por aqui, se não, recomendo seguir pelos tutoriais da Trading com Dados primeiro. Mas se quiser seguir por aqui, e eu não tiver explicado algo bem o suficiente (100% de chances disso ocorrer), é só falar comigo.

Começando

Eles estão usando Jupiter Notebook, mais adequado à exploração e ao objetivo do curso, mas o que me interessa aqui é o acesso aos dados.

Então, dada uma virtualenv (há outras opções, eu uso algo que me permite ter versões difrentes de python, pyenv), instale os pacotes necessários:


pip install quandl matplotlib python-decouple

Esse comando, além de outras dependências, instalará também a Pandas e Requests.

Instalamos também a biblioteca python-decouple, que nos permitirá gerenciar melhor o token de acesso à API.

Primeiro programa

Ao fazer o cadastro no site da Quandl, em Account Settings há um campo YOUR API KEY. Copie esse valor para um arquivo chamado .env, dessa forma:


QUANDL_API_KEY=COLOQUE_SUA_API_KEY_AQUI

E então crie esse programa no arquivo ipca.py:


import quandl

from decouple import config


quandl.ApiConfig.api_key = config('QUANDL_API_KEY') 

ipca = quandl.get('BCB/13522', start_date='2010-01-01')
print(ipca.head())

Executando com python ipca.py, tem-se essa saída:


            Value
Date             
2010-01-31   4.59
2010-02-28   4.83
2010-03-31   5.17
2010-04-30   5.26
2010-05-31   5.22

O método head()é da biblioteda Pandas, pois IPCA é um objeto DataFrame. Se quiser o retorno como um objeto numpy, basta passar a opção returns='numpy' no método get. Mais informações e opções na página de ajuda sobre Python.

Esse código, BCB/13522, deve ser procurado na página do Quandl mesmo. Para indicadores oficiais, por exemplo, pode-se buscar por BCB (Banco Central do Brasil), que direcionará para uma página especial, de dados específicos do Banco Central do Brasil no Quandl.

Há um campo de busca dedicado a esses índices. Outros índices interessantes são (Petróleo é um índice dado pelo governo dos EEUU):


| Indicador  | Código         |
| :--        | :--            |
| Taxa SELIC | BCB/432        |
| PIB Brasil | ODA/BRA_NGDPD  |
| Dólar      | BCB/10813      |
| Ouro       | BCB/4          |
| CDI        | BCB/4392       |
| Petróleo   | EIA/PET_RWTC_D |

Por hoje é só. Próxima brincadeira, gerar gráficos de cada coisa, e gráficos de várias coisas juntas. Também umas dúvidas em relação ao uso desses dados e ao armazenamento local, coisa que irei pesquisar e compartilhar.