Como os Canais de Keltner São Calculados
Resposta direta
Os Canais de Keltner são calculados desenhando três linhas ao redor do preço: uma linha central que é tipicamente uma média móvel, e duas bandas externas que são deslocadas da linha central por um múltiplo do Average True Range (ATR). O requisito principal são dados de preço em série temporal para que você possa calcular tanto a média móvel quanto o ATR, e então combiná-los usando parâmetros fixos (períodos e um multiplicador).
Mecanismo e definição
Componentes
- Linha central (base): geralmente uma média móvel da série de preços escolhida (por exemplo, preços de fechamento). Uma média móvel “suaviza” os dados calculando a média das últimas N observações.
- Medida de volatilidade: ATR estima o movimento médio do preço ao longo de uma janela de retrospectiva. O ATR usa o True Range (TR) a cada período, que reflete o quanto o preço se moveu de uma forma que leva em conta gaps em relação ao fechamento anterior.
- Construção das bandas: as bandas superior e inferior são construídas adicionando e subtraindo uma distância baseada na volatilidade da linha central.
Fórmula passo a passo (forma genérica)
Seja:
- (P_t) o preço de entrada selecionado no tempo (t) (comumente o fechamento).
- (MA_t) a média móvel de (P_t) ao longo de (m) períodos (o período da “base”).
- (ATR_t) o ATR no tempo (t) ao longo de (n) períodos.
- (k) o multiplicador das bandas (um fator de escala para a largura dos canais).
Então, as linhas do Canal de Keltner são tipicamente:
- Banda superior: (Upper_t = MA_t + k \cdot ATR_t)
- Linha central: (Middle_t = MA_t)
- Banda inferior: (Lower_t = MA_t - k \cdot ATR_t)
Como o ATR é calculado (quais dados você precisa)
Para calcular o ATR, você primeiro calcula o True Range (TR_t). Para cada período (t), o True Range é baseado em:
- máxima atual (H_t)
- mínima atual (L_t)
- fechamento anterior (C_{t-1})
Uma definição comum é: [ TR_t = \max\big(H_t - L_t,\ |H_t - C_{t-1}|,\ |L_t - C_{t-1}|\big) ] Então, o ATR é tipicamente uma média de (TR_t) ao longo de (n) períodos (frequentemente usando um método de média móvel como a suavização estilo Wilder, mas diferentes implementações podem usar métodos de média diferentes). Isso significa que dois provedores podem mostrar valores de ATR diferentes mesmo com o mesmo (n) se a suavização deles for diferente.
A escolha da média móvel importa
Mesmo dentro da ideia de “a base é uma média móvel”, existem múltiplas escolhas:
- qual série de preços é usada (fechamento vs. preço típico vs. outras combinações)
- o tipo de média móvel (simples vs. exponencial, etc.)
- como a média móvel é inicializada no início do conjunto de dados
Essas escolhas mudam (MA_t), o que desloca todo o canal para cima ou para baixo.
Evidência ou exemplo que você pode reproduzir
Abaixo está uma configuração numérica reproduzível. Ela não usa preços ao vivo; mostra as dependências.
Premissas
- Passo de tempo: uma barra por período (por exemplo, um candle).
- Série de entrada por período (t): (H_t, L_t, C_t).
- A linha central usa uma média móvel dos fechamentos: (MA_t = SMA_m(C_t)) (escolha (m)).
- O ATR é calculado a partir de (TR_t) e calculado a média ao longo de (n) períodos.
- O multiplicador (k) é fixo.
Fluxo de cálculo
- Calcule o TR para cada período (t\ge 2):
- (TR_t = \max(H_t-L_t, |H_t-C_{t-1}|, |L_t-C_{t-1}|))
- Calcule o ATR em cada período onde houver dados suficientes:
- (ATR_t = \text{média do } TR \text{ ao longo dos últimos } n \text{ períodos})
- Calcule a linha central:
- (MA_t = \text{média móvel de } C \text{ ao longo de } m \text{ períodos})
- Calcule as bandas:
- (Upper_t = MA_t + k\cdot ATR_t)
- (Lower_t = MA_t - k\cdot ATR_t)
O que você deve verificar ao comparar resultados
Se você implementar isso em uma planilha ou script e comparar com uma ferramenta gráfica, as incompatibilidades comuns vêm de:
- usar um preço diferente para a base
- usar um método de média do ATR diferente (média simples vs. suavização estilo Wilder)
- um deslocamento do ATR aplicado em um ponto diferente no tempo (por exemplo, se (ATR_t) usa a barra atual ou termina na barra anterior)
- definições diferentes de true range com tratamento especial para dados ausentes
Limitações e modos de falha
1) Convenções diferentes produzem canais diferentes
Os Canais de Keltner não são uma fórmula universal única com um conjunto fixo de parâmetros. A estrutura é consistente (base ± ATR escalado), mas as implementações podem diferir em:
- preço da base (fechamento vs. outros)
- tipo de média móvel
- método de suavização do ATR
- alinhamento e inicialização das barras
Portanto, se duas fontes exibem bandas diferentes, isso pode ser devido a convenções de cálculo em vez de valores “incorretos”.
2) Períodos iniciais são instáveis ou indefinidos
No início do conjunto de dados, você pode não ter barras suficientes para calcular:
- uma média móvel completa ao longo de (m) períodos
- um ATR completo ao longo de (n) períodos
Muitas ferramentas gráficas geram valores parciais, atrasam a saída ou inicializam as médias de forma diferente. Qualquer comparação deve focar na região onde tanto (MA_t) quanto (ATR_t) estão totalmente formados.
3) A largura do canal reflete volatilidade, não direção
Embora as bandas reajam à volatilidade, elas não “preveem” resultados inerentemente. Uma banda mais larga significa que a medida de volatilidade é maior; isso não indica em qual direção o preço se moverá.
4) A qualidade dos dados e a construção das barras afetam TR e ATR
O ATR depende de (H_t), (L_t) e do fechamento anterior (C_{t-1}). Se seus dados de entrada tiverem:
- máximas/mínimas ausentes ou corrigidas
- diferentes cortes de sessão
- mudanças de fuso horário
então (TR_t) muda, o que altera o ATR e, portanto, a largura do canal.
Verificação e próxima pergunta
Para verificar seu próprio cálculo, escolha um conjunto de dados e escreva explicitamente suas convenções: a base (qual média móvel, qual série de preços e (m)), o método do ATR (definição de TR e método de média ao longo de (n)) e o multiplicador (k). Então calcule o TR, calcule o ATR, calcule a base e, finalmente, calcule (Upper_t) e (Lower_t).
Se quiser ir mais longe, uma próxima pergunta útil é como mudar (m), (n) ou (k) altera a capacidade de resposta e a largura das bandas. Isso pode ser testado executando novamente os mesmos dados com diferentes valores de parâmetros e observando a rapidez com que (Upper_t) e (Lower_t) se expandem ou contraem ao longo do tempo.