Utilizando Plotly para ações da bolsa de valores

Alex Barros
3 min readJan 11, 2021

--

Já se perguntou como os grandes sites criam os gráficos interativos de ações?

gráfico com cotações do Facebook construído com o Plotly

Plotly para visualização de gráfico de área

Plotly é um dos pacotes mais usados para visualização interativa de dados. Conseguimos produzir visuais profissionais com pouco código. Incluem categorias como gráficos básicos, estatísticos, Machine Learning e de finanças.

Nesse exemplo, vamos mostrar a construção de um gráfico de área para acompanharmos cotações de empresas listadas na bolsa de valores.

Para quem estiver utilizando o Google Colab, faça o upgrade do Plotly e em seguida restart o ambiente de execução para evitar o bug que deixa o conteúdo do gráfico em branco.

Faça isso para evitar um bug conhecido no Colab

Depois importamos alguns pacotes que serão utilizados nesse artigo e em outros sobre visualização de ações.

Incluímos o pandas para processamento dos dados, o DataReader para carregar os dados de ações, Datetime para trabalhar com datas e por último o plotly e suas dependências.

Carregando cotações de fechamento

No trecho acima definimos a data de inicio na variável start e a data final (end)como a data de hoje. Escolhi 4 ações que gosto de acompanhar, o web.DataReader é capaz de consultar dados de diversas fontes, escolhermos o Yahoo para cotações.

Com o código abaixo geramos nosso primeiro gráfico de área com as cotações:

Código do Gráfico de área para cotações do Facebook

Ao observar o gráfico, percebemos que os dados coletados estão com algum problema.

Plot de gráfico de área com NaN nos dados

Explorando os dados, identificamos que algumas datas não ocorreram pregões, geralmente em feriados e a API do Yahoo está enviando NaN (Not a Number) para o dataframe:

Eliminaremos essas linhas com Not a Number através da função dropna, para não alterar o dataframe original, realizamos uma cópai dos dados com o método copy( );

Eliminando os dados NaN

Na verdade, é normal necessitarmos realizar alguma operação nos dados coletados, dificilmente conseguimos utiliza-los sem nenhum tipo de processamento ou ajuste.

Por último, realizamos algumas customizações no gráfico para permitir a realização de zoom e outras filtragens:

O novo gráfico ganha alguns recursos, ao clicar nos botões do lado superior esquerdo você consegue delimitar o intervalo de visualização das cotações:

Filtro com cotações dos últimos 12 meses.

O código do nosso gráfico está disponível no github, em https://github.com/aprendadatascience/projects/blob/master/plotly_financial_area_chart.ipynb

Tente acessá-lo e testá-lo com cotações de outras empresas. As do Brasil precisam de ".SA" após o código da Bovespa.

Qualquer dúvida entre em contato no instagram @aprendadatascience

Obrigado!

--

--

Alex Barros
Alex Barros

Written by Alex Barros

Engenheiro da Computação. Mestre e Doutorando em Computação Aplicada. Coordenador do Escritório de Projetos e Processos no TRT8.

No responses yet