← Voltar aos artigos
July 9, 2026
5 min read

O Negativo Honesto: Dezenas de Milhares de Backtests, Cinco Majors, Nenhuma Vantagem Robusta

O Negativo Honesto: Dezenas de Milhares de Backtests, Cinco Majors, Nenhuma Vantagem Robusta
#algotrading
#backtest
#overfitting
#deflated-sharpe
#pbo
#resultado-negativo
#validacao
🎯
Part 9 of 9 · Collection
Backtesting Without Fooling Yourself

Parte da série "Backtests Sem Ilusões".

O resultado que não queríamos

Esta série passou vários artigos construindo instrumentos para pegar uma mentira: o look-ahead bias que fabrica um Sharpe de 15 a partir de um vazamento de uma barra, o Deflated Sharpe Ratio que precifica o vencedor de uma busca, a Probability of Backtest Overfitting que precifica a própria busca. Cada uma dessas peças foi, em certo sentido, um ensaio. Esta aqui é o espetáculo: apontamos todo o aparato para uma família de estratégias real que de fato queríamos operar, e o deixamos entregar o veredito para o qual foi construído — mesmo quando o veredito é não.

Aqui está o final honesto, logo de cara. Rodamos dezenas de milhares de backtests em cinco moedas majors, em configurações de timeframe duplo e triplo, buscando uma vantagem robusta. Não encontramos nenhuma. Não é "encontramos uma vantagem pequena e reduzimos a posição". Encontramos nada que sobreviva ao contato com o maquinário — nenhuma configuração que seja simultaneamente lucrativa entre instrumentos e defensável sob correção para testes múltiplos. Isso não é uma falha do experimento. Isso é o experimento tendo sucesso.

A parte sedutora — a parte que teria levado uma equipe pior instrumentada a alocar capital — é que uma leitura ingênua parecia genuinamente boa:

Estágio O que vimos O que era
Busca em símbolo único (ETHUSDT, TF duplo) +16,35% no teste out-of-sample, +2,62% em um holdout intocado o vencedor tentador
Deflated Sharpe, ~37.000 tentativas DSR = 0,00 melhor-do-ruído
Cross-instrument, 5 majors, TF duplo DSR 0,24 / PBO 0,264 falha
Cross-instrument, 5 majors, TF triplo DSR 0,14 / PBO 0,327 falha

Leia aquela primeira linha do jeito que a lemos inicialmente: uma estratégia de cruzamento de médias móveis, ajustada no ETHUSDT sobre uma grade de timeframe duplo, imprimindo +16,35% em dados que ela nunca viu durante a busca, e mantendo um positivo +2,62% em uma segunda janela que havíamos isolado por completo. Se você parar aí — e a maioria dos backtests publicados para aí — você embarca. O resto deste artigo é o maquinário que nos disse para não embarcar, e por que ele estava certo.

Ato 1 — O vencedor tentador

Um sedutor pico imponente de equity in-sample brilhando em vermelho-laranja, um único vencedor de cruzamento de médias móveis erguido de um tênue leque de milhares de curvas de estratégia descartadas — o tentador resultado melhor-do-ruído antes de qualquer deflação

A família de estratégias é deliberadamente comum: um cruzamento de Hull moving average, avaliado em barras fechadas, com um modelo de execução honesto (decidir no fechamento da barra i, executar na abertura de i+1 — a disciplina de uma barra com a qual esta série não vai transigir). "Timeframe duplo" significa que o sinal é filtrado pela tendência de um timeframe mais lento; "triplo" adiciona um terceiro, ainda mais lento. Cada timeframe adiciona parâmetros livres, e parâmetros livres são exatamente o que uma busca converte em desempenho aparente.

O estudo de símbolo único rodou no ETHUSDT. O protocolo já era do tipo bom: uma divisão walk-forward móvel (uma janela de warmup, vários folds in-sample, uma janela de teste out-of-sample), mais uma janela final de holdout que a busca estava proibida de tocar até o fim. Uma busca Sobol/QMC explorou o espaço de parâmetros; o sobrevivente foi a configuração com o melhor score walk-forward, e ela foi levada uma vez — exatamente uma vez — ao holdout.

O sobrevivente parecia uma vantagem:

  • +16,35% na janela de teste out-of-sample — dados usados apenas para pontuar configurações, nunca para ajustá-las.
  • +2,62% no holdout intocado — uma segunda muralha, superada.

Este é o momento que decide se um processo de pesquisa é honesto ou teatral. O lucro out-of-sample é real no sentido estrito de que os números não são fabricados e não há vazamento de look-ahead — verificamos. Mas "números reais, sem vazamento" é uma barra muito mais baixa que "vantagem real". Entre elas está aquilo sobre o qual toda esta série trata: a seleção. Não avaliamos uma estratégia e descobrimos que ela rendeu 16%. Avaliamos um número enorme de estratégias e reportamos os 16% da melhor delas. A janela out-of-sample estava limpa de look-ahead, mas não estava limpa de seleção — porque escolhemos o vencedor em parte por como ele se saiu ali. O único instrumento que consegue distinguir essas duas histórias é aquele que sabe quantas vezes olhamos.

Ato 2 — A deflação: ~37.000 tentativas, DSR = 0,00

O Deflated Sharpe Ratio colapsando um imponente pico in-sample vermelho-laranja até uma barra plana esmeralda quase-zero após considerar dezenas de milhares de tentativas, com o teto de ruído do False Strategy Theorem subindo vários desvios-padrão acima de zero para engolir a vantagem aparente

Conte os olhares. Ao longo dos folds, das combinações de timeframe e da grade de parâmetros, a busca de timeframe duplo avaliou na ordem de 37.000 configurações distintas. Cada uma delas é um sorteio do espaço de estratégias, e a busca guardou o máximo. O artigo do Deflated Sharpe Ratio tem a derivação completa, mas o único fato de que você precisa aqui é o False Strategy Theorem (Bailey & López de Prado): o Sharpe máximo esperado de N estratégias com vantagem verdadeira igual a zero cresce com N. Em N ≈ 30.000, o melhor de puro ruído fica cerca de quatro desvios-padrão acima de zero puramente por seleção. Quatro sigma parece uma descoberta. É a sombra da busca.

Então a pergunta certa não é "o Sharpe do vencedor é positivo?" — claro que é, você escolheu o máximo. A pergunta certa é "o Sharpe do vencedor está além do que o mais sortudo de 37.000 lançadores de moeda postaria?" É exatamente isso que o DSR calcula: ele move o benchmark de zero para cima, até o teto de ruído implicado pela contagem de tentativas, e reporta a probabilidade de o Sharpe verdadeiro superar aquilo.

O histórico out-of-sample do vencedor no ETHUSDT corresponde a um Sharpe diário de cerca de 0,19. Por si só, um SR diário de 0,19 sobre uma janela longa é um número perfeitamente respeitável. Deflacionado contra ~37.000 tentativas, ele evapora:

DSR(SR^=0.19daily,  N37,000)=0.00\text{DSR}\big(\hat{SR}=0.19\,\text{daily},\; N\approx 37{,}000\big) = \mathbf{0.00}

Zero. Não "marginal", não "0,4, fique de olho". O DSR diz: dado o quão intensamente buscamos, um Sharpe diário de 0,19 é indistinguível do melhor sorteio de puro ruído. Os +16,35% out-of-sample e os +2,62% de holdout são consistentes, na precisão que este teste consegue resolver, com uma estratégia que não tem vantagem nenhuma e simplesmente ganhou uma loteria com 37.000 bilhetes.

Uma sutileza que vale sinalizar, porque não queremos exagerar a deflação: pontos vizinhos numa grade de parâmetros são quase-duplicatas, então a contagem bruta de tentativas superconta os olhares independentes. Nosso limiar usa o número efetivo de tentativas — tentativas agrupadas por correlação de retornos via ONC (López de Prado & Lewis) antes de deflacionar — precisamente para não rejeitarmos uma vantagem real por uma razão de contabilidade. Mesmo com essa correção incorporada, o vencedor do ETHUSDT não sobrevive. Quando um resultado marca DSR 0,00, a nuance do N efetivo não vai resgatá-lo; ele está fundo dentro do ruído.

Aquilo poderia ter sido o fim. Um símbolo, uma busca, deflacionado a nada. Mas o DSR falhando em um único símbolo deixa uma brecha que um otimizador determinado sempre tentará espremer: talvez o ETHUSDT seja apenas um símbolo difícil, e a configuração seja real em outros lugares. Para fechar essa brecha você tem que mudar o eixo do teste.

Ato 3 — O teste decisivo: robustez é entre instrumentos

Cinco instrumentos major de cripto avaliados de uma vez através de um objetivo de mediana-entre-símbolos que exige um generalista, com resultados out-of-sample dispersos por símbolo onde um único símbolo brilha em esmeralda acima da linha do zero e os outros quatro caem abaixo dela em vermelho-laranja — nenhuma robustez cross-instrument

Uma busca de símbolo único tem uma fraqueza estrutural mesmo quando é, no mais, perfeita: seu único eixo out-of-sample é o tempo. Ela pode dizer que a configuração se manteve numa janela posterior do ETHUSDT — mas não pode dizer se a configuração aprendeu algo sobre mercados ou algo sobre o ETHUSDT especificamente. Overfitting a um instrumento é invisível a um teste que nunca sai daquele instrumento.

Então mudamos o objetivo. Em vez de "melhor no ETHUSDT out-of-sample", a caça cross-instrument busca generalistas: configurações que são boas ao mesmo tempo em muitos símbolos. O protocolo:

  • Cinco majors líquidos: ETHUSDT, BTCUSDT, SOLUSDT, BNBUSDT, XRPUSDT — aproximadamente 1,18 milhão de barras de 1 minuto cada, uma janela de calendário compartilhada, um conjunto compartilhado de splits (warmup → K folds in-sample → teste → um holdout intocado).
  • Um objetivo robusto: pontuar cada configuração no resultado walk-forward de cada símbolo, depois ordenar pela mediana entre símbolos. A mediana é o ponto — uma configuração que é espetacular em uma moeda e péssima em quatro não consegue comprar sua entrada com um único outlier. Para ser selecionada, ela precisa ser pelo menos mediana na maioria delas.
  • Uma matriz de retornos de portfólio para os limiares: os retornos diários por tentativa são um portfólio de peso igual entre os cinco símbolos (1/S do capital cada), fornecendo a matriz de desempenho T×N que os limiares do DSR e do PBO-CSCV consomem.
  • O holdout é tocado uma vez, apenas pelo campeão robusto de cada modo.

Este é um teste estritamente mais difícil que o de símbolo único, e deliberadamente assim. Uma configuração pode vencer a busca do ETHUSDT explorando a idiossincrasia de uma moeda; ela não pode vencer a busca de mediana-entre-cinco desse jeito. Se existe uma vantagem robusta nesta família de estratégias, este é o arranjo que a encontra. Se não existe, este é o arranjo que diz isso sem hesitar.

Ato 4 — O veredito: ambos os timeframes falham nos limiares

Rodamos a caça cross-instrument nas duas configurações e aplicamos os limiares a cada campeão robusto. Os limiares são os dois padrão: DSR ≥ 0,95 (deflacionado contra o número efetivo de tentativas) e PBO ≤ 0,2 (do CSCV sobre a matriz de desempenho). Aqui está o veredito completo, honestamente:

Modo DSR (N-efetivo) PBO (CSCV) Limiar: DSR ≥ 0,95 Limiar: PBO ≤ 0,2 Veredito
Timeframe duplo 0,24 0,264 falha falha nenhuma vantagem robusta
Timeframe triplo 0,14 0,327 falha falha nenhuma vantagem robusta

Ambos falham, ambos os limiares, ambos os modos. Leia cada número com a calibração que os artigos anteriores estabeleceram, porque os dois limiares estão dizendo coisas diferentes e eles concordam:

  • DSR 0,24 (duplo), 0,14 (triplo). O DSR é a probabilidade de o Sharpe verdadeiro exceder o teto de ruído implicado pela busca. Precisamos de 0,95. Obtivemos 0,24 e 0,14 — mal uma chance de uma em quatro e uma em sete de a vantagem ser sequer positiva uma vez que você considera quantas configurações foram tentadas. Adicionar o terceiro timeframe piorou as coisas, não melhorou: mais parâmetros, mais formas de ajustar à amostra, menos que generaliza. Essa inversão é, ela própria, uma impressão digital de overfitting.

  • PBO 0,264 (duplo), 0,327 (triplo). Lembre-se do único fato que todos leem errado sobre o PBO (tratamento completo aqui): sua hipótese nula é 0,5, não 1. O PBO é a probabilidade de o vencedor in-sample cair na metade inferior out-of-sample. Uma seleção confiável fica perto de 0; um puro lançamento de moeda fica em 0,5. Nossos 0,264 e 0,327 estão abaixo de 0,5 — a seleção não é literalmente um lançamento de moeda, há um tênue sussurro de sinal — mas ambos estão bem acima do 0,2 que exigimos para chamar a seleção de confiável. E novamente o triplo (0,327) está mais perto da linha do lançamento de moeda que o duplo (0,264): mais complexidade, menos generalização.

Os dois instrumentos são ortogonais — o DSR é paramétrico e precifica o vencedor, o PBO é não paramétrico e precifica o procedimento — e eles convergem para a mesma resposta a partir de direções opostas. Não há leitura desta tabela em que qualquer uma das estratégias supere a barra. Os +16,35% que iniciaram toda esta caça não têm um primo cross-instrument robusto. Foi uma propriedade de uma moeda e uma busca.

Ato 5 — Siga o campeão, símbolo por símbolo

Os limiares agregados dizem que uma estratégia falhou; a decomposição por símbolo diz como, e o como é a parte mais instrutiva de todo o estudo. Pegue o campeão de timeframe triplo — a configuração que o objetivo de mediana-entre-cinco de fato coroou — e olhe o que ele fez na janela de teste out-of-sample de cada símbolo:

Símbolo Campeão triplo, teste OOS
ETHUSDT −0,39%
BTCUSDT −0,38%
SOLUSDT +14,74%
BNBUSDT −8,58%
XRPUSDT −4,13%

Aí está a ilusão inteira, exposta em cinco linhas. O campeão é lucrativo em exatamente um dos cinco símbolos — SOLUSDT, com um vistoso +14,74% — e negativo nos outros quatro. Ele não é um generalista que por acaso é fraco. Ele é um especialista em SOL vestido com a roupa de um portfólio. O único grande positivo está fazendo todo o trabalho; o objetivo de mediana o rebaixou abaixo do vencedor bruto do ETHUSDT precisamente porque a mediana se recusa a ser enganada por um único outlier, mas mesmo o campeão selecionado pela mediana acaba se apoiando quase inteiramente em uma moeda quando você o desempacota.

O holdout — a janela contra a qual ninguém teve permissão de otimizar — conta a mesma história do ponto de vista mais limpo possível: entre os cinco majors, o retorno de holdout do campeão é positivo em apenas 1 de 5 símbolos. Se isto fosse uma vantagem real na família de estratégias, ela apareceria, ao menos tenuemente, nos dados intocados de mais de um instrumento. Ela aparece em um. Essa é a assinatura de uma configuração que aprendeu um símbolo, não um mercado.

É por isso que o eixo cross-instrument foi o teste decisivo e não meramente um algo-a-mais. O DSR de símbolo único já deflacionou o ETHUSDT a zero. Mas foi preciso o design de mediana-entre-cinco para diagnosticar a falha — para mostrar que a vantagem aparente nunca esteve, para começo de conversa, distribuída entre instrumentos, que ela era uma propriedade de qualquer que fosse a moeda em que a busca calhou de fazer overfitting naquela rodada. No ETHUSDT era do ETHUSDT; na caça de mediana ela migrou para a do SOLUSDT. A vantagem se moveu. Vantagens reais não se movem assim.

Por que um resultado negativo é o resultado correto

Um resultado negativo rigorosamente estabelecido publicado como um farol esmeralda lançando um facho verificado de nula-aceita sobre um mar escuro de estudos de gaveta enterrados, o facho cortando através do brilho vermelho-laranja desvanecente de um tentador vencedor in-sample

Vale ser explícito sobre o que estamos e o que não estamos afirmando, porque "não encontramos vantagem" é fácil de ler errado, seja como falsa modéstia, seja como uma confissão de incompetência. Não é nenhum dos dois.

Nós não estamos afirmando que cruzamentos de HMA nunca podem funcionar, ou que essas cinco moedas são imprevisíveis, ou que nenhuma estratégia de timeframe duplo/triplo existe. Estamos afirmando algo mais estreito e muito mais forte: dentro desta família de estratégias, sobre estes dados, nesta intensidade de busca, não há configuração cujo desempenho aparente sobreviva à correção pelo número de coisas que tentamos. Tudo que parecia uma vantagem está dentro da banda de confiança do melhor do ruído. Essa é uma afirmação precisa, falsificável, defensável — e é a correta a se publicar.

A tentação que o maquinário derrota é enorme, e ela tem um nome em todos os outros campos: o problema da gaveta de arquivos (file-drawer problem). Resultados negativos são enterrados; resultados positivos são publicados. Em trading o incentivo é ainda mais afiado, porque o resultado positivo que você não conseguiu deflacionar não é apenas um artigo ruim — é capital alocado contra ruído, dinheiro de verdade pagando taxas de verdade para operar um bilhete de loteria que você confundiu com um sinal. O artigo sobre look-ahead mostrou um vazamento fabricando um Sharpe de 15; o artigo sobre DSR mostrou uma busca fabricando um Sharpe de 1,63 a partir de puro ruído, sem vazamento nenhum. Este artigo é como fica quando esses instrumentos são apontados para a sua própria ideia favorita e instados a serem honestos. O aparato — DSR, PBO/CSCV, agrupamento por N-efetivo, seleção cross-instrument — não existe para abençoar suas estratégias. Ele existe para impedir você de embarcar o melhor do ruído como alfa, e a única prova de que funciona é que às vezes ele diz não.

Uma equipe sem este aparato teria embarcado os +16,35%. Ela teria tido um walk-forward de aparência limpa, um holdout positivo, nenhum vazamento de look-ahead detectável e uma história plausível. Ela estaria errada, e não saberia disso até o P&L ao vivo divergir — o gap entre backtest e ao vivo que um resultado negativo-mas-honesto nunca precisa explicar, porque ele nunca foi ao ar. O valor de um não rigoroso é medido nos drawdowns que você nunca sofreu.

Proveniência

Cada número neste artigo remonta a código, não a narrativa. A caça de vantagem cross-instrument — o carregamento dos cinco símbolos, os splits compartilhados, o objetivo de mediana-entre-símbolos, a matriz de portfólio de peso igual alimentada aos limiares — vive em scripts/edge_hunt_multitf.py (commit acd84e8) no repositório do backtester. Os limiares estatísticos que ela chama — Sharpe probabilístico e deflacionado, comprimento mínimo do track-record, N-efetivo via agrupamento ONC e PBO através de CSCV, todos implementados do zero em NumPy/SciPy a partir das fontes primárias em vez de uma biblioteca caixa-preta — estão em scripts/overfit_gates.py (commit 7b966e1), que vem com um autoteste que planta uma vantagem conhecida em puro ruído e confirma que os limiares a aprovam e rejeitam o ruído. O estudo de símbolo único no ETHUSDT que produziu os tentadores +16,35% veio do harness bench_search_multitf anterior, que a caça importa em modo somente-leitura. Nada aqui é um número calculado à mão; os limiares são o mesmo caminho de código, quer a resposta seja sim ou não.

Conclusões

  1. Rodamos dezenas de milhares de backtests em cinco majors, timeframe duplo e triplo, e não encontramos vantagem robusta — e esse é o resultado que o maquinário foi construído para produzir. Um resultado negativo, rigorosamente estabelecido, é uma descoberta, não uma falha.
  2. Um número out-of-sample de aparência limpa não é uma vantagem. O vencedor do ETHUSDT postou +16,35% out-of-sample e +2,62% em um holdout intocado, sem vazamento de look-ahead — e deflacionou para DSR 0,00 uma vez que você contou as ~37.000 tentativas por trás dele. O out-of-sample supera o look-ahead; apenas a deflação supera a seleção.
  3. O False Strategy Theorem é a razão. Em ~30.000 tentativas, o melhor de puro ruído fica cerca de quatro sigma acima de zero apenas por seleção. Um Sharpe diário de 0,19 é exatamente o que aquela loteria paga. Você deve comparar seu vencedor ao teto de ruído, nunca a zero.
  4. A robustez vive entre instrumentos, não apenas ao longo do tempo. Selecionar pela mediana entre cinco símbolos transformou uma ilusão de moeda única em uma diagnosticável: DSR duplo 0,24 / PBO 0,264, DSR triplo 0,14 / PBO 0,327 — ambos falham em ambos os limiares, e o triplo (mais parâmetros) é pior que o duplo em toda métrica.
  5. Desempacote o campeão antes de confiar nele. O campeão "portfólio" de timeframe triplo foi lucrativo em 1 de 5 símbolos (SOL +14,74%; ETH −0,39%, BTC −0,38%, BNB −8,58%, XRP −4,13%) e positivo no holdout para apenas 1 de 5. Uma vantagem que vive em um instrumento e se move quando você re-busca não é uma vantagem — é um overfit vestido com a roupa de um portfólio.
  6. Publique o negativo. O aparato anti-overfitting — DSR, PBO/CSCV, N-efetivo, seleção cross-instrument — vale a pena ter precisamente porque às vezes ele lhe diz não, e a disciplina é ouvir quando ele o faz.

A estratégia que mais queríamos que funcionasse não funcionou. Os instrumentos que construímos para pegar isso nos disseram, de quatro maneiras independentes, antes que um único dólar estivesse em risco. Esse é todo o propósito da série, e este é o artigo em que o propósito se realiza: o maquinário justifica seu custo no dia em que o detém — não no dia em que o bajula.

blog.disclaimer

Authors

Eugen Soloviov
Eugen Soloviov

Trading-systems engineer

Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.

Newsletter

Fique à frente do mercado

Assine nossa newsletter para insights exclusivos sobre trading com IA, análises de mercado e atualizações da plataforma.

Respeitamos sua privacidade. Cancele a inscrição a qualquer momento.