Um único indicador de qualidade para a estratégia - página 7

 
Youri Tarshecki:

Para comparar as duas estratégias, mesmo um ajuste de mercado de 60% seria suficiente para fazer uma escolha em favor de uma ou de outra. Você terá apenas que aumentar o tamanho da amostra.

Para trabalho em código real, a precisão disponível de 95% de simulação do ambiente a 1m é muito boa . Muitos modelos de ambientes científicos e práticos não podem se orgulhar de tal precisão.

Não vejo nenhuma razão para acreditar que o método automático de criação de estratégias seja de alguma forma milagrosamente diferente do manual em termos de dependência da qualidade da história.

Se a história é ruim, ela é ruim para todos os Consultores Especialistas.

Em outras palavras, a questão da escolha do ambiente não está diretamente relacionada com os critérios de avaliação do sistema.

"Não vejo nenhuma razão para acreditar que o método automático de criação de estratégia seja de alguma forma milagrosamente diferente do manual em termos de dependência da qualidade da história". - Uma busca automática pode encontrar uma "estratégia" que explora as características técnicas (defeitos) do próprio testador combinado com a qualidade dos dados históricos. Aparentemente, você não encontrou tal problema)). Aqui está um exemplo ilustrativo:

Suponha que dados históricos do formato OHLC sejam usados, carrapatos não são modelados, períodos menores não são usados, condições de entrada/saída do mercado são calculadas a cada chegada de valor O, H, L ou C.

Na figura:

Como (O-L) + (H - C) < (H - O) + (C-L) o testador simula movimentos de mercado usando valores na seqüência mostrada na figura, o que é bastante lógico.

Como resultado, acontece que no momento indicado pela linha vermelha, os dois valores Aberto e Baixo (para a estratégia, será Fechado) conterão informações sobre o "futuro".

Esta é a regra de "tirar proveito":

se (Abrir[0] - Fechar[0])> X e (Alto[0] == Aberto[0]), então compre, onde X é algum valor que se sobrepõe ao spread.

Note que, neste momento, os valores OHLC para a estratégia corresponderão aos valores OOLL dos dados históricos!!!

É mostrado o defeito do testador e a má qualidade da história.

 
Aliaksandr Hryshyn:


Mostra o defeito do testador e a má qualidade da história.

Isso é o que você quer dizer com o futuro. Este fenômeno já é conhecido há muito tempo. Lembro-me que há cerca de três anos havia até mesmo um artigo sobre o estudo das conseqüências de se obter lucro com base em um EA com esta característica. O lucro foi gerado pelo Expert Advisor sem nenhuma pausa.

Mas qual é a probabilidade de a estratégia aprender a pegar este chip sozinha e até mesmo levando em conta a propagação se você não ensiná-la a fazer isso? Parece-me insignificante.

É claro que, na realidade, o preço pode ir e vir como quiser dentro de uma vela. É isso que cria esses 5-10% de erros no teste a partir do real. Não é crítico para comparar estratégias em um teste, pois todas elas estarão nas mesmas condições de qualquer maneira.

E se você acha que é crítico, então pegue a verdadeira história do tick, sacrificando a velocidade.

Ou seja, tudo isso não é importante em comparação com o método de teste a ser utilizado.

 
Você está definitivamente perdendo o ponto)). No testador de estratégia, no meu exemplo com o defeito, o EA só dará ofícios positivos, um graal)). Quando as estratégias de autodetecção, que são projetadas para procurar "grails", podem chocar com estes defeitos.
Acredite-me, este é um problema sério para o gerador de estratégias, já está lá, certamente melhor do que no exemplo. Uma boa equidade para um terreno não otimizado pode ceder em um minuto, enquanto eu estou trabalhando para aumentar a "inteligência". Programas similares que encontrei na Internet não têm e não podem ter muitos problemas, isto se deve a certo padrão de geração de regras, exemplo de uma regra gerada: (A<B) & (A>C) & if(D>C;true;A>B).
 
Houve momentos em que o sistema encontrou uma "estratégia" que, em cerca de 150 negócios, teve cerca de 15 negócios perdidos fora deles, e isto em uma trama não otimizada. De alguma forma, há pouca confiança nestes resultados.
 
Aliaksandr Hryshyn:
Houve momentos em que o sistema encontrou uma "estratégia" que, em cerca de 150 negócios, teve cerca de 15 negócios perdidos fora deles, e isto em uma trama não otimizada. De alguma forma, há pouca confiança nestes resultados.
Você vai atirar em você mesmo?
 
Há também outros defeitos... A propósito, eles também podem dar os melhores resultados em uma área não otimizada, uma vez que utilizam padrões de comportamento sem preço.
 
Алексей Тарабанов:
Atirem em vocês mesmos?
))
 
Aliaksandr Hryshyn:
Você está definitivamente perdendo o ponto)). No testador de estratégia, no meu exemplo com o defeito, o EA só dará ofícios positivos, um graal)). Quando as estratégias de autodetecção, que são projetadas para procurar "grails", podem chocar com estes defeitos.
Acredite-me, este é um problema sério para o gerador de estratégias, já está lá, certamente melhor do que no exemplo. Uma boa equidade para um terreno não otimizado pode ceder em um minuto, enquanto eu estou trabalhando para aumentar a "inteligência". Tenho encontrado muitos problemas com programas análogos na Internet, tem a ver com um padrão específico de geração de regras, por exemplo, regra gerada: (A<B) & (A>C) & if(D>C;true;A>B).

Estamos falando de duas coisas diferentes.

1.Estou ciente de seu exemplo há muito tempo. Minha opinião - a probabilidade de uma criação tão acidental durante a "evolução" é insignificante. Se você ainda tiver medo de tais e similares truques de "não-preço" - basta fazer uma verificação do histórico de carrapatos com uma divulgação plausível - e tudo se revelará de uma só vez. Basta mudar o tipo de teste no ini-file às vezes.

Os modelos de geração de regras, na minha opinião, para que não haja soluços, devem funcionar a um nível suficientemente alto de generalização dessas regras e bloquear a compatibilidade. E então o próprio usuário pode definir estas dependências e os elementos com os quais o gerador tem que trabalhar.

2. Se o gerador contiver uma seleção de estratégias baseada em testes, então, o volking forward é um MUST. Além disso, simplificará drasticamente o critério de seleção.

 
Youri Tarshecki:

Estamos falando de duas coisas diferentes.

1.Estou ciente de seu exemplo há muito tempo. Minha opinião é que a probabilidade de criação acidental de tal coisa no curso da "evolução" é insignificante. Se você ainda tiver medo de tais e similares truques de "não-preço" - basta fazer um teste de controle em um histórico de carrapato com uma divulgação plausível - e tudo se revelará imediatamente. Basta mudar o tipo de teste no ini-file às vezes.

Os modelos de geração de regras, na minha opinião, para que não haja soluços, devem funcionar a um nível suficientemente alto de generalização dessas regras e bloquear a compatibilidade. E então o próprio usuário pode definir estas dependências e os elementos com os quais o gerador tem que trabalhar.

2. Se o gerador contiver uma seleção de estratégias baseada em testes, então, o volking forward é um MUST. Além disso, simplificará drasticamente o critério de seleção.

Provavelmente será).

Quais você acha que deveriam ser as regras? Só me pergunto como você vê o problema.

 

Eu sugiro esta opção.

Esta avaliação é adequada para estratégias que tenham as seguintes características/limitações:

  • a presença de um stop loss
  • o risco de cada operação é fixo e medido na moeda. o lote é calculado com base no tamanho do stop loss, então quando ele aciona, perdemos apenas o montante definido pelo risco
  • várias negociações podem ser consideradas como uma única negociação, se fizerem parte de algum esquema de negociação e o risco total for fixo.

O lucro e o drawdown são representados como a relação de seus respectivos valores com o risco/perda fixa.

Os principais indicadores de desempenho da estratégia são tomados e transformados como mostrado na figura abaixo, a ordem das fórmulas corresponde à ordem dos indicadores no título.

Na tabela também está a complexidade da estratégia, você não pode usá-la, eu precisava dela.

A volatilidade mostra a soma dos desvios máximos dos valores patrimoniais em relação à linha de regressão nos valores correspondentes, graficamente é assim:

Volatilidade é a soma dos valores absolutos de A B, ou seja, A+||B|

Há também um valor de rentabilidade ligeiramente modificado que é calculado da seguinte forma

Rentabilidade=(lucro total + 1)/(perda total + 1)

Ela é transformada da seguinte forma:

Uma vez que a rentabilidade não é muito útil com um pequeno número de negócios, fazemos o seguinte:

o gráfico acima mostra como o valor de rentabilidade será calculado dependendo do número de negócios.

Então mudamos novamente a rentabilidade (com base em sua importância, dependendo do número de negócios) usando a seguinte fórmula

Rentabilidade = 1 + Rentabilidade * Significado - Significado

Então todos os valores obtidos de lucro, drawdown, número de negócios, volatilidade e lucratividade (da última fórmula) são multiplicados, como resultado obtemos algum coeficiente único que reflete a qualidade geral da estratégia baseada no negócio em um determinado período de tempo.

Valores da relação:

0 - impiedosamente terrível)

0,3 - ruim

~0,8 - bom

>1 - muito bom

Aqui estão os resultados da avaliação desta forma:

Aqui este fator é representado como Z-coeficiente, você pode avaliar os conjuntos de treinamento (linha verde) e teste (linha roxa).

Um bom resultado para a linha de equidade verde (0,993) e a linha roxa inferior (0,5714)

Para a linha roxa é ligeiramente melhor do que ruim, a rentabilidade é de 1.447

Exemplos de maus resultados.