Avaliando o desempenho comercial das estratégias

Um problema comum para um comerciante é saber quando sua estratégia perdeu a vantagem, ou em resumo, quando existe uma situação que não se encaixa nas estratégias atuais. As estratégias geradas pela mineração de dados podem sofrer degradação de desempenho muito rapidamente, e estes trechos podem ajudar a analisar tais situações. Este episódio é a introdução a uma série de artigos nos quais apresentarei novos trechos do WHAT-IF para nos ajudar a lidar com este problema. Nos episódios seguintes, também introduziremos trechos baseados na lógica de controle de qualidade estatística e, finalmente, conduziremos um estudo comparando se esses trechos reduzem estatisticamente o perfil de risco das estratégias.

Na parte de hoje, preparei um trecho que permite ao desenvolvedor da estratégia medir o saque máximo no período da amostra (o período de treinamento) e depois encerrar a estratégia quando ela atingir o valor percentual deste saque no período fora da amostra.

.

Preparei duas versões da Análise QUE-IF

 

1.Lógica de treinamento/teste

e WHAT-IF snippet, você pode definir o limite percentual da porcentagem de extração na amostra. Por exemplo, você pode escolher 50% de IS DD ou 150% de IS DD. Finalmente, a estratégia se desliga durante o período fora da amostra quando atinge o limite percentual de extração medido na amostra DD.

2. Lógica de treinamento/validação/teste

Este snippet WHAT-IF funciona com lógica de teste de treinamento/validação. Esta forma de análise é baseada no método de hold-out. No método de retenção para seleção do modelo, o conjunto de dados é dividido em três conjuntos diferentes - treinamento, validação e conjunto de dados de teste.

Fonte: https://vitalflux.com/hold-out-method-for-training-machine-learning-model/

 

O "What If snippet" tem duas modalidades.

 

  1. O drawdown máximo é medido na parte de treinamento dos dados, e a estratégia deixa de negociar na parte de validação e teste dos dados após atingir o drawdown máximo de treinamento.
  2. O trecho O QUE-IF determina o drawdown máximo na parte de validação dos dados e pára de negociar na parte de teste dos dados após atingir o drawdown percentual medido na parte de dados de validação.

 

No Strategy Quant X você pode definir o treinamento/validação/teste na seção Dados.

 

Mais informações sobre como usar e definir o treinamento/validação/teste que você pode encontrar aqui.

 

Vamos dar uma olhada no uso desses trechos na prática:

 

Treinando/Testando o que-IF snippet

 

Na figura acima, vemos uma estratégia simples de RSI dividida em um período in-sample e um período out-of-sample. Podemos ver que a estratégia atinge o máximo de retirada da amostra no período fora da amostra.

 

Depois de utilizar o trecho WHAT-IF, podemos ver o que acontece quando a estratégia sai do comércio após atingir 50% da retirada máxima da parte de amostra dos dados. A estratégia em Out of sample terminará o comércio mais cedo. Na parte inferior do banco de dados, podemos ver como as estatísticas de cada estratégia mudaram. O drawdown em What If Out Of Sample é menor.

 

Treinamento/Validação/Teste do snippet QUE-IF

 

Snippet funciona em dois modos:

Modo = 1

Opera sob a suposição de que a negociação da estratégia é desativada quando o valor percentual do saque máximo do período de treinamento é atingido. Esta lógica é aplicada tanto no período de validação quanto no período de teste.

Modo = 2  

Funciona com a suposição de que a negociação da estratégia é desativada quando o valor percentual do saque máximo é medido no período de validação. Esta lógica é aplicada no período de teste.

 

 

Backtest básico

Na figura a seguir, vemos o recuo inicial da estratégia dividida em Treinamento/Validação/Teste.

 

 

Modo = 1

Depois de utilizar o trecho WHAT-IF, vemos que a estratégia não conseguiu atingir 50% de seu drawdown medido no período de Treinamento. O 50% do drawdown foi alcançado somente na parte de teste dos dados, onde a comercialização foi interrompida.

 

Modo = 2

Neste modo, eu defino um drawdown de 100% na parte de validação dos dados. Na parte de teste, a estratégia chegou a um drawdown de 100% bem rápido e parou de comercializar.

 

Estes trechos de "O QUE-IF" são uma introdução ao tópico. O objetivo é trabalhar todo o fluxo de trabalho. Quanto à implementação em plataformas, → a solução acima pode ser implementada em MT4/MT5 e também em Tradestion/Multicharts. De qualquer forma, em termos de modularidade, a melhor plataforma é o Metatrader 5.

No final do blog, gostaria de abrir uma discussão sobre idéias que poderiam ser integradas nos trechos. Se você tiver idéias, por favor, coloque-as na discussão abaixo do artigo, ou diretamente para [email protected]

 

Ambos E se o snippet você pode baixar aqui.

 

clonex / Ivan Hudec

Ivan Hudec — “Clonex” no fórum

Negocio há 15 anos e venho desenvolvendo com o StrategyQuant X desde 2014. Hoje em dia, faço três coisas: desenvolvo e testo estratégias automatizadas em condições reais de mercado, amplio o próprio SQX com indicadores personalizados, trechos de código e ferramentas em Python para aprendizado de máquina e pesquisa quantitativa, e ajudo outros traders a chegarem lá mais rápido — sem passar pelos anos de erros caros que cometi ao longo do caminho.
A maioria das estratégias de trading parece ótima em um backtest, mas desmorona na prática. Meu trabalho é exatamente o oposto: estratégias que são honestas, validadas e robustas o suficiente para que se possa confiar nelas com dinheiro real. Escrevo sobre esse processo — o que dá certo, o que dá errado e o sobreajuste de que ninguém fala — no meu site, algotrading.space.
Se você quiser se aprofundar no tema da validação, no desenvolvimento personalizado de SQX ou na criação de uma vantagem competitiva real com dados e código, é lá que eu compartilho tudo isso.  www.algotrading.space

11 Comentários
mais antigos
mais recentes Mais votado
Comerciante de abelhas
2. 3. 2022 10:01 am

Olá Clonex,

Obrigado pela redação e pelos trechos. Você já pensou em usar um método de ajuste de uma distribuição como a Beta e depois usar as propriedades estatísticas para parar a comercialização se houver um desvio além do limite permitido/escolhido? Tim Masters fala sobre isso em seus livros.

Obrigado
Comerciante de abelhas

Comerciante de abelhas
Responder para  clonex / Ivan Hudec
2. 3. 2022 4:51 pm

Quais métodos de SQC você está considerando para sua próxima pesquisa?

Emmanuel
11. 4. 2022 6:03 pm

Excelente !!!!!! Muito obrigado Clonex por este trabalho fantástico !!!!!

hannahis
14. 6. 2022 7:52 pm

"Um problema comum para um comerciante é saber quando sua estratégia perdeu a vantagem, ou em resumo, quando existe tal situação que não se encaixa nas estratégias de hoje. As estratégias geradas pela mineração de dados podem sofrer degradação de desempenho muito rapidamente"...". Feliz de dar a volta e não progredir mais... ciclo interminável de tentativas e sem sucesso... Alguém já se sentou e considerou por que as estratégias muitas vezes perdem sua vantagem (especialmente para estratégias de mineração de dados que não são baseadas em uma sólida teoria comercial)? A menos que alguém se sente e pense muito bem, estaremos sempre perseguindo o vento e… Leia mais "

Última edição 4 anos atrás por hannahis
hannahis
Responder para  hannahis
14. 6. 2022 8:11 pm

Você não estará mais minerando ou encontrando estratégias robustas. Você conhecerá os ingredientes para estratégias robustas e começará a construí-las (sem a necessidade de procurar mais porque você sabe como jogar junto com os criadores de mercado, a chave para desenvolver estratégias robustas). Os softwares não saberão sobre manipulação de mercado, eles só olham para os dados, mas não a intenção por trás dos dados (manipulação de mercado). Assim, olhando apenas para os dados (históricos) sem entender a manipulação de mercado, o software não saberá o que procurar e quais características são importantes, etc.

Adam Kundrát
Responder para  hannahis
8. 8. 2022 8:06 am

Linha de pensamento interessante e muito provavelmente correta em termos do fato de que os criadores de mercado têm essencialmente diferentes intenções de negociar em comparação com os comerciantes habituais. Não tenho certeza se você coloca sinais iguais entre as atividades dos criadores de mercado e a manipulação de mercado, mas acredito que sim. Então a questão é se a manipulação é uma atividade intencional, ou melhor, uma atividade proveniente de uma existência dos criadores de mercado? Uma ou outra e considerando seus pensamentos, as perguntas seriam: (1) podem ser encontradas estratégias lucrativas? com base em seus pensamentos, acredito que a resposta é SIM, mas seu… Leia mais "

Adam Kundrát
8. 8. 2022 8:20 am

Olá Clonex, obrigado por seu artigo. Eu não tenho certeza se ainda posso captar um significado completo de sua adição, mas eu entendo bem que o resultado de seu teste compara essencialmente o DD mais alto no conjunto de dados da amostra com o valor atual definido de DD de uma estratégia de negociação em conta real e pára de negociar a estratégia quando o valor definido é excedido? Por exemplo, DD na amostra = $1.000, valor predefinido = 130% do DD na amostra = $1.300. Quando a estratégia excede o valor pré-definido do DD ($1.300) em conta real, então o MT4/MT5 fecha todas as negociações… Leia mais "

SteveChou
9. 3. 2023 4:06 am

Esta é uma boa idéia para que os comerciantes saibam quanto tempo falharão com sua estratégia depois de criar.
Mas, tenho uma sugestão, talvez possa ser melhorada esta avaliação.
Ele pode mudar a referência DD do resultado da estratégia original para Monte Carlo 95%(ou então %).
Porque sabemos que o resultado da MC pode prever a possibilidade de uma estratégia de futuro.
Portanto, se o resultado de referência puder ser modificado para resultado MC, talvez seja melhor.
É apenas uma idéia pensada.

Continuar lendo