Como o ATR pode ser testado retrospectivamente de forma responsável?
O que é o ATR, antes de você testá-lo retrospectivamente
O Average True Range (ATR) é uma estatística de volatilidade baseada no true range, que reflete o quanto o preço se move entre períodos, incluindo gaps. O ATR suaviza essa medida de true range ao longo de um comprimento de janela escolhido. É melhor tratá-lo como uma escala (por exemplo, “tamanho típico do movimento”) do que como um sinal independente de compra/venda.
Um backtest responsável começa sendo explícito sobre o que você está testando: o cálculo do ATR em si (correção do pipeline de dados), como o ATR é usado dentro de um conjunto de regras (lógica de decisão) e como os atritos de negociação mudam os resultados realizados. Os valores históricos do ATR são calculados a partir da série de preços histórica; eles não são previsões.
Mecânica: defina dados, suposições e cálculos
Comece especificando as entradas e definições:
- Série de preços: Escolha os dados de preço que você usará (comumente OHLC). Documente os campos exatos.
- Definição de true range: Use o conceito padrão de true range para que os gaps sejam incluídos por meio da referência do “fechamento anterior”.
- Janela e suavização do ATR: Declare o comprimento da janela e o método de suavização que você assume. Escolhas diferentes alteram os valores do ATR.
- Tratamento de fuso horário e sessão: Se seu conjunto de dados abranger sessões com horários de negociação diferentes, defina como você trata os limites.
Em seguida, defina o ambiente de backtest:
- Geração de sinal vs. tempo de avaliação: Se uma regra usa o ATR, decida se o ATR no tempo t pode ser usado para agir no tempo t ou apenas no tempo t+1. Isso evita look-ahead acidental.
- Lógica de posição e dimensionamento: Mesmo que você evite nomear uma estratégia, especifique o que acontece quando sua regra solicita uma ação (por exemplo, se você assume entrar na abertura do próximo candle).
- Custos e modelo de execução: Inclua pelo menos um modelo de fricção genérico (comissões/taxas e um proxy de spread ou slippage). Use suposições claramente declaradas e aplicadas de forma consistente.
Uma etapa de verificação útil é reproduzir o ATR do seu conjunto de dados em uma pequena janela de amostra. Se o seu ATR calculado não corresponder a uma implementação independente em que você confia, corrija o pipeline antes de interpretar os resultados.
Evidências e design de exemplo: controles de viés e verificações fora da amostra
Você pode tornar os backtests de ATR mais confiáveis separando a exploração dentro da amostra da avaliação fora da amostra.
- Divida os dados
- Crie um período de treinamento cronológico para escolhas de parâmetros (por exemplo, comprimento da janela do ATR ou limites de regras).
- Mantenha um período posterior como conjunto de teste.
-
Teste walk-forward Em vez de uma divisão estática, treine repetidamente no passado e teste no próximo segmento. Isso reduz o risco de que sua conclusão dependa de uma única janela de tempo afortunada.
-
Controle o viés de seleção Se você tentar muitas variações (diferentes janelas, limites ou prazos), o resultado de melhor aparência pode ser um artefato. Acompanhe o número de tentativas e prefira configurações pré-definidas em vez de “ajustar até funcionar”.
-
Use verificações de robustez em diferentes regimes Execute a mesma configuração testada em diferentes condições de mercado, como períodos de maior e menor volatilidade. O comportamento relacionado ao ATR pode mudar quando a estrutura de volatilidade muda.
Limitação material / modo de falha para planejar: Se você calcular inadvertidamente o ATR usando informações do candle que você está tentando negociar “no momento”, você criará um viés de look-ahead. Outro modo de falha é que os custos de transação realistas podem eliminar o desempenho aparente.
Limitações e riscos: o que os backtests de ATR podem e não podem lhe dizer
- Escala de volatilidade ≠ direção: O ATR mede o tamanho do movimento, não se o preço vai subir ou cair.
- Sensibilidade a custos: Os backtests frequentemente subestimam slippage, spreads e atrasos de execução. Com margens apertadas, esses fatores podem dominar.
- Não estacionariedade: A dinâmica de preços muda. As relações históricas do ATR com os resultados não garantem similaridade futura.
- Dependência de suposições: Os resultados dependem da janela de cálculo escolhida, suavização, alinhamento de timestamps e suposições de execução.
Verificação ou próxima pergunta: o que verificar de forma independente
Para verificar seu backtest de forma responsável, verifique os seguintes itens antes de tirar qualquer conclusão:
- Correção do cálculo do ATR em uma amostra pequena e inspecionável manualmente.
- Alinhamento de tempo para confirmar que nenhuma informação futura é usada.
- Reprodutibilidade: a versão do seu conjunto de dados, parâmetros e lógica de código devem ser documentados para que outra pessoa possa executar o mesmo pipeline novamente.
- Disciplina fora da amostra: evite relatar apenas a melhor execução única de muitas tentativas.
Se quiser se aprofundar, considere como você define a lógica de regra que usa o ATR (tempo de ação, limites e como você modela os custos). Mesmo assim, trate os resultados como condicionais às suas suposições, em vez de uma previsão confiável.