6 de Novembro de 2026 · dados

Seu backtest usou o universo errado para cada momento histórico

Seu backtest usou o universo errado para cada momento histórico

Um backtest pode acertar o timestamp de cada candle e ainda usar informações do futuro. Isso acontece quando a estratégia testa os ativos que sobreviveram até hoje ao longo de vários anos de histórico, como se soubesse quais mercados continuariam líquidos, listados e valendo a pena manter.

A construção do universo faz parte da estratégia. Se o sistema ao vivo só podia escolher entre os ativos disponíveis em cada momento de decisão, o backtest precisa respeitar esse mesmo limite. Três atalhos costumam apagá-lo.

Erro um: testar a lista de hoje ao longo de todo o histórico

Imagine que você selecione hoje os 50 maiores mercados de perpétuos de cripto e depois faça o backtest desde 2021. A lista exclui contratos que desapareceram, perderam liquidez ou foram deslistados. Ela também dá às datas antigas acesso a mercados que talvez ainda nem existissem.

É fácil não perceber os destroços: a estratégia parece mais estável porque os ativos que fracassaram sumiram da amostra. Uma regra de momentum, por exemplo, pode parecer excelente nos 50 mercados de hoje, enquanto a versão histórica teria alocado repetidamente em ativos que depois quebraram ou perderam a listagem na plataforma. Você testou um portfólio selecionado com conhecimento do resultado.

Registre a composição do universo com datas. Para cada ativo, acompanhe quando passou a ser elegível, quando deixou de ser elegível e por quê. A cada rebalanceamento, aplique as regras usando apenas as informações disponíveis naquele momento. Um mercado deve entrar depois de sua listagem efetiva e de qualquer período de aquecimento exigido. Se for deslistado, a posição final precisa de uma regra definida de saída ou liquidação; remover suas linhas não é uma regra de saída.

Erro dois: classificar por uma estatística medida depois da decisão

Mesmo um universo histórico pode vazar informações se a regra de composição usar uma janela completa que inclui o futuro. “Negociar as 20 ações mais líquidas a cada mês” parece razoável, até você perceber que a liquidez é classificada usando o mês inteiro em que a estratégia deveria operar.

Imagine rebalancear no primeiro dia de negociação. Classificar pelo volume financeiro médio daquele mês usa, sem alarde, as três semanas seguintes para decidir o que se qualificava no primeiro dia. Os destroços costumam aparecer como uma capacidade de negociação excepcional: a estratégia evita ativos que perderam liquidez mais tarde naquele mês, embora não pudesse saber disso na entrada.

Defina o corte da medição antes do momento da seleção. Para um rebalanceamento mensal na primeira sessão, você poderia classificar com base nas 20 sessões concluídas anteriores, encerradas na sessão precedente. Depois, deixe explícito o atraso de execução: se a classificação usa o fechamento de ontem, é possível enviar a ordem na abertura de hoje dentro do fluxo de trabalho presumido?

Regra de seleçãoVersão ponto no tempoVazamento comum
Top 20 por volume financeiroClassificar sessões concluídas até antes do rebalanceamentoIncluir o dia ou mês do rebalanceamento
Listagem na plataformaUsar os horários efetivos de listagem e deslistagemUsar o endpoint de símbolos atuais para datas antigas
Histórico mínimoContar observações disponíveis no momento da seleçãoExigir que o ativo sobreviva no futuro para passar pelo filtro

Erro três: tratar a falta de histórico como prova de que um ativo não era elegível

O arquivo de um fornecedor de dados não é necessariamente um registro completo do mercado histórico. A ausência de um símbolo pode significar que o ativo nunca existiu, que a plataforma mudou a convenção de nomes, que o fornecedor não reteve instrumentos deslistados ou simplesmente que há uma lacuna no feed. Cada caso tem implicações diferentes.

Os destroços são um universo organizado, mas cheio de lacunas sem explicação. Pesquisadores muitas vezes exigem uma janela completa de retrospectiva e excluem silenciosamente tudo o que não a tem. Isso pode ser uma regra de aquecimento sensata, mas também descarta por definição ativos recém-listados. Pior: se o histórico ausente se concentra em mercados que fracassaram, “somente dados completos” vira mais um filtro de sobrevivência.

Mantenha elegibilidade, disponibilidade de dados e aquecimento da estratégia como fatos separados. Registre por que um ativo foi excluído em cada data. Preserve os dados ausentes no registro de pesquisa, em vez de transformá-los em uma exclusão silenciosa. Quando a fonte não permitir determinar se um mercado estava listado ou podia ser negociado, deixe isso claro e meça quanto o resultado depende dessa incerteza.

Torne o universo reproduzível

Uma auditoria útil começa com um rebalanceamento histórico. Reconstrua a lista de candidatos usando listagens datadas e os dados disponíveis até aquele corte. Recalcule os dados usados na classificação usando apenas observações concluídas. Depois, compare a composição resultante com a lista realmente usada no backtest.

Salve a regra, o corte, as decisões de composição e a versão da fonte junto com a execução. Se você não consegue explicar por que um ativo entrou e outro ficou de fora em determinada data, ainda não dá para saber se a estratégia descobriu uma vantagem ou herdou uma amostra moldada pelo futuro.

Erros na construção do universo raramente se revelam por preços impossíveis. Eles aparecem em estratégias que, por conveniência, evitaram os mercados que deixaram de ser convenientes.

viés de sobrevivênciadados ponto no tempoconstrução do universobacktesting
← Todos os artigos