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.