Como o McGinley Dynamic é Calculado
Resposta direta: a regra de atualização do McGinley Dynamic
O McGinley Dynamic é calculado atualizando um valor de média móvel a cada novo intervalo de tempo, usando o valor anterior do McGinley e o preço atual. Em sua forma comum, a atualização pode ser escrita como:
McGinley(i) = McGinley(i−1) + (P(i) − McGinley(i−1)) / [N · (P(i)/McGinley(i−1))^4]
Onde:
- i é o índice de tempo atual (por exemplo, o próximo candle/barra).
- P(i) é o preço de entrada selecionado no tempo i (geralmente o fechamento, mas pode ser outro campo de preço consistente).
- McGinley(i−1) é o valor do McGinley Dynamic calculado anteriormente.
- N (frequentemente chamado de “período” ou “comprimento”) controla a capacidade de resposta.
- ( )^4 significa a quarta potência.
Esta definição é um mecanismo (uma atualização matemática determinística), não uma garantia de resultados de negociação.
Mecanismo ou definição: o que a fórmula está fazendo
Uma média móvel padrão (como uma média móvel simples) é atualizada com um fator de suavização fixo. O McGinley Dynamic, em vez disso, usa uma etapa de suavização que se adapta à distância entre o preço e a média anterior.
Na regra de atualização acima:
- O termo (P(i) − McGinley(i−1)) representa a distância entre o preço atual e o valor anterior do McGinley.
- O denominador N · (P(i)/McGinley(i−1))^4 dimensiona esse ajuste de distância.
Assim, quando P(i) está relativamente próximo de McGinley(i−1), a razão P(i)/McGinley(i−1) está mais próxima de 1, e o efeito de adaptação é menor. Quando P(i) está mais distante, a razão se afasta de 1, e a quarta potência amplifica o efeito. Isso faz com que a atualização se comporte como uma média que muda sua “velocidade” dependendo de quão esticado o preço atual está em relação à média atual.
Parâmetros e entradas que você deve escolher
Para calcular você mesmo, você precisa definir quatro coisas:
- Série temporal e intervalo de tempo: Você está calculando em barras de 1 minuto, barras de 1 hora, barras diárias, etc.? A sequência deve ser consistente.
- Série de preços de entrada P(i): Escolha um campo de preço (por exemplo, fechamento a fechamento). Sua escolha deve ser consistente em todos os i.
- N (comprimento/período): Escolha um valor numérico. Valores diferentes de N mudam a capacidade de resposta.
- Valor inicial McGinley(0): A fórmula usa o valor anterior do McGinley, então você precisa de um ponto de partida. Muitas implementações definem o primeiro valor do McGinley como o primeiro preço disponível ou como uma estimativa inicial de média móvel; você deve espelhar o método que está tentando replicar.
Evidência ou exemplo: um cálculo passo a passo com suposições explícitas
Como o McGinley Dynamic é determinístico dadas as entradas, você pode verificar seu entendimento fazendo uma ou mais atualizações manualmente.
Suponha o seguinte (estas são suposições de exemplo para demonstração, não alegações de mercado):
- Você calcula em uma série temporal discreta i = 1, 2, 3, …
- Você usa P(i) como o preço selecionado (digamos, “fechamento”), medido nas mesmas unidades a cada etapa.
- Escolha N = 10.
- Defina um valor inicial McGinley(0) = P(0).
Agora calcule a próxima etapa, i = 1:
- Leia P(1).
- Pegue McGinley(0) da regra inicial.
- Calcule a razão R = P(1) / McGinley(0).
- Calcule o denominador D = N · R^4.
- Calcule a atualização:
- McGinley(1) = McGinley(0) + (P(1) − McGinley(0)) / D.
Repita para i = 2 usando o McGinley(1) recém-calculado.
Notas importantes para verificação independente
- As unidades devem ser consistentes: como você divide P(i) por McGinley(i−1), ambos devem representar o mesmo tipo de medição de preço.
- Evite zeros: se McGinley(i−1) for zero, a razão e a quarta potência se tornam indefinidas. Implementações práticas dependem de dados de preço que normalmente permanecem diferentes de zero, mas você ainda deve estar ciente desse modo de falha matemática.
- Existem diferenças de implementação: duas plataformas podem mostrar “McGinley Dynamic” mas usar convenções diferentes (por exemplo, como inicializam o primeiro valor, ou se aplicam a fórmula exatamente como acima). Sua verificação independente deve confirmar a inicialização e o tratamento de N.
Limitações e riscos: quando o cálculo pode enganar ou se comportar inesperadamente
O cálculo do McGinley Dynamic não é uma garantia de qualidade. Mesmo que a regra de atualização seja precisa, seu uso pode ser limitado por suposições de modelagem.
1) Sensibilidade às escolhas (entradas e inicialização)
Como a fórmula usa tanto P(i) quanto McGinley(i−1), o caminho do indicador pode mudar se você:
- escolher um preço de entrada diferente (fechamento vs. prezo típico),
- escolher um N diferente, ou
- começar de um McGinley(0) diferente.
Isso não é um erro; é uma consequência da fórmula adaptativa.
2) Comportamento em movimentos bruscos
O fator de adaptação depende de (P(i)/McGinley(i−1))^4. Em uma mudança repentina de regime onde P(i) se move bruscamente em relação a McGinley(i−1), a quarta potência pode fazer o denominador mudar rapidamente, produzindo atualizações que podem:
- atrasar em relação ao novo nível (ainda “alcançando”), ou
- reagir de uma forma que parece não linear em comparação com médias de suavização fixa.
Para verificação, você pode testar recalculando a sequência em torno de um grande salto e vendo o quanto o denominador muda.
3) Casos extremos matemáticos
Modos de falha potenciais incluem:
- Razões indefinidas se McGinley(i−1) for zero.
- Instabilidade numérica se a implementação usar baixa precisão ou se os valores se tornarem extremamente grandes/pequenos.
Mesmo que você nunca encontre esses casos em dados típicos, entendê-los ajuda a avaliar uma implementação fielmente.
4) Risco de interpretação
Um valor de indicador (ou sua inclinação) não é automaticamente uma explicação completa do comportamento do mercado. O McGinley Dynamic é uma transformação da sua série de preços escolhida em uma linha adaptativa suavizada; ele não identifica por si só causalidade, direção de preços futuros ou ações ideais.
Verificação e próxima pergunta: como verificar se você calculou corretamente
Para verificar seu próprio cálculo, use um fluxo de trabalho simples e reproduzível:
- Escreva sua fórmula exata e confirme se ela corresponde à definição que você está usando (especialmente o denominador e o expoente).
- Registre seu N escolhido, seu P(i) selecionado e sua regra de inicialização para McGinley(0).
- Calcule as primeiras etapas i = 1, 2, 3 manualmente (ou em uma planilha) e verifique a consistência com a implementação que você deseja replicar.
- Se os resultados diferirem, compare os detalhes da implementação primeiro: inicialização, indexação e se a fórmula é aplicada com o mesmo campo de preço.