Como o Frama pode ser testado retrospectivamente de forma responsável?
O que “backtesting responsável” significa para o Frama
O backtesting é uma forma de estudar como uma regra baseada em indicadores poderia ter se comportado em dados históricos de preços. O backtesting “responsável” não afirma desempenho futuro. Em vez disso, ele constrói um teste transparente e reproduzível que (1) define as entradas e configurações do indicador, (2) modela custos e execução de forma realista, (3) limita viés e overfitting e (4) verifica se os resultados sobrevivem a novos dados fora do período usado para projetar o teste.
Especificamente para o Frama, você deve primeiro entendê-lo como uma média móvel cujo comportamento depende da estrutura de mercado capturada pela variação de preços. Portanto, qualquer backtest deve documentar como você calcula as entradas da média móvel e como transforma o(s) valor(es) do indicador em uma regra—sem assumir que um valor de indicador equivale automaticamente a um sinal de negociação.
Mecânica: defina dados, premissas e como o Frama é usado no teste
Comece escrevendo todas as premissas que afetam os números:
- Definição de dados: qual instrumento (par de FX genérico), qual período gráfico (por exemplo, barras horárias), qual fuso horário e se a série é ajustada por ações corporativas (geralmente menos relevante para FX do que para ações, mas o princípio é o mesmo).
- Configurações do indicador: os parâmetros do Frama e qualquer janela de lookback. Os backtests devem manter essas configurações fixas, a menos que você execute explicitamente uma busca de parâmetros.
- Regras de cálculo: se o indicador é calculado usando o fechamento da mesma barra que você avalia posteriormente e como você lida com as primeiras barras em que o indicador precisa de histórico de aquecimento.
- Definição da regra: se você avalia a “qualidade do sinal”, defina a lógica exata de decisão (por exemplo, se o teste avalia comportamento de cruzamento, limiares ou filtros de regime). Não trate a “direção do indicador” como um sinal universal e independente.
Em seguida, modele custos e execução de uma forma que corresponda às suas premissas. Mesmo sem spreads em tempo real, você pode incluir termos de atrito como placeholders constantes (por exemplo, um custo de transação fixo por entrada e saída) e declarar que são premissas.
Custos a considerar na mesma estrutura:
- Custos de transação (comissões, taxas).
- Modelo de spread bid/ask ou slippage (como você aproxima a diferença entre preços baseados em barras e preços de negociação).
- Tempo de ordem (se você assume execução na abertura da próxima barra, no fechamento ou com um atraso fixo).
Por fim, escolha métricas que reflitam a pergunta que você está fazendo. Exemplos incluem proxies de desempenho ajustado ao risco, drawdown máximo, taxa de acerto ou excursão adversa média. O ponto-chave é definir as métricas antes de executar os testes.
Evidências e exemplo: como projetar verificações que reduzem o viés
Um modo comum de falha no backtesting de indicadores é o overfitting: o teste encontra uma configuração que corresponde a um período histórico, mas não generaliza.
Duas abordagens práticas de controle de viés:
-
Validação walk-forward (rolante)
- Divida o histórico em múltiplos segmentos consecutivos.
- Use um segmento anterior para selecionar ou confirmar configurações e, em seguida, avalie no próximo segmento.
- Repita e agregue os resultados.
-
Holdout estrito fora da amostra
- Reserve um período final que nunca seja usado para selecionar parâmetros ou criar regras.
- Somente depois que a regra estiver fixada, você avalia no holdout.
Se você executar exploração de parâmetros (por exemplo, variando as escolhas de lookback do Frama), separe o ato de “encontrar” do ato de “medir”. Um fluxo de trabalho responsável trata a etapa de medição como um teste final de generalização.
Também teste a estabilidade:
- Verifique se o desempenho depende fortemente de um único regime.
- Repita a avaliação em múltiplos períodos de tempo e, quando viável, em múltiplos instrumentos.
- Compare os resultados com um benchmark simples (como uma linha de base passiva) para interpretar se qualquer melhoria é significativamente diferente do que uma abordagem básica pode alcançar.
Limitações e modos de falha a tratar como informação de primeira classe
Os resultados históricos de backtesting são incertos. Limitações importantes incluem:
- Dependência do regime de mercado: a estrutura de um indicador pode funcionar apenas quando as características de volatilidade e tendência correspondem ao período usado no teste.
- Incompatibilidade de custos e execução: pequenas mudanças nos custos de transação, slippage ou timing assumidos podem reverter conclusões, especialmente para estratégias com mudanças frequentes.
- Artefatos de dados: diferenças na amostragem, barras ausentes, diferentes fornecedores de dados ou construção inconsistente de barras podem alterar os resultados.
- Aquecimento do indicador e efeitos de borda: a inicialização das primeiras barras pode enviesar os resultados se não for tratada de forma consistente.
- Comparações múltiplas e graus de liberdade do pesquisador: se você tentar muitas configurações de parâmetros e procurar a “melhor”, aumenta a chance de encontrar padrões por acaso.