Como Fazer Backtest do Oscilador Estocástico de Forma Responsável
O que é o Oscilador Estocástico, antes de fazer o backtest
O Oscilador Estocástico é um indicador que compara o preço atual a um intervalo recente. Em sua forma comum, ele usa uma linha %K construída a partir de um período de lookback (a janela do intervalo) e, frequentemente, uma etapa de suavização, além de uma linha %D, que normalmente é uma média móvel do %K.
Como o backtesting depende de definições, você deve primeiro registrar a fórmula exata que irá implementar (por exemplo: como as máximas/mínimas são selecionadas, qual é o comprimento do lookback e qual método e comprimentos de suavização você usa). Mesmo pequenas diferenças—como usar máximas/mínimas do candle da mesma barra versus deslocá-las para frente—podem alterar os resultados.
Dados, mecânica e premissas que você deve declarar
Um backtest responsável começa com um pipeline de dados limpo e bem especificado.
1) Defina os campos de dados e como eles são alinhados
- Especifique o fuso horário e o tamanho da barra usados para OHLC (abertura, máxima, mínima, fechamento).
- Decida como lidar com barras ausentes, picos incomuns ou dias com dados incompletos.
- Garanta que o indicador use apenas informações que estariam disponíveis no momento da decisão (fechamento da barra vs. abertura da barra importa).
2) Defina os parâmetros do indicador como entradas Declare o conjunto de parâmetros que você testará, como:
- Comprimento do lookback do %K
- Comprimento da suavização do %K (se aplicada)
- Tipo e comprimento da média móvel do %D
3) Especifique as regras de cálculo com precisão Registre os detalhes de implementação:
- Se você calcula o %K usando a máxima mais alta e a mínima mais baixa dentro da janela de lookback.
- Se você atualiza o oscilador a cada barra ou somente após o fechamento de uma barra.
4) Separe o “comportamento do indicador” de uma “regra de negociação” Um indicador pode ser testado em backtest como uma série temporal (como ele se move) sem afirmar que é um sinal independente. Para estimar o desempenho, você precisa de uma regra de decisão explícita e testável (por exemplo, uma condição que mapeie os valores do oscilador para ações hipotéticas). Mesmo assim, os resultados dependem de como você executa essas ações.
Controles de custos e características: modelando custos e fatores variáveis
Os backtests frequentemente falham porque ignoram ou submodelam os atritos reais que alteram os retornos.
Custos a incluir em um modelo básico de execução Você não precisa adivinhar números exatos, mas deve modelar os tipos de custos que testará e aplicá-los de forma consistente:
- Premissa de spread bid/ask (ou um modelo equivalente de custo de transação)
- Comissão (se aplicável)
- Slippage (o quanto as execuções são piores do que o preço teórico)
Fatores variáveis a manter sob controle Indicadores de momentum, incluindo o Oscilador Estocástico, podem se comportar de maneira diferente entre regimes de mercado. Para reduzir conclusões enganosas:
- Teste múltiplos períodos de tempo (não apenas uma única janela histórica).
- Use múltiplos instrumentos se o seu estudo abranger vários, ou pelo menos múltiplos regimes distintos.
- Mantenha os parâmetros do indicador fixos durante a avaliação; altere-os apenas em uma etapa separada de ajuste.
Uma abordagem simples de ajuste com controle de viés
- Divida os dados em um período de ajuste (in-sample) e um período posterior de avaliação (out-of-sample).
- Ajuste os parâmetros apenas no segmento de ajuste.
- Trave os parâmetros e avalie no segmento fora da amostra sem novos ajustes.
Evidências e exemplo de um fluxo de trabalho responsável
Um fluxo de trabalho responsável foca na verificação, não em ter sorte.
Exemplo de fluxo de trabalho (conceitual, não uma recomendação)
- Escolha um tamanho de barra (por exemplo, uma barra por unidade de tempo) e implemente o Oscilador Estocástico com definições de parâmetros claramente escritas.
- Construa uma regra de decisão hipotética que acione ações com base nos valores do oscilador. Declare a lógica exata do gatilho.
- Adicione um modelo de custo de transação com pelo menos uma faixa de sensibilidade (por exemplo, cenários de atrito “baixo”, “médio” e “alto”) e reexecute a avaliação.
- Use uma abordagem walk-forward ou de janela móvel: ajuste em uma janela anterior, avalie na próxima janela e repita.
- Resuma os resultados com diagnósticos robustos, não apenas médias.
Diagnósticos materiais a verificar
- Compare o comportamento in-sample vs. out-of-sample.
- Examine se os resultados dependem fortemente de um pequeno conjunto de eventos ou de poucas datas.
- Procure por instabilidade quando você desloca ligeiramente os parâmetros ou limites dentro de faixas razoáveis.
Limitações e modos de falha a incluir
Mesmo um backtest tecnicamente correto pode ser enganoso. Modos de falha comuns incluem:
1) Erros de lookahead e alinhamento Usar informações que não seriam conhecidas no momento da decisão pode inflar o desempenho.
2) Overfitting ao histórico Muitos graus de liberdade (parâmetros do indicador mais limites da regra mais premissas de custo) podem fazer a estratégia se ajustar ao ruído em vez do sinal.