Faixa de otimização - página 4

 

A tarefa de otimização é encontrar tais parâmetros de TS, nos quais obtemos um resultado estável no período testado... Quanto maior o intervalo de tempo, mais você pode confiar nos resultados obtidos no futuro.... Quando testamos, obtemos informações quase completas. Eu também gostaria de ver curvas de equilíbrio e equidade, dependendo do prazo. Mas provavelmente é apenas um sonho...

Pergunta: para que servem estas curvas? Para traçar linhas quebradas sobre eles, ou melhor, ziguezaguear para identificar extrema.... Os altos e baixos... Analisamos os resultados e selecionamos parâmetros...

Hoje, após os testes, conhecemos apenas um extremo: o máximo drawdown, que obviamente não é suficiente ...

 
Vinsent_Vega писал(а) >>

o que é verdade é verdade... por isso pergunto-me se devo aceitar ou não a palavra do Neutron.

Otimizado - como? apenas otimizou seu conselheiro ou o quê? Pensei que alguma pesquisa séria tinha sido feita... (Eu mesmo não li Yezhov, então pensei que era a figura dele - "4")


Vinsent, eu nãosou um apóstolo em quem se possa acreditar. Tudo o que citei em meus posts é facilmente verificado por repetições triviais.

Quanto ao coeficiente, ele pode ser determinado de duas formas não sobrepostas - por dedução direta, o que é difícil para mim, e por estimativa. Ezhov e Shumsky demonstraram a dependência analítica da duração ótima da história do número de parâmetros ajustáveis a uma constante de precisão da ordem de unidade. Esta dependência não tem nenhuma limitação na área de aplicação. Portanto, é suficiente encontrar seu valor ideal através de vários exemplos e garantir sua estacionaridade, de modo a não brincar com cálculos matemáticos complicados sem uma grande necessidade. Isso já foi feito.

 

OK, muito obrigado... :)


Por que eu estou me metendo tanto nisso - para mim esta questão (faixa de otimização) é central no momento... Talvez o cavaleiro esteja certo - em muitos aspectos é uma questão de psicologia - quero me convencer da confiabilidade de minha escolha... Mas eu preciso ter uma boa razão (de preferência alguma pesquisa científica séria) para escolher um ou outro esquema de otimização...


mas aparentemente, terei de confiar apenas na minha experiência e intuição.

 
Vinsent_Vega писал(а) >>

Por que estou me metendo tanto nisso - para mim esta questão (faixa de otimização) é central no momento... talvez o cavaleiro esteja certo...

Na verdade, o cavaleiro não está certo, mas o mais provável é que a kharko esteja:

kharko escreveu >>

A tarefa de otimização é encontrar tais parâmetros de TS, quando obtivermos um resultado estável no tempo testado... Quanto maior o intervalo de tempo, mais você pode confiar nos resultados obtidos no futuro....

O problema é muito mais amplo e mais delicado, paradoxalmente. De fato, se nos voltarmos para a fórmula que mostra a dependência do erro de generalização do testador de estratégia, vemos que ela diminui monotonicamente com o crescente número de transações P: E=Eapprox+ Ecomplex=d/W+W/P, ou seja, quanto maior a amostra de treinamento, melhor... Mas isto é verdade sob a hipótese de imutabilidade (estacionariedade) do mercado, mas na verdade é mutável, e a partir de alguns P os exemplos se tornam inúteis, além do mais - prejudiciais. Nessas condições, é importante definir o limite após o qual o aumento do número de exemplos só piora a situação. Precisamos determinar o limite esquerdo para o parâmetro P. Isto ocorrerá quando o erro devido à complexidade do modelo for comparável ao erro de aproximação ou ligeiramente menor que este último, e não tende a zero, como seria o caso proposto pela kharko. Portanto, há um ideal suave pelo parâmetro P=k*W em torno de k=3-6.

É de onde vem o coeficiente, ele está na natureza de não-estacionariedade dos processos no mercado.

 
Neutron >> :

Não é realmente o cavaleiro que está certo, mas sim o kharko:

O problema é muito mais amplo e delicado, paradoxalmente. De fato, se nos referirmos à fórmula que mostra a dependência do erro de generalização do testador de estratégia, vemos que ela diminui monotonicamente com o crescente número de transações P: E=Eapprox+ Ecomplex=d/W+W/P, ou seja, quanto maior a amostra de treinamento, melhor... Mas isto é verdade sob a hipótese de imutabilidade (estacionariedade) do mercado, mas na verdade é mutável, e a partir de alguns P os exemplos se tornam inúteis, além do mais - prejudiciais. Nessas condições, é importante definir o limite após o qual o aumento do número de exemplos só piora a situação. Precisamos determinar o limite esquerdo para o parâmetro P. Isto ocorrerá quando o erro devido à complexidade do modelo for comparável ao erro de aproximação ou ligeiramente menor que este último, e não tende a zero, como seria o caso proposto pela kharko. Portanto, há um ideal suave pelo parâmetro P=k*W em torno de k=3-6.

É de onde vem este coeficiente, está na natureza de não-estacionariedade dos processos no mercado.

Deus esteja com ela com a justiça.... eu não insisto, e não encontro tal direito para mim))..... eu gostaria muito de acreditar em seu k=3-6 e fazer sem qualquer forwards...... (((..... mas algo não me deixa entrar, e o mais importante, que as operações de rotina não estão se tornando menos: você poderia definir no otimizador o número de transações para um certo intervalo - uma outra conversa bem diferente ocorreria.....

Posso ter um link para Yezhov, etc.?

 
rider писал(а) >>

e posso obter um link para Yezhov, etc., por favor???

Apanhe, páginas 64-66.

Arquivos anexados:
ts.zip  1592 kb
 
obrigado
 
Neutron писал(а) >>

Não, não. Espere!

A freqüência dos negócios por si só, e seu número ideal no histórico de testes por si só. Você otimiza os parâmetros do TS analisando os resultados comerciais - encontre o máximo de alguma funcionalidade, neste caso, pode ser a renda ou rentabilidade comulativa (número de pontos por transação). Agora você tem uma pergunta: dado o número de parâmetros ajustáveis, você precisa encontrar o número mais otimizado de transações, sobre o qual o testador irá otimizar a estratégia. Nota, não o tempo, ou seja, o número de entradas e saídas para o mercado.

Em resumo, a tarefa inclui apenas o número de ofícios - eles não devem ser mais ou menos do que o número ideal. Você encontrou a melhor rentabilidade - o comércio. Depois de um certo período de tempo, você começa a super-optimização e a fazê-la o tempo todo. Como implementá-lo no Testador de Estratégia? Você tem que pensar...

....

Se tivermos 5 parâmetros otimizados no testador (por exemplo, períodos de ondulação), então a duração ideal do histórico deve ser tal que o testador faça 4*5=20 transações sobre ele. Pode levar de 1 a ...200 dias de história, tudo depende da estratégia adotada. A redução deste número levará à adequação do testador à história e ao aumento - à deterioração da qualidade da aproximação e, como conseqüência, ao agravamento da precisão da previsão.

Citação de trechos de seus posts.... Conclusões...

Você argumenta que há um número ideal de negócios dependendo do número de parâmetros de ajuste... Ok... vamos concordar....

Agora nossa tarefa é encontrar para cada execução o intervalo de tempo ideal no qual o TS realizou o número ótimo estimado de operações.... Isto é, para alguns parâmetros a história de 1 dia é suficiente, e para outros até mesmo um ano não é suficiente... Tal variante não é adequada...

OK... Vamos simplificar a tarefa.... Vamos deixar um intervalo de tempo constante... Vamos considerar apenas aquelas corridas que nos dão o número ideal de negócios.

Qual é a melhor? A resposta é óbvia... Aquele que tem a maior expectativa matemática....

Mas e as corridas que fizemos? Eles não são utilizáveis?

Suponhamos que o número ideal de negócios seja N... Há uma corrida com esse número de ofícios... Mas há uma corrida com K vezes mais acordos...

Enquanto nossa corrida ideal fará 1 negociação, outra não ideal em número de negociações, já fará K trades....

Agora vamos comparar o lucro que obtemos com as corridas perfeitas e não perfeitas... Para fazer isso, multiplique o número de negócios pelo valor correspondente do pagamento esperado.

Se o lucro de uma corrida não ideal parece ser maior, isso significa que demoramos muito tempo para otimizar essa corrida, pois conseguimos a quantidade de negócios diferente da ideal... Há outra discrepância...

Mesmo que façamos 1 corrida que atenda à condição do número ideal de tráfegos, então se apenas deslocarmos o intervalo de tempo para a direita ou esquerda, obteremos resultados diferentes para o número de tráfegos...

Conclusão: o método proposto de otimização é a utopia.

 

ao Neutron

Mais uma coisa sobre o número de negócios: na minha EA existe um parâmetro como número máximo de ordens e se os parâmetros forem escolhidos corretamente, o aumento do número de negócios simultâneos feitos pela EA aumenta o lucro, mas, por outro lado, obtemos um número não ideal de negócios em um determinado período de tempo em relação ao número de parâmetros de entrada para a EA, como devemos lidar com isso?

 

Você gostaria de considerar este tipo de otimização e de reteste:

int start()
{
   if(IsTesting()==true)
   {
      if(IsOptimization()==true && DayOfWeek()&0xE==DayOfWeek())return;
      if(IsOptimization()==false && DayOfWeek()&0xE!=DayOfWeek())return;
   }
//код советника
//код советника
}

Em vez de

DayOfWeek()
você poderia colocar outra função, por exemplo,

Month()

ou, ao contrário, um menor.

  Hour()