5.4 Por que precisamos de um teste fora da amostra

Autora:Bem-estar, Criado: 2019-05-10 09:13:53, Atualizado:

Resumo

Na seção anterior, mostramos como ler o relatório de desempenho de backtesting estratégia, concentrando-se em vários indicadores de desempenho importantes. Na verdade, não é difícil escrever uma estratégia que faz lucro no relatório de desempenho de backtesting. É difícil avaliar se esta estratégia continuará a ser eficaz no mercado real no futuro. Então hoje eu vou explicar o teste fora da amostra e a importância dele.

O backtesting não é igual ao mercado real

Muitos iniciantes são facilmente convencidos de suas estratégias de negociação e estão prontos para colocar seus pensamentos em prática com um relatório de desempenho ou curva de fundos que parece bom.

Eu vi muitas estratégias de negociação, e a taxa de sucesso pode chegar a 50% quando backtesting. Sob a premissa de uma taxa de ganho tão alta, ainda há ter uma maior proporção de lucro e perda de 1: 1. No entanto, uma vez que essas estratégias são colocadas em prática, todos eles estão perdendo dinheiro. Há muitas razões para isso. Entre essas razões, a amostra de dados é muito pequena é a principal, o que leva ao desvio dos dados.

No entanto, a negociação é uma coisa tão complicada, e é muito clara depois, mas se voltarmos ao original, ainda nos sentimos sobrecarregados. Isso envolve a causa raiz da quantificação - as limitações dos dados históricos. portanto, se usarmos apenas dados históricos limitados para testar a estratégia de negociação, é difícil evitar o problema de Conduzir de acordo com o espelho retrovisor.

O que é um teste fora da amostra?

Como fazer pleno uso de dados limitados para testar cientificamente a estratégia de negociação quando os dados são limitados? A resposta é o método de teste fora da amostra. Durante o backtesting, os dados históricos são divididos em dois segmentos de acordo com a sequência de tempo. O segmento anterior de dados é usado para otimização de estratégia, chamado de conjunto de treinamento, e o último segmento de dados é usado para o teste fora da amostra, chamado de conjunto de teste.

Se a sua estratégia é sempre válida, então otimize vários conjuntos de melhores parâmetros nos dados do conjunto de treinamento e aplique esses conjuntos de parâmetros aos dados do conjunto de teste para fazer o backtest novamente. Idealmente, os resultados do backtest devem ser quase os mesmos dos conjuntos de treinamento, ou a diferença está dentro de um intervalo razoável.

Mas se uma estratégia funciona bem no conjunto de treinamento, mas o conjunto de teste funciona mal, ou muda muito, e quando usados outros parâmetros permanecem os mesmos, então a estratégia pode ter viés de migração de dados.

Por exemplo, suponha que você queira fazer um backtest de rebar de futuros de commodities. Agora que esse rebar tem dados de cerca de 10 anos (2009~2019), você pode usar os dados de 2009 a 2015 como um conjunto de treinamento, de 2015 a 2019, usado como um conjunto de teste. Se o melhor parâmetro definido no conjunto de treinamento for (15, 90), (5, 50), (10, 100)... então colocamos esses conjuntos de parâmetros no conjunto de teste. Comparando esses dois relatórios de desempenho de backtest e curvas de fundos, determinaremos se sua diferença está dentro de um intervalo razoável.

Se você não usar o teste fora da amostra, basta usar diretamente os dados de 2009 a 2019 para testar a estratégia. O resultado pode ser um bom relatório de desempenho do backtest por causa do excesso de ajuste dos dados históricos, mas esses resultados do backtest têm pouco significado para o mercado real e não têm efeito orientador, especialmente aquelas estratégias com mais parâmetros.

Teste avançado fora da amostra

Como mencionado acima, sob a premissa da falta de dados históricos, é uma boa ideia dividir os dados em duas partes para formar dados dentro e fora da amostra.

O princípio básico do teste recursivo: usar os dados históricos longos anteriores para treinar o modelo e, em seguida, usar os dados relativamente curtos para testar o modelo e, em seguida, mover continuamente a janela de tempo para recuperar os dados, repetir as etapas de treinamento e teste.

  • Dados de formação: 2000-2001, dados de ensaios: 2002;

  • Dados de formação: 2001-2002, dados de ensaios: 2003;

  • Dados de formação: 2002-2003, dados de ensaio: 2004;

  • Dados de formação: de 2003 a 2004, dados de ensaios: de 2005;

  • Dados de formação: 2004-2005, dados de ensaio: 2006;

...e assim por diante...

Finalmente, os resultados dos testes (2002, 2003, 2004, 2005, 2006...) foram analisados estatisticamente para avaliar de forma abrangente o desempenho da estratégia.

O seguinte diagrama pode explicar o princípio do teste recursivo intuitivamente:

img

A figura acima mostra dois métodos de ensaio recursivo.

O primeiro tipo: pequena quantidade mas ensaio múltiplo

O segundo tipo: grande quantidade mas menos vezes de ensaio

Em aplicações práticas, vários testes podem ser realizados alterando o comprimento dos dados de teste para determinar a estabilidade do modelo em resposta a dados não estacionários.

O princípio básico do teste de verificação cruzada: dividir todos os dados em N partes, usar N-1 partes para treinar cada vez e usar a parte restante para testar.

De 2000 a 2003, o teste de verificação cruzada é dividido em quatro partes, de acordo com a divisão anual.

  • Dados de formação: 2001-2003, dados de ensaio: 2000;

  • Dados de formação: 2000-2002, dados de ensaio: 2003;

  • Dados de formação: 2000, 2001, 2003, dados de ensaio: 2002;

  • Dados de formação: 2000, 2002, 2003, dados de ensaio: 2001;

img

Como mostra a figura acima: A maior vantagem do teste de verificação cruzada é fazer pleno uso dos dados limitados, e cada dado de treinamento é também os dados do teste.

  • Quando os dados de preços não são estáveis, os resultados dos testes do modelo são muitas vezes pouco confiáveis. Por exemplo, use os dados de 2008 para treinamento e os dados de 2005 para testes. É muito provável que o ambiente de mercado em 2008 tenha mudado muito em comparação com 2005, de modo que os resultados dos testes do modelo não são credíveis.

  • Semelhante ao primeiro, no teste de verificação cruzada, se o modelo é treinado com os dados mais recentes e o modelo é testado com dados mais antigos, isso não é muito lógico em si.

Além disso, ao testar o modelo de estratégia quantitativa, tanto o teste recursivo como o teste de verificação cruzada encontraram problemas de sobreposição de dados.

Quando se desenvolve um modelo de estratégia de negociação, a maioria dos indicadores técnicos baseia-se em dados históricos de um determinado período. Por exemplo, usando indicadores de tendência para calcular dados históricos dos últimos 50 dias, mas para o próximo dia de negociação, que é novamente calculado a partir dos dados dos primeiros 50 dias do dia de negociação, os dados para calcular os dois indicadores são os mesmos por 49 dias. Isso resultará em uma mudança muito insignificante no indicador para cada dois dias adjacentes.

img

A sobreposição de dados pode ter os seguintes efeitos:

  • A mudança lenta nos resultados previstos pelo modelo leva a uma mudança lenta nas posições, que é a histerese dos indicadores que muitas vezes dizemos.

  • Alguns valores estatísticos para o ensaio dos resultados do modelo não estão disponíveis. Devido à correlação de sequência causada por dados repetidos, os resultados de alguns testes estatísticos não são fiáveis.

Uma boa estratégia de negociação deve ser rentável no futuro. testes fora da amostra, além de detectar objetivamente estratégias de negociação, é mais eficiente em economizar tempo para os comerciantes quantitativos.

Se todos os dados históricos antes do ponto de tempo para otimização de parâmetros forem distinguidos, e os dados forem divididos nos dados na amostra e nos dados fora da amostra, o parâmetro é otimizado usando os dados na amostra, e então a amostra fora da amostra é usada para o teste fora da amostra.

Resumindo

Assim como a própria negociação, nós nunca podemos voltar no tempo e tomar uma decisão correta por nós mesmos. se você tem a capacidade de viajar no tempo, você não precisaria fazer negociação em tudo. afinal, somos todos mortais, devemos verificar nossa estratégia nos dados históricos.

No entanto, mesmo com os enormes dados históricos, diante do futuro infinito e imprevisível, a história é extremamente escassa. Portanto, o sistema de negociação baseado na história acabará afundando com o tempo. Porque a história não pode esgotar o futuro. Portanto, um sistema de negociação de expectativa positiva completa deve ser apoiado por seus princípios e lógica inerentes.

Confia, mas verifica. - Presidente Reagan.

Exercícios após a escola

  1. Quais são os fenômenos da vida real que são preconceitos sobreviventes?

  2. Utilize a plataforma FMZ Quant para comparar o backtest de entrada e saída da amostra.


Mais.