Como Criar Gráfico Candlestick no Python
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 yfinanceO 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
- Curso Básico de Python: Saia do Zero em 10 Aulas GrátisAprenda com o curso básico de Python gratuito da Hashtag: 10 aulas práticas, exercĂcios e projetos reais para sair do zero em programação.
- Agentes RAG com Python: como criar um assistente de IAAprenda a criar Agentes RAG com Python do zero: LangChain, FAISS e OpenAI para montar um assistente de IA que responde com base nos seus documentos.
- 25 Tipos de Gráficos em Python: Guia Completo com CódigoAprenda a criar os principais tipos de gráficos em Python com Plotly: barras, pizza, mapas e mais, com código pronto para copiar e usar.
Posts mais recentes da Hashtag Treinamentos
- Planilha de Controle de Notas Fiscais no Excel [Grátis]Baixe a planilha de controle de notas fiscais no Excel grátis: calcule ISS e retenções, veja o que está em aberto e gere a cobrança de cada nota de serviço.
- Qual IA usar na empresa: ChatGPT, Claude ou Perplexity?Qual IA usar na empresa: veja as diferenças entre ChatGPT, Claude e Perplexity e quando cada um rende mais em cada área da sua equipe.
- Apostilas Gratuitas em PDF: Excel, Power BI, Python e IABaixe apostilas gratuitas em PDF de Excel, Power BI, Python, Claude e agentes de IA, com exercĂcios e gabarito. Escolha a sua e comece hoje.








