5.1 O significado e a armadilha do backtesting

Autora:Bem-estar, Criado: 2019-06-25 13:38:05, Atualizado: 2023-11-09 20:44:21

img

Resumo

O backtesting é o lugar mais diferente entre a negociação quantitativa e a negociação tradicional. De acordo com os dados reais do mercado que aconteceram na história, o sinal de estratégia de simulação desencadeia e combina a transação rapidamente, e o relatório de desempenho e outros dados são obtidos por um período de tempo.

O significado do backtesting

Nos capítulos anteriores, aprendemos os fundamentos da linguagem de programação mainstream e ensinamos como usar esses fundamentos de programação para escrever algumas estratégias de negociação simples. Pode-se dizer que o caminho foi mais do que pela metade. No entanto, uma vez que uma estratégia é escrita, que ainda tem uma longa distância para o ambiente real do mercado. Também requer constante backtesting debugging backtesting debugginge assim por diante, até que a estratégia possa implementar completamente o conteúdo do modelo e funcionar sem problemas.

Do ponto de vista da lógica quantitativa de negociação, uma estratégia de negociação é na verdade baseada em uma série de cognições e suposições do mercado. O backtesting pode determinar se essas suposições são estáveis ou não.

img

Além disso, do ponto de vista das operações de negociação quantitativas, o back testing pode ajudar a detectar bugs na lógica da estratégia, como funções futuras, slipping price, multi-degree fitting, etc. Fornecer evidências confiáveis de que a estratégia pode ser usada para negociação de mercado real.

  • Verificar a precisão do sinal de negociação.

  • Verifique se a lógica comercial e as suas ideias são viáveis.

  • Descobrir defeitos no sistema de negociação e melhorar a estratégia original.

Então, o significado do backtesting é executar um processo de negociação o mais verdadeiro possível, verificando a validade dos dados históricos, evitando erros caros para a estratégia errada, ajudando-nos a filtrar, melhorar e otimizar as estratégias de negociação.

A armadilha do teste de retorno

  • A armadilha do sinal de negociação instável

A estratégia de negociação é baseada em dados históricos estáticos durante o backtesting, mas os dados da negociação real são dinâmicos. Por exemplo: Se o preço mais alto for maior que o preço de fechamento de ontem, abra uma posição longa.

  • A armadilha da função Futuro

A função futuro usa o preço futuro, o que significa que as condições atuais podem ser modificadas no futuro, e a mesma função futura também pode causar o sinal de negociação instável, como o indicador zigzag

Como mostrado abaixo: A função do indicador de ziguezague indica o ponto de virada dos picos e dos vales. Ele pode ajustar seu próprio valor de acordo com o último preço em tempo real, mas se o preço atual mudar, o resultado da função de viragem em ziguezague também mudará. Se você usar esse indicador com tal função futura, o sinal de ordem atual pode ser configurado e colocado, mas esse sinal pode não ser quantificado mais tarde.

img

  • A armadilha do roubar o preço

O chamado comportamento de preço de roubo refere-se ao uso de preços passados para negociar. Por exemplo: Se o preço mais alto for maior que um certo preço fixo para abrir posição usando o preço de abertura. Esta condição de posição de abertura é preço de roubo, porque no mercado real, quando o preço mais alto é maior que um certo preço, o preço pode ter sido maior que o preço de abertura de uma certa distância, e então usar o preço de abertura para abrir posição é impossível. No entanto, no ambiente de backtesting, você pode hipoteticamente abrir posição no preço de abertura.

Há também outro caso em que, se as diferenças de preço ultrapassarem o preço fixo estabelecido pela estratégia, no ambiente de backtesting, o sinal de negociação ocorrerá e poderá ser executado; mas no mercado real, obviamente, não pode ser executado.

  • A armadilha do preço de negociação impossível

Preço de negociação impossível pode ser dividido em vários casos:

O primeiro tipo: no mercado real, algumas bolsas têm o limite diário de aumento máximo de preço e restrição de queda.

Segundo: o mecanismo de correspondência de ordens de troca, que são prioridade de preço e prioridade de tempo. Algumas variedades da profundidade da ordem de mercado muitas vezes terão um grande número de ordens esperando pela execução. No mercado real, você tem que esperar ordens que antes de sua colocação para executar, às vezes sua ordem nunca será executada. Mas no ambiente de backtesting, a ordem pendente será executada a qualquer preço sem esperar.

Terceiro: Para estratégias de arbitragem, os lucros do backtesting geralmente são muito altos, porque cada vez que a operação de backtesting foi assumida para ter agarrado todos esses preços de spread. Sob circunstâncias reais, a maioria dos preços é impossível de executar, ou às vezes apenas uma direção ou um alvo de negociação da ação de negociação é executada, em geral, é quase certo que a direção propícia ou alvo de negociação será executado primeiro, então você tem que tentar imediatamente executar a direção oposta ou variedade das ordens de estratégias de arbitragem. mesmo com um período tão curto de atraso, os spreads desta oportunidade de negociação podem ter custado mais de 1 ou 2 pontos de preço, enquanto toda a estratégia de arbitragem de spread só obteve muito poucos pontos de preço de lucro. Este tipo de situação é muito difícil de backtestar no ambiente de simulação.

Quarto: O evento Black swan. Como mostrado no círculo vermelho na figura a seguir, o franco suíço no evento de cisne preto de câmbio, embora na superfície existam preço de abertura, preço mais alto, preço mais baixo e preço de fechamento. na verdade, tal situação extrema do mercado vem com uma linha k que a maior parte são vácuo, muitos pedidos de stop-loss causa o evento de estampida, a liquidez é quase zero, para as ordens para executar é muito difícil, mas no ambiente de backtesting, é possível parar a perda.

img

  • A armadilha do excesso de adaptação

Cada vez que vejo a seguinte imagem, tanto o meu coração como a minha mente se divertem. Esta imagem mostra-nos um significado verdadeiro, um modelo ridículo, simplesmente complexo o suficiente, é perfeitamente adaptado a qualquer dado.

img

Para a negociação quantitativa, o backtesting é baseado em dados históricos, mas a amostra de dados históricos é limitada.

O processo de modelagem da estratégia quantitativa é essencialmente um processo de encontrar dados locais não aleatórios a partir de um grande número de dados aparentemente aleatórios.

Então não se engane. Se você encontrar dados de desempenho ruim fora da amostra, não sinta pena ou relutante em admitir que o modelo não funciona, e continue otimizando-o até que os dados de amostra fora também funcionaram tão bem quanto dentro. eventualmente irá prejudicar seu dinheiro real.

  • A armadilha do preconceito sobrevivente

Wall Street tem uma piada popular: Suponha que existam 1.000 macacos no mercado que participaram do investimento. No primeiro ano, 500 macacos foram perdidos para o mercado. No meio do segundo ano, restam 250 macacos. No final do terceiro ano, restam 125 macacos.

img

No nono ano, o último macaco ficou. Depois olhas para ele, quanto mais olhas para ele, mais se sente o rosto familiar. Finalmente, vês a capa de uma revista financeira e gritas "Ei, é Warren Buffett?

Embora esta seja apenas uma piada, você ainda pode mapeá-lo para a situação do mundo real. Por exemplo, se há 1000 gestores de fundos, depois de 10 anos, cerca de 10 gestores de fundos vão superar o mercado por 10 anos consecutivos. Isso pode ser causado pela sorte e decisões aleatórias, esses gestores de fundos habilidade não tem nada a ver com isso.

Como o relatório de backtest abaixo, a maioria dos investidores vai escolher a figura à esquerda, que tem um desempenho muito sólido sem retracement significativo.

img

Mas por favor espere, como mostrado à direita, que é a situação real. A curva à esquerda é apenas o melhor entre estes muitos backtests. Ou seja, há muitos desempenho muito pior do que a situação à esquerda.

  • A armadilha do custo de impacto

Em um ambiente de negociação real, os preços são sempre flutuantes. Quando você é otimista sobre uma oportunidade de negociação, o preço pode ter mudado no momento da colocação de uma ordem.

Mas o backtesting é baseado em dados estáticos, é difícil simular o ambiente de negociação real. Por exemplo: o preço da ordem é 1050 para comprar, mas o preço de negociação real pode ser 1051. Há muitas situações para este fenômeno, como: vácuo de liquidez em movimento de preço extremo, atraso de rede, atraso de sistemas de hardware e software, atraso de resposta do servidor, etc.

Reverso sem deslizamento

img

Como mostrado acima, é um relatório backtest sem deslizamento, curva de lucro parece bom, mas há diferenças entre o backtest e a negociação real no mercado real.

Reverso com deslizamento

img

Como mostrado acima, a mesma estratégia, se adicionada com 2 pontos de deslizamento, os resultados de backtesting com e sem deslizamento são muito diferentes, o que significa que essa estratégia precisa ser melhorada ou abandonada.

Resumindo

Algumas pessoas podem perguntar, uma vez que pode haver tantos problemas na negociação quantitativa, como posso provar que minha estratégia é ok? A resposta é simples, devemos primeiro simulação de negociação por esta estratégia algum tempo antes de usar o dinheiro real, se o preço de negociação e situação de simulação de negociação são quase o mesmo com a lógica da estratégia, então pelo menos provar a lógica da estratégia não tem problema.

Em qualquer caso, para um desenvolvedor de sistema de negociação experiente, o backtesting é uma necessidade. Porque ele pode dizer se uma ideia de estratégia pode ser validada nos dados históricos. Mas muitas vezes o backtesting não significa que o futuro será lucrativo. Porque há muitos poços no backtesting, depois de pagar o preço, você vai entender. E essas lições são todas empilhadas em dinheiro real. Este artigo é principalmente para reduzir os desvios e armadilhas.

Exercícios após a escola

  1. O que é excesso de adequação e como evitá-lo?

  2. Quais são os exemplos da vida real do "viés sobrevivente"?


Relacionados

Mais.