Como analisar ações com Python é uma dúvida muito frequente que eu recebo no meu Instagram.
Em uma pesquisa feita com meus alunos do treinamento Data Science na Prática, vi que alguns deles já investem com a ajuda do Data Science. Também notei que muitos teriam interesse em aprender mais sobre o tema.
Fui day trader entre 2008 e 2012, e hoje adoto uma filosofia mais fundamentalista, baseada nos princípios do Value Investing (a mesma ensinada por Benjamin Graham ao mito Warren Buffet).
Independente da sua estratégia, Python e Data Science podem contribuir muito para as suas análises na Bolsa.
Por ser um tema que eu amo e por tanta gente estar pedindo, pretendo começar a escrever uma série de artigos voltados ao mercado financeiro.
Neste primeiro artigo, vou te ensinar como acessar cotações para analisar ações usando Python.
Especificamente, vou ensinar como baixar os dados usando a biblioteca pandas_datareader
e plotar o gráfico de candlestick usando plotly
.
Baixando Cotações com Python
Uma das principais dificuldades que temos por aqui é acessar diretamente os dados da Bovespa.
Algumas corretoras possuem APIs e também é possível pagar serviços que forneçam as cotações em tempo real.
Uma alternativa simples e gratuita, que eu uso para acompanhar os preços diários é usar a biblioteca pandas_datareader
e acessar a base de dados do Yahoo Finance.
# importar as bibliotecas necessárias import pandas as pd from pandas_datareader import data as web import plotly.graph_objects as go # criar um DataFrame vazio df = pd.DataFrame()
Vou usar o ativo ITUB3, e baixar as cotações a partir de 1º de janeiro de 2000. Olhando as 5 primeiras entradas você consegue notar que são importadas as máximas, mínimas, abertura, fechamento, volume e valor ajustado do fechamento.
# escolher a ação desejada acao = 'ITUB3.SA' # importar dados para o DataFrame df = web.DataReader(acao, data_source='yahoo', start='01-01-2000') # ver as 5 primeiras entradas df.head()
Repare que o nome do ativo é ITUB3.SA
e não apenas ITUB3
. Esse é o padrão para conseguir baixar os dados do Yahoo Finance.
Plotando o gráfico de candlestick para analisar a ação
Recentemente, escrevi um artigo introdutório ensinando a usar a biblioteca Plotly. Na minha opinião é a melhor biblioteca de visualização de dados que o Python possui.
Recomendo dar uma lida nesse artigo antes, para entender como eu faço para plotar o gráfico de candlestick.
# plotar o gráfico de candlestick trace1 = { 'x': df.index, 'open': df.Open, 'close': df.Close, 'high': df.High, 'low': df.Low, 'type': 'candlestick', 'name': acao, 'showlegend': False } data = [trace1] layout = go.Layout() fig = go.Figure(data=data, layout=layout) fig.show()
A vantagem do Plotly é que seus gráficos são interativos. Permitem zoom, selecionar determinado período e muitas outras coisas.
Além disso, é possível sobrepor plots como Médias Móveis, Bandas de Bollinger, entre outros vários indicadores.
Data Science para Investimentos
O objetivo deste artigo era te mostrar como importar cotações diretamente pela web, sem ter que baixar arquivos ou planilhas para a sua máquina.
No entanto, as possibilidades de aplicação de Data Science e Machine Learning para os investimentos são infinitas.
Otimização de portfólio, recomendação de ativos e automatização de operações de trade são apenas algumas delas.
Começaremos a falar um pouco mais delas nos próximos artigos 🙂
Parabéns pelo artigo, meu interesse por data science é justamente aplicar o conhecimento adquirido no mercado financeiro.
Muito obrigado pelo comentário!
Amei! Tava dando uma desanimada já nos estudos e com seus posts já deu uma oxigenada!
Veja a mensagem de erro que apareceu referente ao pandas_datareader:
ModuleNotFoundError Traceback (most recent call last)
in
1 import pandas as pd
—-> 2 from pandas_datareader import data as web
3 import plotly.graph_objets as go
ModuleNotFoundError: No module named ‘pandas_datareader’
Se você não está usando o Colab, provavelmente não está instalado na sua máquina. Dependendo se você usa Conda ou Pip, precisa instalar o módulo 🙂
super legal, obrigada!
Gosto muito do mercado de ações também e uso o Google Sheets para controle de carteira, pricipalmente por causa da função GOOGLEFINANCE( ). Fica a dica para quem gosta do assunto.
Gostei muito deste tutorial. Realmente muito bom para praticar o Python e suas bibliotecas. Por meio seu conteúdo, pude conhescer o Colab também.
Parabéns pelo seu tarbalho e conteúdo!!!
Muito obrigado pelo comentário! Um forte abraço para você.
Que massa, contínua trazendo esses artigos relacionados ao mercado financeiro.
Muito obrigado pelo comentário! Um forte abraço para você.
Muito bacana!
Fala, Carlos, primeiramente, muito legal seu artigo! Tem alguma razão específica para criar um dataframe vazio antes de importar os dados?
Apenas uma abordagem didática para quem começou mesmo. Mas não há necessidade 🙂
Oi Carlos. Legal você colocar esse artigo. Quero acompanhar os próximos.
Ainda fiquei com dúvida sobre como posso acompanhar em tempo real a variação das ações. Se eu quiser fazer isso tenho que pagar por algum serviço? O BOVESPA não disponibiliza isso?
Obrigado