Bandas de Bollinger com Python
Como Pythonista fanático, estou sempre animado para explorar novas técnicas e ferramentas que podem nos ajudar a entender melhor o mundo das finanças. Hoje, gostaria de apresentar a vocês as Bandas de Bollinger, um indicador estatístico popular usado na análise técnica de ações.
O que são Bandas de Bollinger?
As Bandas de Bollinger foram desenvolvidas por John Bollinger em 1980 como uma ferramenta baseada em volatilidade. Elas servem para identificar condições de sobrecompra e sobrevenda nos mercados financeiros. As bandas consistem em três componentes principais:
1. Média Móvel (Moving Average, MA): uma média móvel de curto prazo que atua como base para a banda.
2. Banda Superior: Um nível acima da MA, que representa o limite superior da volatilidade normal.
3. Banda inferior: Um nível abaixo da MA, que representa o limite inferior da volatilidade normal.
Como usar bandas de Bollinger em Python
Para demonstrar como usar as Bandas de Bollinger em Python, aproveitaremos a biblioteca yfinance para obter dados de ações. Em seguida, vamos calcular as bandas usando uma média móvel simples. Abaixo faremos um código demonstrativo. Primeiro, importamos os pacotes que usaremos (você precisa instalá-los para poder usá-los) e obtemos alguns dados usando a biblioteca yfinance:
import yfinance as yf
import pandas as pd
import matplotlib.pyplot as plt
# Obtenha dados de ações. Vamos usar dados das ações do Google (GOOGL, Alphabet Inc.) do Yahoo Finance
data_inicio = "2020-03-20"
data_fim = "2025-03-20"
ticker = "GOOGL"
dados = yf.download(ticker, start=data_inicio, end=data_fim)
Depois, com a ajuda da biblioteca Pandas, calculamos a média móvel com um tamanho de janela de 20 dias e o desvio padrão dos retornos:
# Calcule da média móvel com um tamanho de janela de 20 dias
dados['SMA'] = dados['Close'].rolling(window=20).mean()
# Calcule o desvio padrão dos retornos
dados['StdDev'] = dados['Close'].rolling(window=20).std()
Em seguida, calculamos as bandas superior e inferior. Veja como o cálculo é simples:
# Calcule a banda superior e a Inferior
dados['Banda Superior'] = dados['SMA'] + 2 * dados['StdDev']
dados['Banda Inferior'] = dados['SMA'] - 2 * dados['StdDev']
Visualização e Interpretação dos resultados
Para entender os resultados, primeiro precisamos plotá-los com o auxílio do Matplotlib:
# Plote os gráficos para as Bandas de Bollinger
plt.figure(figsize=(12,6))
plt.plot(dados['Close'], color='gray', linewidth=3, label='Preço de Fechamento')
plt.plot(dados['Banda Superior'], color='red', linewidth=3, label='Banda Superior')
plt.plot(dados['Banda Inferior'], color='springgreen', linewidth=3, label='Banda Inferior')
plt.plot(dados['SMA'], color='blue', linewidth=3, label='Média Móveis')
plt.title('Bandas de Bollinger Google (GOOGL)')
plt.xlabel('Data')
plt.ylabel('Preço ($)')
plt.legend(loc='upper left')
plt.show()
Abaixo mostramos a figura obtida:

Ao analisar os dados das ações usando Bandas de Bollinger, podemos procurar estes indicadores-chave:
1. Crossovers: quando os preços tocam ou cruzam acima da banda superior, é um sinal de alta. Por outro lado, quando eles tocam ou cruzam abaixo da banda inferior, é um sinal de baixa.
2. Reversão à Média: as Bandas de Bollinger são projetadas para identificar condições de sobrecompra e sobrevenda, medindo a volatilidade. Quando os preços se afastam da média (SMA), isso pode indicar um período de volatilidade. Os preços podem voltar para a média e podemos nos beneficiar antecipando esse movimento.
3. Largura da banda: uma banda mais larga indica maior volatilidade, enquanto uma banda mais estreita indica diminuição da volatilidade.
Conclusões
Bandas de Bollinger são mais uma ferramenta de análise facilmente implementada com Python e que você deve ter no seu kit para prever tendências no mercado financeiro. Ao incorporar as Bandas de Bollinger em seu kit para análise de ações, você obterá uma compreensão mais profunda das tendências do mercado e tomará decisões de investimento mais informadas.