Pandas para Manipulação de Dados Financeiros

Pandas para Manipulação de Dados Financeiros

Domine o Mercado com Precisão

O Pandas se destaca como a biblioteca Python mais poderosa para manipulação de dados financeiros, porque oferece recursos abrangentes para organizar, analisar e visualizar dados de forma eficiente e precisa.

Desbloqueando o Potencial dos Seus Dados

Com o Pandas, você pode importar dados de diversas fontes, como arquivos CSV, Excel, bancos de dados e APIs financeiras, assim centralizando todas as informações em um único ambiente de trabalho. Essa centralização facilita a integração de dados de diferentes origens, permitindo análises mais completas e precisas.

O Pandas oferece uma ampla gama de funcionalidades para manipulação de dados financeiros. Por exemplo, podemos utilizar métodos como read_csv() e read_excel() para carregar conjuntos de dados financeiros. Assim sendo, o Pandas fornece recursos para limpeza e preparação de dados, como dropna() e fillna(), essenciais para lidar com valores ausentes em conjuntos de dados financeiros.

Retornos Diários

Considere o seguinte exemplo de código, onde utilizamos o Pandas para calcular os retornos diários de uma série temporal de preços de ações, utilizadno o método pct_change():

import pandas as pd
import io
import requests
url = 'https://dropstech.org/wp-content/uploads/2024/04/petrobras2022.2023.csv'
dados = requests.get(url).content
# Carregar dados de preços de ações
petrobras = pd.read_csv(io.StringIO(dados.decode('utf-8')))

# Calcular retornos diários
petrobras['Retorno'] = petrobras['Preço'].pct_change()

# Visualizar os primeiros registros do DataFrame
print(petrobras.head())

Média Móvel Exponencial no Mercado Financeiro

A Média Móvel Exponencial (MME) é um indicador técnico amplamente utilizado na análise de dados financeiros. Porque oferece aos traders a capacidade de identificar tendências e padrões de preços de forma mais rápida e precisa do que a Média Móvel Simples.

A MME dá mais importância aos preços mais recentes, mesmo que considerando todos os preços do período escolhido. Isso significa que é capaz de capturar tendências recentes mais rapidamente.

Por exemplo, se os preços de uma ação estão subindo ao longo do tempo, a MME será maior do que se os preços estivessem caindo. Isso pode ajudar os traders a identificar se é um bom momento para comprar ou vender uma determinada ação.

A MME é calculada usando a função ewm do pandas. Aqui está um exemplo de como você pode calcular a MME para uma coluna de valores em um DataFrame do pandas:

import pandas as pd

# Calculando a MME para a coluna 'Close' com um período de 10 dias
periodo = 10
petrobras['MME10'] = petrobras['Close'].ewm(span=periodo, min_periods=periodo, adjust=False).mean()

Índice de Força Relativa (RSI)

O RSI, um indicador de momentum, mede a velocidade e a magnitude das mudanças recentes nos preços. Varia de 0 a 100 e normalmente é usado para identificar condições de sobrecompra e sobrevenda em um ativo. Um RSI acima de 70 indica que o ativo está sobrecomprado, sugerindo uma possível reversão para baixo, enquanto um RSI abaixo de 30 indica que o ativo está sobrevendido, sugerindo uma possível recuperação do ativo.

O cálculo do RSI envolve a média das variações positivas e negativas dos preços de fechamento ao longo de um determinado período de tempo. Com o fim de calcular o RSI utilizando o Pandas segue o codigo abaixo:

# Definir o período de lookback para o cálculo do RSI
periodo = 14

# Calcular as variações diárias dos preços de fechamento
petrobras['Variação'] = petrobras['Close'].diff()

# Calcular o ganho médio e a perda média
petrobras['Ganho'] = petrobras['Variação'].apply(lambda x: x if x > 0 else 0)
petrobras['Perda'] = petrobras['Variação'].apply(lambda x: -x if x < 0 else 0)
petrobras['Ganho Médio'] = petrobras['Ganho'].rolling(window=periodo).mean()
petrobras['Perda Média'] = petrobras['Perda'].rolling(window=periodo).mean()

# Calcular o RSI
rs = petrobras['Ganho Médio'] / petrobras['Perda Média']
petrobras['RSI'] = 100 - (100 / (1 + rs))

# Imprimir as últimas linhas dos dados, incluindo o RSI
print(petrobras.tail())

Bandas de Bollinger

As Bandas de Bollinger são um indicador de volatilidade que consistem em uma média móvel simples (SMA) e duas bandas de desvio padrão acima e abaixo da SMA. As bandas se expandem e contraem conforme a volatilidade do mercado aumenta ou diminui. Os traders geralmente usam as Bandas de Bollinger para identificar oportunidades de compra quando o preço atinge a banda inferior e oportunidades de venda quando o preço atinge a banda superior. Uma ruptura das bandas também pode ser interpretada como um sinal de mudança na direção do mercado.

O cálculo das Bandas de Bollinger em síntese envolve a média móvel simples (SMA) dos preços de fechamento e duas bandas que representam desvios padrão acima e abaixo da SMA. Aqui está como você pode calcular as Bandas de Bollinger usando pandas:

# Definir o período de lookback para o cálculo das Bandas de Bollinger
periodo = 20

# Calcular a média móvel simples (SMA)
petrobras['SMA'] = petrobras['Close'].rolling(window=periodo).mean()

# Calcular o desvio padrão
petrobras['Desvio Padrão'] = petrobras['Close'].rolling(window=periodo).std()

# Calcular as bandas de Bollinger
petrobras['Banda Superior'] = petrobras['SMA'] + 2 * petrobras['Desvio Padrão']
petrobras['Banda Inferior'] = petrobras['SMA'] - 2 * petrobras['Desvio Padrão']

# Imprimir as últimas linhas dos dados, incluindo as Bandas de Bollinger
print(petrobras.tail())

Fontes:


Comments

Deixe um comentário