Você já ouviu falar em gráfico Candlestick no Python? Aprenda o que é, como funciona e como você pode usar o Python para criar esse gráfico!
Se quiser pode acompanhar esse conteúdo em formato de vídeo ou pode acessar o nosso Canal do YouTube para mais vídeos!
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
Como Criar Gráfico Candlestick no Python
Gráficos candlestick são amplamente utilizados no mercado financeiro para analisar os movimentos de preços de ações, moedas e outros ativos financeiros ao longo do tempo.
Eles fornecem uma representação visual clara e intuitiva dos preços de abertura, fechamento, máximo e mínimo de um ativo em um período específico. Isso permite que traders e investidores tomem decisões mais informadas.
Nesta aula, vou te mostrar como criar um gráfico candlestick no Python utilizando as bibliotecas Plotly, Pandas e YFinance.
Instalando as Bibliotecas Necessárias
Para começar, vamos instalar as bibliotecas necessárias para coletar dados financeiros, processá-los e gerar a visualização em formato de gráfico.
Para isso, precisaremos instalar as seguintes bibliotecas:
- Plotly: Usada para visualização de dados, incluindo gráficos financeiros interativos.
- Pandas DataReader: Utilizada para coletar dados financeiros históricos.
- YFinance: Biblioteca que corrige problemas de compatibilidade com o Yahoo Finance, permitindo a extração de dados de forma mais eficiente.
A instalação pode ser feita diretamente no terminal do seu editor de código ou no prompt de comando com o seguinte comando: pip install plotly pandas-datareader yfinance
Configurando o Ambiente
Como vamos trabalhar com visualização de dados e gráficos, recomendo utilizar o Jupyter Notebook ou o VS Code com a extensão do Jupyter.
Essas ferramentas são ideais porque os gráficos gerados pelo Plotly são renderizados diretamente na interface, permitindo uma visualização interativa e eficiente.
Importando as Bibliotecas e Configurando o YFinance
Depois de instalar as bibliotecas, é hora de importar os módulos necessários no seu código Python. Vamos importar o módulo graph_objects com o alias go, a função data do pandas_datareader com o alias pdr e a biblioteca yfinance.
import plotly.graph_objects as go import pandas_datareader.data as pdr import yfinance
O módulo graph_objects nos permite personalizar os gráficos do Plotly, o que será necessário para criar o gráfico de velas (candlestick).
A função data será responsável por buscar e extrair os dados financeiros do Yahoo Finance.
Para garantir que a extração ocorra corretamente, utilizamos a biblioteca yfinance, que corrige problemas de integração do Pandas com o Yahoo Finance.
Para fazer esse ajuste de compatibilidade entre o Pandas DataReader e o YFinance utilizaremos o comando yfinance.pdr_override().
import plotly.graph_objects as go import pandas_datareader.data as pdr import yfinance yfinance.pdr_override()
Coletando os Dados Financeiros
Agora, podemos buscar os dados históricos de um ativo utilizando a biblioteca PandasDataReader.
Vamos buscar as informações sobre a cotação das ações do Itaú entre 1º de agosto de 2016 e 15 de setembro de 2024. O código desse ativo (ticker) é “ITUB4.SA“.
Para buscar essas informações, utilizaremos a função get_data_yahoo, passando o ticker da ação, a data de início (start) e a data de fim (end).
ativo = "ITUB4.SA" tabela_cotacoes = pdr.get_data_yahoo(ativo, start="2016-08-01", end="2024-09-15")
Esse código extrai as cotações diárias das ações do Itaú, incluindo o preço de abertura, fechamento, máximo e mínimo de cada dia dentro do período especificado.
Para visualizar essa tabela de cotações no Jupyter Notebook, você pode usar o comando display.
display(tabela_cotacoes)
Como Funciona o Gráfico Candlestick
Agora que já temos as cotações do ativo, vamos criar o gráfico Candlestick.
Esse tipo de gráfico é excelente para visualizar a variação do preço de uma ação ao longo do tempo, mostrando claramente os valores de abertura, fechamento, máximo e mínimo de cada dia.
O gráfico de velas (candlestick) é uma maneira visual de representar as flutuações diárias de preço de um ativo. Cada vela no gráfico apresenta quatro informações principais:
- Open (abertura): O preço no início do período (geralmente o início do dia).
- Close (fechamento): O preço ao final do período.
- High (máxima): O preço mais alto registrado durante o período.
- Low (mínima): O preço mais baixo registrado durante o período.
Agora, vamos gerar o gráfico com base nas cotações e informações que extraímos.
Criando o Gráfico Cnadlestick com Python – Plotly
Vamos configurar o gráfico usando a função go.Figure. Essa função cria uma nova instância da figura onde o gráfico será desenhado, funcionando como um contêiner no qual iremos adicionar o gráfico.
Em seguida, precisamos passar uma lista de dados que será transformada em gráfico (data=[]). No nosso caso, essa lista terá uma única série de candlestick, pois desejamos gerar apenas um gráfico. No entanto, você pode adicionar múltiplas séries, caso queira.
Dentro dessa lista data, chamaremos a função go.Candlestick(), responsável por desenhar o gráfico de velas.
Essa função requer informações sobre o eixo X, além de quatro parâmetros principais para funcionar: open, close, high e low.
O eixo X é responsável por exibir as datas no gráfico, extraídas através do índice da tabela de cotações (x=tabela_cotacoes.index).
Já os demais parâmetros recebem as colunas correspondentes a cada valor na tabela de cotações:
- open=tabela_cotacoes[“Open”]: Fornece os preços de abertura de cada dia, definindo a posição inicial das velas.
- close=tabela_cotacoes[“Close”]: Fornece os preços de fechamento de cada dia, determinando onde a vela “fecha”.
- high=tabela_cotacoes[“High”]: Define os valores máximos das cotações, ou seja, o ponto mais alto que a vela atinge no dia.
- low=tabela_cotacoes[“Low”]: Define os valores mínimos das cotações, representando o ponto mais baixo que a vela atinge no dia.
Repare que, neste exemplo, os nomes dos campos da tabela coincidem com os nomes dos parâmetros.
Se na sua tabela os nomes forem diferentes, por exemplo, se “High” estiver como “Máximo”, você precisará ajustar o parâmetro correspondente, como high=tabela_cotacoes[“Máximo”].
grafico = go.Figure( data=[go.Candlestick(x=tabela_cotacoes.index, open=tabela_cotacoes["Open"], close=tabela_cotacoes["Close"], high=tabela_cotacoes["High"], low=tabela_cotacoes["Low"])] )
Depois de configurado, podemos utilizar o método show() para exibir o gráfico.
grafico = go.Figure( data=[go.Candlestick(x=tabela_cotacoes.index, open=tabela_cotacoes["Open"], close=tabela_cotacoes["Close"], high=tabela_cotacoes["High"], low=tabela_cotacoes["Low"])] ) grafico.show()
O interessante desse gráfico é que ele possui um slider logo abaixo, que permite filtrar o período que você deseja analisar. Assim, além de visualizar o gráfico, você pode interagir com ele para refinar sua análise.
Personalizando o Gráfico
Uma das vantagens de usar o Plotly é sua capacidade de criar gráficos interativos, permitindo personalizá-los conforme as nossas necessidades.
Por exemplo, podemos remover o Range Slider atualizando o layout do gráfico com a função update_layout, definindo a visibilidade do Range Slider como falsa no eixo X (xaxis_rangeslider_visible=False).
grafico = go.Figure( data=[go.Candlestick(x=tabela_cotacoes.index, open=tabela_cotacoes["Open"], close=tabela_cotacoes["Close"], high=tabela_cotacoes["High"], low=tabela_cotacoes["Low"])] ) grafico.update_layout(xaxis_rangeslider_visible=False) grafico.show()
Saiba mais em: Como Criar Gráficos no Python Utilizando o Plotly
Zoom e Filtragem
Uma funcionalidade muito interessante do Plotly é a possibilidade de interagir com o gráfico, inclusive aplicando zoom em datas específicas, o que permite visualizar os candles de maneira mais detalhada e clara.
Isso é especialmente útil para analisar eventos ou períodos de alta ou baixa nas cotações do ativo. Para aplicar o zoom, basta usar o mouse para selecionar o período desejado diretamente no gráfico.
Entendendo as Barras do Candlestick
No gráfico candlestick, cada barra (ou “candle”) representa um dia de negociação, e as cores das barras têm significados importantes:
- Verde: O preço de fechamento foi maior do que o preço de abertura, indicando uma alta no valor do ativo.
- Vermelho: O preço de fechamento foi menor que o de abertura, indicando uma queda no valor do ativo.
As “sombras” (linhas finas) acima e abaixo da barra indicam os preços máximo e mínimo atingidos pelo ativo durante o dia.
Conclusão – Como Criar Gráfico Candlestick no Python
Criar um gráfico candlestick com Python é uma maneira eficaz e simples de visualizar os movimentos de preços no mercado financeiro.
Na aula de hoje, você aprendeu a usar o Plotly para criar um gráfico candlestick interativo e acessível, que permite uma análise detalhada e personalizável das ações de um ativo.
Se você deseja explorar mais tipos de gráficos ou ajustar suas análises, o Plotly oferece diversas opções interessantes. E caso queira dominar essa e outras ferramentas do Python, conheça nosso Curso Completo Python Impressionador.
Hashtag Treinamentos
Para acessar outras publicações de Python, clique aqui!
Posts mais recentes de Python
- Descubra o poder da automação com Python com 4 códigos simples!Neste post, vamos mostrar como códigos de automação com Python que vão simplificar o seu dia a dia, automatizando tarefas comuns que consomem nosso tempo.
- Descubra as principais Funções do Python!Conheça as 10 funções do Python que são indispensáveis para todo programador! Aprenda a utilizar funções como print(), map() e open() e aprimore seus códigos!
- Orientação a objetos Python: o que é e como usarAprenda o que é programação orientada a objetos em Python, seus pilares e como aplicar na prática. Domine POO e eleve seus códigos!
Posts mais recentes da Hashtag Treinamentos
- Como surgiu a OpenAI: entenda a história completa da criadora do ChatGPT e seus impactosDescubra como surgiu a OpenAI, conheça sua transformação na gigante da inteligência artificial e entenda como essa trajetória afeta a tecnologia e os negócios!
- Connected Speech – Como Entender o Inglês Falado por NativosAprenda tudo sobre Connected Speech e entenda, de uma vez por todas, o inglês falado por nativos com mais fluência e clareza!
- 17 Novas Fórmulas Excel Úteis para o TrabalhoConheça 17 novas fórmulas Excel que serão muito úteis no seu dia a dia! Aprenda sobre as fórmulas mais recentes que aumentarão sua produtividade no trabalho!
Expert em conteúdos da Hashtag Treinamentos. Auxilia na criação de conteúdos de variados temas voltados para aqueles que acompanham nossos canais.