Como obter dados financeiros com o Python? Um guia para sair do Excel

Em nosso cotidiano profissional, identificar maneiras de otimizar processos é essencial para aumentar a produtividade. Em particular, focalizar nas etapas mais demoradas pode render grandes benefícios. Neste artigo, exploramos como o Python se destaca como uma ferramenta valiosa para aprimorar a eficiência no trabalho, especialmente ao simplificar e agilizar a coleta de dados, uma etapa extremamente importante na análise de dados.

Dados do mercado acionário brasileiro

Dados de ações

Para ter acesso aos dados da B3, isto é, preços de ações no geral, nós podemos fazer uso da biblioteca yfinance. Tal pacote permite acessar dados diretamente da API do site do Yahoo Finance.

Para tanto, é necessário obter o ticker da empresa conforme a página da companhia no site do Yahoo Finance, e inseri-lá dentro da principal função da biblioteca.

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.

Alunos inscritos no curso de Mercado Financeiro e Gestão de Portfólio com o Python têm a oportunidade de adquirir conhecimento em todas as etapas a seguir, além de obter uma compreensão teórica abrangente das principais ferramentas utilizadas no Mercado Financeiro.

Os dados capturados são dispostos pelas colunas:

  • Open
  • High
  • Low
  • Volume
  • Close
  • Adj Close

Plotamos os valores do preço de fechamento para verificar os dados importados.

Dados Contábeis

Em relação aos dados contábeis e financeiros de empresas, podemos obtê-los também através do yfinance, importando diretamente do site do Yahoo Finance.

Código
2023-09-30 2023-06-30 2023-03-31
Treasury Shares Number 29031369.0 295669.0 295669.0
Ordinary Shares Number 13015465561.0 13044201261.0 13044201261.0
Share Issued 13044496930.0 13044496930.0 13044496930.0
Net Debt 17352000000.0 18877000000.0 19546000000.0
Total Debt 60997000000.0 57971000000.0 53349000000.0
... ... ... ...
Cash Cash Equivalents And Short Term Investments 13409000000.0 12655000000.0 13169000000.0
Other Short Term Investments 1299000000.0 2304000000.0 2879000000.0
Cash And Cash Equivalents 12110000000.0 10351000000.0 10290000000.0
Cash Equivalents 11907000000.0 10239000000.0 10155000000.0
Cash Financial 203000000.0 112000000.0 135000000.0

81 rows × 3 columns

Dados da curva de juros

Para dados referentes a curvas de juros podem ser extraídos utilizando a biblioteca pyettj. Os dados são importados diretamente do site da B3 (também há a possibilidade de extrair da ANBIMA), e podem ser extraidos em diferentes datas de referências.

E os gráficos são construídos facilmente utilizando o pacote plotly.

Dados do Banco Central do Brasil

O Banco Central do Brasil mantém diversas séries disponibilizadas em seu banco de dados públicos. Podemos acessar esses dados utilizando a biblioteca python-bcb.

Sistema Gerenciador de Séries Temporais

O módulo sgs do python-bcb permite acessar por meio da API diversas séries disponíveis no Sistema Gerenciador de Séries Temporais. É no site que podemos localizar diferentes séries financeiras e econômicas e obter os seus respectivos códigos, estes que vão permitir importar as séries pela função sgs.get().

Código
ipca
Date
2002-01-01 0.52000
2002-02-01 0.36000
2002-03-01 0.60000
2002-04-01 0.80000
2002-05-01 0.21000

No exemplo capturamos os dados do Índice nacional de preços ao consumidor-amplo (IPCA) - Var. % mensal no período de jan/2002 até jun/2023. Veja que a data por padrão está no índice do DataFrame.

Expectativas Focus

As expectativas de Mercado coletadas pela Pequisa Focus do Banco Central podem ser acessadas através da Plataforma OlindaBCB. Assim como qualquer outra API, podem ser coletadas por meio do Python, e nesse caso, utilizamos o módulo Expectativas do python-bcb.

Código
EntitySets:
  ExpectativasMercadoTop5Anuais
  ExpectativaMercadoMensais
  ExpectativasMercadoInflacao24Meses
  ExpectativasMercadoInflacao12Meses
  ExpectativasMercadoSelic
  ExpectativasMercadoTop5Selic
  ExpectativasMercadoTop5Mensais
  ExpectativasMercadoTrimestrais
  ExpectativasMercadoAnuais
Código

EntitySet (Endpoint): ExpectativasMercadoAnuais
EntityType: br.gov.bcb.olinda.servico.Expectativas.ExpectativaMercadoAnual
Properties: Indicador<str>, IndicadorDetalhe<str>, Data<str>, DataReferencia<str>, Media<float>, Mediana<float>, DesvioPadrao<float>, Minimo<float>, Maximo<float>, numeroRespondentes<int>, baseCalculo<int>

Com as informações conhecidas sobre o data frame a ser importado, utilizamos o método get_endpoint() para conectar com a API do Banco Central e executar a consulta com .query().

Dados do FRED

Para coletar os dados do Federal Reserve Economic Data (FRED), uma alternativa é utilizar a biblioteca pandas_datareader, que permite obter os dados de diversas séries financeiras e econômicas internacionais por meio do site, e dos respectivos códigos da séries encontrados no site do FRED.

Como exemplo demonstramos a captura de dados de Treasuries de 10 e 3 anos.

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

Ancoragem de Expectativas da Inflação no Brasil: uma avaliação utilizando a linguagem de programação R

Expectativas ancoradas significam que a inflação permanece próxima da meta mesmo após choques relevantes, tornando menos custosa a atuação do Banco Central no combate a pressões inflacionárias. Neste exercício, analisamos diferentes medidas para avaliar a ancoragem das expectativas no Brasil, utilizando a linguagem de programação R como ferramenta para a construção desse exercício, realizando a coleta, tratamento, cálculos e visualização dos resultados.

Como fazer previsões para a inflação desagregada medida pelo IPCA?

Neste artigo investigamos se a previsão desagregada da inflação é capaz de gerar previsões mais acuradas do que a previsão agregada. Utilizamos o Índice Nacional de Preços ao Consumidor Amplo (IPCA) como medida de interesse, aplicando um modelo simples e um modelo de passeio aleatório para comparação. Todo o processo pode ser feito de maneira automatizada utilizando a linguagem de programação R.

Qual o melhor modelo para prever a inflação medida pelo IPCA?

Neste exercício, testamos 18 modelos diferentes com um conjunto fixo de regressores para previsão da taxa de inflação, medida pelo IPCA. Implementamos o método da validação cruzada, visando obter resultados robustos para comparação de métricas de performance. Apresentamos os resultados gerais e desagregados por horizontes de previsão, além de automatizar todo o processo utilizando a linguagem Python.

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.