601 / 736LOOK

Look-ahead Bias

Viés pelo uso de informações futuras

Look-ahead Bias ocorre quando um teste histórico consulta o futuro para tomar uma decisão. Por exemplo, compra pela manhã usando um preço que só seria conhecido à noite. O resultado pode parecer convincente, embora ninguém pudesse decidir assim com as informações disponíveis naquela hora.

Look-ahead Bias é o erro de deixar uma informação disponível mais tarde influenciar uma decisão anterior, o treinamento de um modelo ou a escolha de uma regra. Importa quando era realmente possível conhecer o dado, não apenas sua data na tabela. Medir depois o resultado de uma decisão já tomada não é, por si só, um erro.

Pedro usa o computador para testar como sua regra teria negociado no passado. A tabela já contém toda a história, então o programa pode ler por engano algo que Pedro ainda não poderia saber. É assim que QuantConnect explica Look-ahead Bias. Para cada entrada, cabe perguntar: ela estava disponível quando a regra decidiu? A data do dia pode não bastar. Um evento pode ocorrer pela manhã, ser noticiado mais tarde e chegar ao operador depois disso. O teste precisa respeitar essa sequência, não apenas ordenar linhas por data. [2]

Uma vela de preços resume um intervalo: abertura, fechamento, máxima, mínima e volume. Enquanto ele não termina, os valores finais são desconhecidos. Pedro não pode comprar no início com base na máxima final da mesma vela. LEAN, o mecanismo usado por QuantConnect, entrega o dado concluído conforme EndTime, seu horário de término. Ao combinar intervalos curtos e longos, é preciso verificar a disponibilidade de cada série separadamente. Deslocar uma linha só ajuda se isso corresponder de fato à disponibilidade dos dados, incluindo fusos horários e atrasos. [1]

Pedro baixa dados econômicos com datas de meses passados. Alguns números, porém, foram corrigidos depois. Usar o valor revisado de hoje em uma decisão anterior acrescenta conhecimento que ela não tinha. O St. Louis Fed distingue a visão atual do passado em FRED das versões históricas disponíveis por ALFRED. Nesses casos, precisamos da versão publicada na época. A data do mês medido não basta; mesmo uma versão histórica datada por dia não estabelece exatamente quando ficou disponível ao longo daquele dia. [3]

Pedro separa dados antigos para treinamento e mais novos para teste. Mas então calcula a média da tabela inteira para transformar as entradas. O futuro volta por outro caminho. A documentação da biblioteca de aprendizado de máquina scikit-learn exige, portanto, aprender as transformações apenas com a parte de treinamento e só depois aplicá-las à parte de teste. Isso também vale para preencher valores ausentes e selecionar entradas. É preciso observar ainda os resultados usados no aprendizado: uma operação recém-aberta não tem resultado final conhecido. Podemos avaliá-la depois, mas não devolver esse resultado a um treinamento anterior. [4]

Uma vela histórica mostra máxima e mínima, mas não reconstrói toda a sequência das negociações reais. Por isso, TradingView explica as hipóteses de seu simulador sobre o movimento do preço dentro da vela. Pedro precisa distinguir a criação do sinal, o envio da ordem e sua possível execução. Vender na máxima descoberta mais tarde não se torna uma regra disponível só porque a simulação consegue encontrar aquele preço. Vazamento de informação futura e uma hipótese de execução favorável demais são erros diferentes. Dados mais detalhados podem ajudar, mas não garantem a execução real. [5]

Freqtrade Lookahead Analysis compara testes repetidos e procura mudanças nos indicadores ou sinais. Pode revelar um cálculo que consulta linhas futuras. Porém, não verifica um ramo de decisão que nunca foi executado durante o teste. Por isso, precisamos conhecer a cobertura além do resultado. A documentação também alerta para falsos positivos, como quando a estratégia se comporta de forma diferente ao testar um mercado isolado ou um grupo inteiro. Um resultado limpo não certifica tudo, e uma diferença detectada precisa ser explicada. Investigar a origem dos dados continua fazendo parte do trabalho. [6]

Pedro remove a informação futura, e o resultado impressionante piora. Ele não pode continuar apresentando o relatório antigo como resultado do procedimento corrigido. A correção também não encerra todas as verificações. TradingView distingue Look-ahead Bias de Overfitting: no sobreajuste, a regra se adapta demais às particularidades dos dados usados para desenvolvê-la. Isso pode ocorrer sem informações futuras. Por outro lado, uma regra muito simples pode conter um erro temporal. A diferença entre o desempenho histórico e o posterior, sozinha, não revela qual problema ou mudança de mercado a causou. [5]

Um registro útil permite reconstruir o que Pedro sabia naquele instante: versão dos dados, regras, estado da conta, entradas disponíveis e ordens enviadas. Devem constar também as hipóteses de execução e os custos. Paper Trading, a prática sem dinheiro real, pode acrescentar registros em tempo real, mas uma simulação continua diferente de uma negociação real. A organização americana National Futures Association (NFA) destaca limites dos resultados hipotéticos ligados à liquidez, à diferença entre preço esperado e executado e às decisões sob pressão de perdas; suas regras de divulgação se aplicam a membros definidos. Remover o erro temporal produz um teste mais honesto, não uma promessa de lucro futuro. [7]

ExemploEXEMPLO · LOOK

Quando o teste já sabe qual intervalo vai subir

Neste exemplo fictício, Pedro tem quatro intervalos consecutivos A, B, C e D. Os preços de abertura são [100, 100, 100, 100] USD/BTC e os de fechamento [110, 90, 120, 80] USD/BTC. O intervalo anterior a A abriu e fechou a 100 USD/BTC. Cada variante começa com 1000 USD, sem posição, dívida ou fluxos externos de caixa. Ao entrar, compra uma quantidade fixa de 1 BTC pelo preço de abertura do modelo e, conforme uma regra predefinida, vende no fechamento do mesmo intervalo. Cada lado de uma operação executada custa 1 USD; sem entrada não há tarifa. Outros custos e diferenças de execução são omitidos aqui. A variante incorreta X compra apenas antes de uma alta que já leu no fechamento futuro do intervalo que está começando. Suas entradas são [1, 0, 1, 0] e os resultados líquidos [8, 0, 18, 0] USD: um total de 26 USD e caixa final de 1026 USD. A variante Y usa a alta do intervalo anterior já concluído, que pode conhecer. Suas entradas são [0, 1, 0, 1] e os resultados líquidos [0, -12, 0, -22] USD: um total de -34 USD e caixa final de 966 USD. As duas variantes terminam cada intervalo sem posição; o gráfico compara seus resultados líquidos por intervalo. O lucro de X vem de conhecimento futuro e não demonstra uma vantagem disponível para negociar. A perda de Y não significa que respeitar o tempo sempre dê prejuízo. São preços inventados e execuções simplificadas, não a história do Bitcoin nem uma garantia de execução real.

Para ter uma visão mais completa, leia este verbete junto com Backtesting, Overfitting, Walk-forward Analysis, Survivorship Bias, Paper Trading. Também há referências a este verbete em Walk-forward Analysis, Overfitting, Survivorship Bias, On-chain Analysis.

01Basta deslocar os indicadores em uma linha?

Isso pode corrigir um erro específico, mas não é uma solução universal. O dado pode ter sido publicado com atraso, revisado depois ou já usado na preparação de toda a tabela. O que importa é a disponibilidade de cada entrada no momento da decisão.

02Podemos usar um resultado posterior para avaliar uma previsão?

Sim. Para avaliar uma previsão anterior, precisamos conhecer o resultado posterior. O erro aparece quando esse resultado volta ao passado e influencia decisões, treinamento ou escolha de regras anteriores, embora ainda não fosse conhecido.

DOC · 001QuantConnect — Time Modeling: TimeslicesDocumentação DOC · 002QuantConnect — Custom Securities: Avoid Look-Ahead BiasDocumentação DOC · 003Federal Reserve Bank of St. Louis — FRED API Real-Time PeriodsDocumentação DOC · 004scikit-learn — Common Pitfalls: Data LeakageDocumentação DOC · 005TradingView — Strategies: Broker Emulator and Lookahead BiasDocumentação DOC · 006Freqtrade — Lookahead AnalysisDocumentação DOC · 007NFA — Use of Promotional Material Containing Hypothetical Performance ResultsDocumentação
Revisto em: Fontes em primeiro lugar · Não é recomendação de investimento