Postado em em 24 de agosto de 2023

Aprenda o que é a normalização de dados, por que ela é tão importante e como você pode normalizar dados no Python. Aplique esse conhecimento ao comparar ações!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Normalizar Dados no Python – Normalizando Cotações de Ações

Na aula de hoje eu vou te mostrar o que é normalização de dados, porque ela é importante e como você pode normalizar dados no Python.

Em resumo, a normalização de dados consiste em colocar todos os dados em uma mesma escala. Esse processo é extremamente útil quando queremos fazer comparações entre conjuntos de dados em escalas diferentes.

No contexto das cotações de ações, a normalização se torna uma ferramenta essencial para determinar o desempenho dos ativos. Às vezes, pode ser difícil identificar qual ação está performando melhor apenas olhando os dados brutos.

Nesta aula, vamos abordar de forma prática como você pode comparar o desempenho das ações depois de normalizar dados no Python. Além disso, vamos aprender a plotar essa normalização em um gráfico, permitindo uma análise visual mais eficiente e clara.

Para aproveitar ao máximo esta aula, é recomendado que você faça o download do material disponível, pois ele irá te guiar ao longo de todo o processo e auxiliará na assimilação do conteúdo.

Código Para Pegar Cotações do Yahoo Finance

No material disponível para download, você terá acesso a um código em Python que permite obter as cotações de ações do Yahoo Finance.

import pandas as pd
import pandas_datareader.data as pdr
import yfinance

yfinance.pdr_override()

ativos = ["ITUB3.SA", "^BVSP", "VALE3.SA", "PETR3.SA"]

data_final = "2023-06-30"
data_inicial = "2023-01-01"

tabela_cotacoes = pdr.get_data_yahoo(ativos, data_inicial, data_final)["Adj Close"]
display(tabela_cotacoes)

Para garantir o funcionamento correto desse código, é necessário ter as bibliotecas listadas nele instaladas. Se você deseja aprender como construir um código como esse e obter cotações de ações do Yahoo Finance, recomendo acessar essa aula.

Ao executar o código, ele irá retornar uma tabela com as cotações desejadas:

Tabela com os ativos

Observação: Se você não estiver usando o Jupyter Notebook, você deverá exibir a tabela com um print em vez de um display.

Normalização de Dados

Vamos usar a tabela gerada acima como exemplo. Digamos que queremos comparar o desempenho desses quatro ativos durante o primeiro semestre de 2023.

Ao observar a tabela, fica difícil de analisar qual ativo teve o melhor e o pior retorno, uma vez que seus valores estão em escalas diferentes.

Para realizar uma análise mais precisa e comparar informações em escalas diferentes, é necessário realizar o processo de normalização dos dados. Isso significa ajustar todos os valores para uma mesma base.

Existem várias maneiras de fazer isso. Nesta aula, vamos aplicar o procedimento de colocar todos os valores em uma base 1. Em outras palavras, vamos ajustar o valor inicial de todos os ativos para 1 e os subsequentes serão calculados com base nesse valor.

Dessa forma, teremos o valor inicial de todos os ativos ajustado para 1 e os valores posteriores serão normalizados em relação a essa primeira linha. Ao final, poderemos comparar os valores normalizados dos quatro ativos. Essa técnica facilitará a comparação e análise dos dados.

Como Normalizar Dados no Python

Existem diversas abordagens para normalizar dados no Python. Eu vou mostrar para vocês uma das mais simples e diretas.

Basicamente, o que nosso código irá fazer para normalizar dados no Python será dividir o valor de cada linha das colunas dos ativos pelo primeiro valor de cada um. Dessa forma, estaremos transformando todos os valores iniciais em 1, pois estaremos dividindo o valor inicial por ele próprio.

Para realizar essa normalização de forma prática e rápida, podemos adicionar o seguinte código logo após o código que gera nossa tabela:

tabela_cotacoes_norm = tabela_cotacoes / tabela_cotacoes.iloc[0]
display(tabela_cotacoes_norm)

Esse código cria uma nova variável chamada tabela_cotacoes_norm, que recebe a tabela original(tabela_cotacoes) dividida pela primeira linha da tabela (tabela_cotacoes.iloc[0]). Utilizamos a função iloc[0] do Pandas para obter o valor da primeira linha.

Ao fazer isso, o Pandas entende que queremos dividir cada linha de cada coluna pelo valor da primeira linha correspondente àquela coluna.

Em seguida, exibimos a tabela final com display(tabela_cotacoes_norm).

Tabela com os ativos normalizados em base 1

Agora, fica muito mais fácil visualizar os dados na tabela, uma vez que todos os valores estão normalizados e começam em 1. Podemos facilmente analisar o desempenho de cada ativo ao longo do semestre, comparando os valores entre eles.

Com essa normalização, podemos concluir que, no período analisado, a Petrobrás teve um melhor desempenho entre os quatro ativos, enquanto a Vale teve o pior desempenho.

E para melhorar ainda mais, é possível exibir essa tabela normalizada na forma de um gráfico. Para isso, basta executar o seguinte código:

tabela_cotacoes_norm.plot()
Gráfico com os ativos normalizados

Com o gráfico, nossa análise fica ainda mais visual e intuitiva. Podemos ver claramente os momentos de queda e ascensão de cada ativo e compará-los ao longo de todo o período.

Conclusão – Normalizar Dados no Python

Nessa aula, você aprendeu como normalizar dados no Python, a importância desse processo e como fazer isso de forma rápida e prática, utilizando apenas algumas linhas de código.

Além disso, mostrei como exibir esses dados na forma de um gráfico, o que otimiza sua análise e comparação entre eles.

Agora, além de saber como obter cotações de ações, você também sabe como normalizar os dados dessas cotações no Python e obter uma análise ainda mais precisa do mercado financeiro.

E caso tenha interesse em aprofundar seus conhecimentos em análise de dados, recomendo que acesse nosso Minicurso Gratuito de Análise de Dados! É uma ótima oportunidade para expandir suas habilidades nesse campo.

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?