Como a SMA pode ser testada retrospectivamente de forma responsável?
Defina a SMA e exatamente o que está sendo testado
O backtesting da Média Móvel Simples (SMA) testa uma regra que transforma dados de preço em uma média calculada e, em seguida, avalia como uma regra de decisão escolhida se comporta quando essa média está disponível. Mesmo que você não transforme a SMA em um “sinal de negociação”, ainda precisa especificar a mecânica que está avaliando: a fórmula da SMA, o período de tempo e a frequência de amostragem (por exemplo, fechamentos diários versus barras intradiárias).
Uma definição responsável começa com premissas escritas. Exemplos de premissas que você deve tornar explícitas são: qual série de preços você usa (fechamento, preço típico ou outra definição), o que “barra” significa no seu conjunto de dados e o que o comprimento da janela da SMA representa nessa unidade de tempo. Se você alterar qualquer uma dessas escolhas posteriormente, não estará mais testando a mesma ideia.
Use regras de dados que correspondam a como as decisões teriam sido tomadas
Os backtests tornam-se não confiáveis quando o conjunto de dados inclui informações que não seriam conhecidas no momento da decisão. Um modo de falha comum é o viés de olhar para frente: usar preços ou valores calculados que implicitamente incluem dados futuros. Para a SMA, normalmente você quer que o valor da SMA no tempo t seja calculado apenas com dados disponíveis até t (ou até t-1 se sua decisão for assumida como ocorrendo na abertura da barra).
Também controle a consistência dos dados. Se você reamostrar, interpolar, ajustar para ações corporativas (quando aplicável) ou unir múltiplas fontes, os resultados do backtest podem mudar. A prática responsável é definir um pipeline de pré-processamento e mantê-lo fixo em todos os experimentos.
Inclua custos, slippage e premissas de execução
Mesmo em backtests educacionais, você deve modelar custos e premissas de execução, pois eles frequentemente dominam os resultados. Fatores variáveis incluem spread/taxas, cronogramas de comissão, slippage e a diferença entre os preços observados nas barras e o preço que você realmente conseguiria obter.
Declare premissas como: como você traduz o timing baseado na SMA em um momento de execução (fim da barra versus próxima barra), se você assume que as negociações ocorrem a preços de bid/ask ou a preços médios, e como você trata execuções parciais. Se você não incluir custos, a classificação entre variantes pode ser enganosa, pois pequenas mudanças no timing podem parecer lucrativas apenas em um mundo sem fricções.
Controle o overfitting usando verificações de viés e testes fora da amostra
Backtesting responsável não é apenas “rodar uma vez e olhar os retornos”. Você precisa de controles de viés que separem a exploração da avaliação.
Comece com uma divisão em blocos ou ordenada por tempo: use um período inicial para escolher parâmetros (por exemplo, o comprimento da janela da SMA ou outros limites de regra que você possa combinar com a SMA), depois mantenha um período posterior completamente intocado para avaliação. Se você testar muitos valores de parâmetros e selecionar o melhor com base nos mesmos dados que avaliará posteriormente, o backtest pode superestimar o desempenho.
Em seguida, adicione verificações fora da amostra que reflitam a incerteza real. Por exemplo:
- Repita o processo com múltiplas janelas de teste não sobrepostas (avançando progressivamente).
- Tente testes de robustez onde você perturba levemente o conjunto de dados (por exemplo, pequenas mudanças na frequência de amostragem) e veja se as conclusões colapsam.
- Use conceitualmente uma avaliação ciente de regime (por exemplo, compare o comportamento durante condições de tendência versus condições de reversão à média), mas sempre mantenha as mesmas regras de dados e a mesma lógica de janela de avaliação.
Teste limitações e modos de falha, não apenas resultados principais
Relações históricas não estabelecem resultados futuros. Para backtests baseados em SMA, limitações materiais e modos de falha frequentemente incluem:
- Mudança de regime: a SMA funciona de forma diferente quando os mercados estão em tendência versus quando revertem à média.
- Sensibilidade a parâmetros: as conclusões podem depender de um comprimento de janela que por acaso se ajusta à amostra escolhida.
- Qualidade dos dados: barras ausentes, históricos de símbolos diferentes ou definições de preço inconsistentes podem alterar a SMA calculada.
- Incompatibilidade de execução: backtests que assumem execuções ideais podem superestimar o que regras de timing realmente alcançariam.
Para tornar essas limitações concretas, defina como é a aparência de “falha” em suas métricas de avaliação. Em vez de confiar em um único número, observe como os resultados mudam quando os custos aumentam, quando as premissas de slippage pioram e quando você passa de uma janela de teste para outra.
Verificação e próxima pergunta: o que você deve validar de forma independente?
Para verificar seu backtest de forma responsável, trate-o como um experimento reproduzível.
Primeiro, recalcule de forma independente a série da SMA e confirme que os valores da SMA correspondem à sua implementação para uma pequena amostra onde você possa verificar manualmente a janela móvel.