Discussão do artigo "Importância da qualidade do gerador de números aleatórios no desempenho dos algoritmos de otimização" - página 12

 
Andrey Dik #:
Não há nenhum elemento no circuito que seja responsável e/ou afete a robustez? Qual é esse elemento?

Pode haver muitas formas de generalização e é desejável tentar todas elas para identificar a mais eficaz. Desse ponto de vista, o fluxograma será ampliado de forma diferente, dependendo da abordagem.

Por exemplo, pode haver um "Pós-processamento" (para agrupamento) após o bloco "Resultado" (que deve ser renomeado para "Resultados" porque o agrupamento precisa de todos os resultados, não apenas de um).

Ou algum "Controlador" entre "Função de aptidão" e "Algoritmo de otimização", que pode executar todos os tipos de funções, em particular, adicionar ruído aleatório.

Além disso, o diagrama claramente carece de "Dados de entrada". Então, ele poderia ser dividido em IS/OOS e aplicar blocos a eles em paralelo, verificando à medida que avançamos.

Por fim, há a conhecida abordagem de otimização Walk-Forward (embora específica para séries temporais, não para otimização em geral). Para ele, o esquema atual é apenas um estágio de otimização, que, na verdade, deve ser preparado em vários estágios por algum "gerente" de bloco externo - por exemplo, várias otimizações de 12 meses com uma mudança de mês. E então uma nova dimensão para a pesquisa se abre - figurativamente falando, vemos como o FF "respira" com o tempo e aprendemos a prever sua próxima forma (como? - uma nova série de artigos será necessária aqui). Ou vice-versa - vemos que ele muda de forma tão imprevisível que ou o TS ou o instrumento financeiro claramente não se adequam um ao outro... ou precisamos reduzir a etapa de avanço para 1 semana para que funcione. Não se trata apenas de uma questão de estabilidade, mas também da duração dessa estabilidade.

 
Stanislav Korotky #:

Pode haver muitas formas de generalização e é desejável tentar todas elas para identificar a mais eficaz. Desse ponto de vista, o fluxograma será preenchido de diferentes maneiras, dependendo da abordagem.

Por exemplo, pode haver "Pós-processamento" (para agrupamento) após o bloco "Resultado" (que deve ser renomeado para "Resultados" porque o agrupamento exige todos os resultados, não apenas um).

Ou algum "Controlador" entre "Função de adequação" e "Algoritmo de otimização", que pode fazer todo tipo de coisa, como adicionar ruído aleatório.

Além disso, o diagrama claramente carece de "Dados de entrada". Então, ele poderia ser dividido em IS/OOS e aplicar blocos a eles em paralelo, verificando-os à medida que avançamos.

Por fim, há a conhecida abordagem de otimização Walk-Forward (embora específica para séries temporais, não para otimização em geral). Para ele, o esquema atual é apenas um estágio de otimização, que, na verdade, deve ser preparado em vários estágios por algum "gerente" de bloco externo - por exemplo, várias otimizações de 12 meses com uma mudança de mês. E então uma nova dimensão para a pesquisa se abre - figurativamente falando, vemos como o FF "respira" com o tempo e aprendemos a prever sua próxima forma (como? - uma nova série de artigos será necessária aqui). Ou vice-versa - vemos que ele muda de forma tão imprevisível que o TS ou o instrumento financeiro claramente não são adequados um para o outro... ou precisamos reduzir a etapa de avanço para uma semana para que funcione. Não se trata apenas de uma questão de estabilidade, mas também da duração dessa estabilidade.

O que você mencionou tem o direito de ser e, em muitos casos, deveria ser, mas ele se refere ao "tratamento sintomático", não aborda os motivos da robustez ou não robustez dos resultados obtidos e é uma medida externa (como fazer um diagnóstico por meio de medições periódicas da temperatura do paciente - isso não é ruim nem bom, apenas pode não dar a oportunidade de obter uma anamnese objetiva).

Na verdade, tudo o que realmente afeta a robustez dos resultados já está nesse esquema.

 
Andrey Dik #:

O que você mencionou - tem o direito de ser e, em muitos casos, deveria ser, mas se refere ao "tratamento sintomático", não considera os motivos da robustez ou não robustez dos resultados obtidos e é uma medida externa (como fazer um diagnóstico por meio de medições periódicas da temperatura do paciente - isso não é ruim nem bom, apenas pode não dar a oportunidade de obter um histórico objetivo).

De fato, tudo o que realmente afeta a robustez dos resultados já está nesse esquema.

Então esperamos por explicações e demonstrações sobre os testes.

 
Stanislav Korotky #:

Em seguida, aguardamos esclarecimentos e demonstrações sobre os testes.

Certo. Gostaria de ouvir a visão de Saber e Andrei, além disso, como participantes da discussão sobre robustez.

Se eu publicar um método de trabalho para obter resultados robustos de sistemas em processos não estacionários, receberei imediatamente um Prêmio Nobel e um monumento feito de um pedaço sólido de malaquita, o que é muito atraente, mas dificilmente viável. Mas, pelo menos, já é bom entender o que pode influenciar a robustez dos resultados e o que não pode.

[Excluído]  
Difícil). nosso lema é invencível.
 
Stanislav Korotky #:
A questão é o que fazer em seguida com o conjunto desses conjuntos com "topos de morro". Anteriormente, tínhamos um máximo global como solução do algoritmo de otimização, digamos que agora temos 50 deles. Mas eles não chegam nem perto de resolver o problema de estabilidade.

Digamos que o TC possa capturar um padrão relativamente estável em determinadas configurações. Ao mesmo tempo, o máximo global do OnTester não se enquadra nessas configurações, e não sabemos qual FF escolher para atingir o alvo desejado.


Se algum padrão de preços puder ser reproduzido pelo TS, então o conjunto procurado corresponderá a algum topo local do FF. Alguns topos altos corresponderão a cisnes brancos não sistemáticos que estavam na amostra. Por causa disso, conjuntos de entrada mais baixos, mas potencialmente estáveis, são perdidos nas AOs clássicas.


Uma afirmação simples que pode ser facilmente testada na prática. Considere praticamente qualquer TS com um grande número de posições não sobrepostas. Por exemplo, 10 dessas posições por dia. Encontre o máximo global de InputsMax1 para todo o ano de 2023 e InputsMax2 para o verão de 2023. Obviamente, no verão de 2023, nenhum AO encontrará InputsMax1 sequer próximo. Mas você verá que, entre os vértices locais do verão de 2023, há um que está muito próximo de InputsMax1.


Volto à pergunta. Os 50 vértices encontrados devem ser executados em OOS. E se for encontrada uma InputsMax1 condicional entre eles, continuaremos investigando. Caso contrário, jogue-o fora (mude o símbolo).

[Excluído]  
A primeira prova de que ninguém precisa do máximo global, nem é superpreciso encontrá-lo. Isso é um xeque-mate por enquanto. O xeque-mate continuará, embora a situação de impasse tenha aparecido no tópico MO.

Embora lá o adversário confunda rei com rainha.
[Excluído]  

Certamente não há nada no esquema que afete a robustez

Há apenas coisas no circuito que afetam o ajuste. Quanto melhor for o esquema, melhor será o ajuste.

Se estivermos falando de FF, ele não tem efeito sobre a robustez.

 
Não entendo por que você fala sobre colinas e picos como algo estático. O mercado não é estático!
Afinal, é absolutamente óbvio que, se você obtiver uma nova superfície FF todos os dias, por exemplo, ao "otimizar" dois parâmetros e, em seguida, colar os quadros obtidos, obterá algo assim:



E se você tiver pego a colina certa? É uma colina da história, mas não do futuro. Qual é o objetivo?
Portanto, concordo com Dmitrievsky. Adaptar-se à história ainda é adaptar-se, mesmo que você chame isso de otimização pelo método Macaca, Crane ou Octopus.

 

Por exemplo, um exemplo ilustrativo.
Tomamos a estratégia de dez harmônicos, que devem ser somados para obter uma linha de extrapolação para tomar uma decisão sobre a abertura de negociações.
Cada harmônico tem três parâmetros: amplitude, frequência, mudança de fase. Total de 10*3=30 parâmetros necessários.
É claro que você pode calculá-los usando a Transformada Rápida de Fourier em alguns milissegundos, mas não vamos procurar maneiras fáceis e escolheremos a melhor combinação desses 30 parâmetros usando otimização por força bruta, algoritmo genético e os artigos de Dick.
Esperamos que, em um bom supercomputador, consigamos a combinação certa de 30*10000 = 300.000 combinações de todos os 30 parâmetros em alguns dias após a pesquisa genética e, assim, toda semana, otimizaremos novamente essa estratégia no fim de semana.
E aqui está o que obteremos no gráfico semanal:



Como você pode ver, a linha de extrapolação vermelha não nos ajudará muito na negociação, apesar das centenas de quilowatts de energia queimados durante a otimização :))) Porque o mercado está mudando o tempo todo.

A moral dessa fábula: É necessário não procurar parâmetros, mas calculá-los no processo de negociação dentro do TS para não queimar energia desnecessária. Para ser MUITO breve

Há sempre uma "transformada rápida de Fourier" para qualquer parâmetro.



Arquivos anexados:
2Fourier.mq5  16 kb