Um método que parece brilhante em um único backtest está, na maioria das vezes, explorando algo que não sobreviverá ao contato com o futuro: uma feature vazada, uma divisão de dados com sorte, ou uma regra de avaliação que silenciosamente se curvou em direção ao resultado. Aprendemos a tratar um primeiro resultado incomumente bom como motivo para mais escrutínio, não menos.
Quando cientificamente apropriado para o método sendo testado, nossas verificações podem incluir uma execução de controle intencionalmente vazada: se uma versão deliberadamente quebrada e propensa a vazamento de um experimento tiver um desempenho suspeitosamente próximo ao da versão limpa, isso é um sinal de que algo no pipeline limpo pode não estar tão limpo quanto se supunha. Este é um diagnóstico direcionado, não uma etapa que executamos em todo ciclo de pesquisa.
Também exigimos avaliação cronológica em todo o processo — o treinamento sempre vê apenas o passado em relação ao que está sendo testado — e congelamos as regras de avaliação antes que um resultado seja visto, para que o padrão não possa ser ajustado para se encaixar no que os dados acabaram produzindo.
Por fim, um método que sobrevive a tudo isso ainda precisa se manter sob testes de robustez: mudanças de nível e escala, ruído adicionado, dados ausentes, e a exigência de generalizar além das condições exatas sob as quais foi construído. A maioria dos métodos que passam nas primeiras verificações perde parte de seu brilho aqui — e esse é justamente o objetivo.