600 / 691FIT

Overfitting

Sobreajuste

Overfitting ocorre quando as regras se ajustam excessivamente aos pormenores e ao ruído dos dados de desenvolvimento e não se transferem bem para novas observações. Na negociação, pode afetar tanto o modelo como a seleção entre muitas estratégias. Um excelente resultado histórico exige, por isso, uma avaliação devidamente separada de todo o procedimento.

Overfitting é o ajuste de um modelo ou de regras de decisão às particularidades da amostra de desenvolvimento disponível, em detrimento da capacidade de generalizar a relação para outros dados. Também diz respeito ao processo de seleção entre candidatos; a qualidade não pode ser avaliada apenas pelo resultado que decidiu simultaneamente o vencedor.

A QuantConnect descreve Overfitting como um ajuste excessivamente estreito a um conjunto de treino limitado, que capta os seus pormenores e ruído em detrimento dos resultados em dados novos. A nossa distinção: o problema não é aprender com a história, mas confundir uma propriedade de uma amostra concreta com uma regularidade transferível. Na negociação, até um conjunto de condições elaborado manualmente pode estar sobreajustado, não apenas um modelo automático complexo. Uma curva atraente ou uma boa pontuação nos dados de desenvolvimento ainda não constituem, por isso, uma confirmação independente do procedimento. [QuantConnect — Optimization Parameters]

A documentação do scikit-learn mostra a diferença entre um modelo demasiado simples, incapaz de captar a relação, e um modelo sensível às amostras de treino concretas. A nossa consequência: o número de parâmetros, por si só, não basta para identificar sobreajuste. Simplificar ou limitar a flexibilidade do modelo pode ajudar, mas também pode eliminar uma relação útil. A decisão deve assentar numa avaliação predefinida em dados separados adequados. Nem a seleção posterior da variante mais simples em função de um teste já observado devolve a esse teste um papel independente. [scikit-learn — Validation and Learning Curves]

Bailey e os coautores alertam para falsas descobertas quando se experimentam repetidamente estratégias nos mesmos dados. A nossa conclusão metodológica: é necessário registar não só os parâmetros do vencedor, mas também os candidatos anteriores, as mudanças de regras e o critério de seleção. Mesmo uma estratégia final simples pode resultar de uma pesquisa extensa. A pressão de seleção não é visível na sua última descrição. A probabilidade de sobreajuste não pode ser determinada apenas pelo número de variantes; depende também dos dados, das suas dependências e do método de pesquisa. [Bailey et al. — The Probability of Backtest Overfitting]

O exemplo de validação aninhada do scikit-learn separa a seleção interna dos parâmetros da avaliação externa de todo o procedimento de seleção. Usar os mesmos resultados para selecionar e apresentar a qualidade conduz a uma pontuação excessivamente otimista. O nosso requisito é descrever essa fronteira antes da experiência e incluir na seleção o pré-processamento e a escolha de indicadores. Se continuarmos a alterar a conceção em função do resultado externo, essa informação também entrou no desenvolvimento. Uma estrutura aninhada não é autorização para ajustar repetidamente ao mesmo teste final. [scikit-learn — Nested versus Non-nested Cross-validation]

A documentação do scikit-learn alerta que uma divisão habitual que pressuponha amostras independentes pode enviesar a estimativa de generalização em dados com dependência temporal. A nossa verificação de um teste de negociação preserva, por isso, a ordem das informações e examina se cada entrada usada para decidir e cada resultado-alvo usado para treinar ou selecionar a regra já estavam disponíveis no momento correspondente. O período seguinte não deve escolher a regra para um instante anterior. Walk-forward Analysis ajuda a descrever esta sequência, mas alterações repetidas do seu protocolo em função dos mesmos resultados voltam a ser desenvolvimento, não uma nova prova independente. [scikit-learn — Cross-validation: Evaluating Estimator Performance]

O scikit-learn exige aprender transformações, como a normalização ou a seleção de características, apenas na parte de treino e só depois aplicá-las ao teste. A nossa distinção: a fuga de informações indisponíveis e o sobreajuste são problemas relacionados, mas diferentes. Uma estratégia pode ajustar-se ao ruído mesmo sem acesso a linhas futuras; por outro lado, a fuga de informação pode criar uma pontuação otimista até num modelo simples. Por isso, verificamos não só a divisão da tabela, mas todo o procedimento, desde a preparação dos dados até à decisão final. [scikit-learn — Common Pitfalls: Data Leakage]

As curvas de validação e de aprendizagem do scikit-learn comparam o comportamento nas partes de treino e de validação quando se alteram as definições ou a quantidade de dados. O nosso limite de interpretação: um resultado posterior pior não demonstra, por si só, uma única causa. No mercado, podem mudar o contexto, a qualidade dos dados ou os custos de execução; um segmento curto pode ser influenciado pelo acaso. Examinamos a estabilidade das configurações próximas e as diferenças de condições, mas registamos cada nova pesquisa após observar os resultados. Não apresentamos o diagnóstico como uma certificação estatística automática. [scikit-learn — Validation and Learning Curves]

A NFA alerta que os resultados hipotéticos não são negociação real e não representam plenamente a liquidez, a derrapagem do preço ou a reação a uma perda efetiva. O nosso relatório separa, por isso, os resultados de desenvolvimento dos posteriores e indica todas as tentativas conhecidas, os custos e as limitações dos dados. Uma eventual validação adicional deve ter as regras registadas antes de começar. Um risco menor de erro metodológico não é o mesmo que uma vantagem de negociação demonstrada. Nem dados ainda não utilizados podem garantir o resultado em condições futuras de mercado. [NFA — Use of Promotional Material Containing Hypothetical Performance Results]

ExemploEXEMPLO · FIT

O vencedor da seleção pode não vencer no teste posterior

O nosso exemplo fictício tem três candidatos A, B e C definidos previamente, com a mesma dimensão fixa. Os seus resultados líquidos modelados nos 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. As somas, pela ordem A, B, C, são [30, 24, 18] USD. A regra predefinida escolhe a maior soma de seleção; em caso de empate, escolheria o primeiro candidato nesta ordem. Por isso, seleciona A antes do início dos períodos seguintes. Só depois revelamos os resultados dos três períodos de teste subsequentes: A [-6, -4, -2] USD, B [1, 2, 3] USD e C [0, 1, 2] USD. As suas somas de teste são [-12, 6, 3] USD. Assim, o A selecionado obtém -12 USD no teste. Com um saldo inicial de teste em dinheiro de 1000 USD, termina com 988 USD. O lucro de seleção de 30 USD não é acrescentado a esse dinheiro. A dimensão é fixa, os valores indicados já incluem todos os custos do modelo e não existe posição aberta no fim de cada período; não pressupomos dívida nem fluxos de dinheiro externos. O esquema compara a soma de seleção e a soma posterior de cada candidato. A vitória de B, visível a posteriori, não permite reescrever a seleção original de A. O exemplo mostra uma falha na transferência da ordenação obtida na seleção, mas não prova, por si só, que o sobreajuste seja a única causa nem estima a sua probabilidade. Não são resultados reais de mercado nem instruções para escolher uma estratégia concreta.

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 também pode estar sobreajustada?

Sim. A regra final simples pode ter sido escolhida entre muitas tentativas em função dos mesmos dados. O que importa é todo o processo de pesquisa, não apenas o número de parâmetros da versão publicada.

02Cada mau resultado posterior prova sobreajuste?

Não. Também pode estar relacionado com mudanças de mercado, custos, dados errados ou um segmento curto sujeito ao acaso. É necessário verificar a metodologia e as condições; uma única diferença de resultados não determina 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 ↗
Fontes em primeiro lugar · Não é recomendação de investimento