600 / 736FIT

Overfitting

Sobreajuste

Overfitting significa que uma regra se ajustou demasiado aos dados passados, incluindo os seus acasos. Pode depois falhar com dados novos. Até uma estratégia simples pode ficar sobreajustada após muitos retoques.

Overfitting acontece quando um modelo ou regra aprende particularidades dos dados de desenvolvimento em vez de uma relação que se aplique também a outros dados. Na negociação, o melhor resultado histórico não basta: importa saber como se escolheu a estratégia e como funciona depois.

Pedro testa uma regra para comprar bitcoin. O teste histórico perde dinheiro, por isso muda o período da média. Depois acrescenta uma condição para evitar operações mal sucedidas. A curva melhora, mas talvez esteja apenas a contornar acasos já observados. A QuantConnect descreve assim o ajuste aos detalhes e ao ruído dos dados de treino. Aprender com o passado não é o problema. Confundir as suas particularidades com uma regularidade duradoura é. [1]

Pedro poderia apagar todas as condições, mas também perder uma relação útil. O scikit-learn mostra os dois extremos: um modelo demasiado simples não capta a relação; um demasiado flexível pode seguir detalhes acidentais. O número de configurações não determina, por si só, o sobreajuste. Um procedimento simples exige a mesma avaliação honesta em dados adequadamente separados que um complexo. Se for escolhido depois de observar o teste final, esse teste já influenciou o desenvolvimento. [2]

Pedro acaba com uma regra curta. Ela não mostra quantas versões falhadas experimentou antes. Bailey e os coautores descrevem como testar repetidamente os mesmos dados pode gerar falsas descobertas. Guarde candidatos, alterações e método de seleção, não apenas o gráfico bonito do vencedor. Um resultado simples pode surgir de uma pesquisa extensa. Mas o número de tentativas não basta para calcular a probabilidade de sobreajuste: os dados, as dependências e o processo de escolha também importam. [3]

Pedro precisa de alguns dados para desenvolver e de outros para avaliar mais tarde. O scikit-learn ilustra isto com validação aninhada: dentro escolhem-se configurações, fora avalia-se o processo inteiro de seleção. É como estudar para um exame e depois fazê-lo. A melhor nota dos exercícios não é uma classificação independente. Escolher indicadores e preparar entradas também faz parte do desenvolvimento. Se o resultado final levar a mudar as regras, a nova avaliação precisa de outros dados adequados; o mesmo exame já não está intacto. [4]

Misturar exemplos pode fazer sentido ao aprender com fotografias. Com observações sucessivas do mercado, pode criar um teste irrealista; o scikit-learn salienta a dependência temporal. Pedro só pode usar entradas disponíveis em cada momento. Os resultados usados para treinar ou escolher a regra também precisam de estar disponíveis: uma operação inacabada ainda não tem resultado conhecido. Walk-forward Analysis passa de dados anteriores para posteriores. Também deixa de fornecer provas novas se o seu procedimento for repetidamente reescrito segundo os mesmos resultados. [5]

Pedro pode separar as linhas de teste, mas ter calculado antes a média da tabela inteira para transformar as entradas. O teste deixa de estar realmente separado. O scikit-learn exige, por isso, aprender essas transformações apenas com dados de treino e aplicá-las depois ao teste. A entrada de informação indisponível naquele momento chama-se fuga de dados. É diferente de Overfitting: uma regra pode aprender ruído sem linhas futuras, e uma fuga pode distorcer um modelo simples. Verifique o processo completo, não só a divisão da tabela. [6]

A estratégia de Pedro perde no período seguinte. O sobreajuste é uma explicação possível, não a única. Mercado, custos ou qualidade dos dados podem ter mudado; o acaso pesa bastante em intervalos curtos. O scikit-learn oferece curvas de validação e aprendizagem para comparar resultados quando mudam configurações ou quantidade de dados de treino. Também ajuda verificar se configurações próximas produzem resultados semelhantes. Mas cada novo ajuste é registado como desenvolvimento. O diagnóstico não comprova, por si só, uma vantagem estatística para negociar. [2]

Uma conclusão útil explica de onde veio a estratégia, o que mudou e o que foi realmente avaliado depois, além do lucro. Separe resultados de desenvolvimento e posteriores e divulgue tentativas conhecidas, custos e limitações. A NFA recorda que a negociação hipotética não reproduz plenamente liquidez, desvios de preço ou comportamento perante perdas reais; as suas regras promocionais aplicam-se a membros determinados. Uma nova avaliação começa, portanto, com regras registadas previamente. Reduzir erros de método ajuda, mas nem dados ainda não utilizados garantem lucros futuros. [7]

ExemploEXEMPLO · FIT

O vencedor da seleção pode perder no teste seguinte

Neste exemplo fictício, Pedro tem candidatos A, B e C definidos previamente, com o mesmo tamanho fixo de posição. Os resultados líquidos em três períodos de seleção são A [8, 10, 12] USD, B [6, 8, 10] USD e C [4, 6, 8] USD. Os totais pela ordem A, B, C são [30, 24, 18] USD. A regra registada previamente escolhe o maior total e, em caso de empate, o primeiro candidato nessa ordem. Pedro seleciona A antes do período seguinte. Só depois revela os resultados de três períodos de teste posteriores: A [-6, -4, -2] USD, B [1, 2, 3] USD e C [0, 1, 2] USD. Os totais de teste são [-12, 6, 3] USD. A opção A originalmente escolhida obtém -12 USD no teste. O dinheiro inicial de teste de 1000 USD termina assim em 988 USD. O lucro de seleção de 30 USD não é somado. O tamanho permanece fixo, os valores incluem todos os custos do modelo e cada período acaba sem posição aberta; não há dívida nem fluxos externos. O esquema compara seleção e teste posterior de cada candidato. Ver agora que B foi melhor não permite mudar retroativamente a escolha original. A classificação não se manteve, mas o exemplo não comprova o sobreajuste como única causa nem estima a sua probabilidade. São valores didáticos, não resultados reais de mercado ou uma recomendação de estratégia.

Para ter uma visão mais completa, leia este verbete junto com Backtesting, Walk-forward Analysis, Look-ahead Bias, Paper Trading, Trading Journal. Também há referências a este verbete em Technical analysis, Technical indicator, Moving average crossover, Relative Strength Index.

01Uma estratégia simples pode ficar sobreajustada?

Sim. A regra final curta pode ter vencido entre muitas tentativas nos mesmos dados. Avaliamos, por isso, a procura inteira, não só o número de configurações da última versão.

02Um mau resultado com novos dados prova sobreajuste?

Não. Mudanças do mercado, custos, erros nos dados ou um intervalo curto dominado pelo acaso também podem explicá-lo. A diferença pede uma análise do método e das condições; não determina sozinha a causa nem a probabilidade de sobreajuste.

DOC · 001QuantConnect — Optimization ParametersDocumentação DOC · 002scikit-learn — Validation and Learning CurvesDocumentação DOC · 003Bailey et al. — The Probability of Backtest OverfittingFonte primária DOC · 004scikit-learn — Nested versus Non-nested Cross-validationDocumentação DOC · 005scikit-learn — Cross-validation: Evaluating Estimator PerformanceDocumentação DOC · 006scikit-learn — Common Pitfalls: Data LeakageDocumentação DOC · 007NFA — Use of Promotional Material Containing Hypothetical Performance ResultsDocumentação
Revisto em: Fontes em primeiro lugar · Não é recomendação de investimento