Discusión sobre el artículo "El papel de la calidad del generador de números aleatorios en la eficiencia de los algoritmos de optimización" - página 12

 
Andrey Dik #:
¿No hay ningún elemento en el circuito que sea responsable y/o afecte a la robustez? ¿Cuál es este elemento?

Puede haber muchas formas de generalización y conviene probarlas todas para identificar la más eficaz. Desde este punto de vista, el diagrama de flujo se ampliará de forma diferente en función del enfoque.

Por ejemplo, puede haber un "Postprocesamiento" (para el clustering) después del bloque "Resultado" (que debería renombrarse a "Resultados" porque el clustering necesita todos los resultados, no sólo uno).

O algún "Controlador" entre "Función de aptitud" y "Algoritmo de optimización", que pueda realizar todo tipo de funciones, en particular, añadir ruido aleatorio.

Además, en el diagrama faltan claramente los "Datos de entrada". Entonces podría dividirse en IS/OOS y aplicarles bloques en paralelo, comprobando sobre la marcha.

Por último, está el conocido enfoque de optimización Walk-Forward (aunque específico para series temporales, no para optimización en general). Para él, el esquema actual es sólo una etapa de optimización, que en realidad deberían preparar varias algún "Gestor" externo de bloques -por ejemplo, varias optimizaciones de 12 meses con un desplazamiento de mes. Y entonces se abre una nueva dimensión para la investigación - en sentido figurado, vemos cómo el FF "respira" con el tiempo y aprendemos a predecir su próxima forma (¿cómo? - aquí se necesitará una nueva serie de artículos). O viceversa - vemos que cambia de forma tan impredecible que o bien la ST o bien el instrumento financiero claramente no se adaptan el uno al otro... o bien necesitamos reducir el paso adelante a 1 semana para que funcione. No se trata sólo de una cuestión de estabilidad, sino también de la duración de esta estabilidad.

 
Stanislav Korotky #:

Puede haber muchas formas de generalización y conviene probarlas todas para identificar la más eficaz. Desde este punto de vista, el diagrama de flujo se completará de distintas maneras en función del enfoque.

Por ejemplo, puede haber "Postprocesamiento" (para la agrupación) después del bloque "Resultado" (que debería renombrarse como "Resultados" porque la agrupación requiere todos los resultados, no sólo uno).

O algún "Controlador" entre "Función de aptitud" y "Algoritmo de optimización", que puede hacer todo tipo de cosas, como añadir ruido aleatorio.

Además, en el diagrama faltan claramente los "Datos de entrada". Entonces se podría dividir en IS/OOS y aplicarles bloques en paralelo, comprobándolos sobre la marcha.

Por último, está el conocido enfoque de optimización Walk-Forward (aunque específico para series temporales, no para optimización en general). Para él, el esquema actual no es más que una etapa de optimización, que en realidad debería ser preparada varias por algún "Gestor" externo de bloques - por ejemplo, varias optimizaciones de 12 meses con un cambio de mes. Y entonces se abre una nueva dimensión para la investigación - en sentido figurado, vemos cómo el FF "respira" con el tiempo y aprendemos a predecir su próxima forma (¿cómo? - aquí se necesitará una nueva serie de artículos). O viceversa - vemos que cambia de forma tan impredecible que o bien la ST o bien el instrumento financiero claramente no se adaptan el uno al otro... o bien necesitamos reducir el paso adelante a 1 semana para que funcione. No se trata sólo de una cuestión de estabilidad, sino también de la duración de esta estabilidad.

Lo que usted ha nombrado tiene derecho a serlo y en muchos casos debería serlo, pero se refiere al "tratamiento sintomático", no aborda las razones de la solidez o no solidez de los resultados obtenidos y es una medida externa (como hacer un diagnóstico mediante mediciones periódicas de la temperatura del paciente - esto no es ni malo ni bueno, simplemente puede no dar la oportunidad de obtener una anamnesis objetiva).

De hecho, todo lo que realmente afecta a la solidez de los resultados ya está en este esquema.

 
Andrey Dik #:

Lo que has nombrado - tiene derecho a serlo y en muchos casos debería serlo, pero se refiere al "tratamiento sintomático", no considera las razones de solidez o no solidez de los resultados obtenidos y es una medida externa (como hacer un diagnóstico mediante mediciones periódicas de la temperatura del paciente - esto no es ni malo ni bueno, sólo que puede no dar la oportunidad de obtener una historia objetiva).

De hecho, todo lo que realmente afecta a la solidez de los resultados ya está en este esquema.

Luego esperamos las explicaciones y demostraciones sobre las pruebas.

 
Stanislav Korotky #:

Luego esperamos aclaraciones y demostraciones sobre las pruebas.

De acuerdo. Me gustaría escuchar la visión de Saber y Andrei, además, como participantes de la discusión sobre robustez.

Si publico un método de trabajo para obtener resultados robustos de sistemas sobre procesos no estacionarios, me darán inmediatamente un premio Nobel y un monumento hecho de un trozo macizo de malaquita, lo cual es muy atractivo, pero difícilmente factible. Pero, al menos, ya es bueno comprender qué puede influir en la robustez de los resultados y qué no.

[Eliminado]  
Duro). nuestro lema es invencible.
 
Stanislav Korotky #:
La cuestión es qué hacer a continuación con el conjunto de estos conjuntos con "cimas". Antes teníamos un máximo global como solución del algoritmo de optimización, digamos que ahora tenemos 50 de ellos. Pero no se acercan a la solución del problema de estabilidad.

Digamos que el CT puede capturar un patrón relativamente estable con determinados ajustes. Al mismo tiempo, el máximo global de OnTester no cae dentro de estos ajustes, y no sabemos qué FF elegir para dar en la diana deseada.


Si el TS puede reproducir algún patrón en los precios, entonces el conjunto buscado corresponderá a algún máximo local del FF. Algunos tops altos corresponderán a cisnes blancos no sistemáticos que estuvieron en la Muestra. Debido a esto, los conjuntos de entrada más bajos pero potencialmente estables se pierden en las OA clásicas.


Una afirmación sencilla que se comprueba fácilmente en la práctica. Tome casi cualquier TS con un gran número de posiciones no solapadas. Por ejemplo, 10 posiciones de este tipo al día. Encuentre el máximo global de EntradasMáx1 para todo el año 2023 y EntradasMáx2 para el verano de 2023. Obviamente, en el verano de 2023, ningún AO encontrará InputsMax1 ni siquiera cerca. Pero encontrará que entre los vértices locales para el verano de 2023 hay uno que está muy cerca de InputsMax1.


Vuelvo a la pregunta. Los 50 vértices encontrados se deben ejecutar en OOS. Y si entre ellos se encuentra un InputsMax1 condicional, indagamos más. Si no - tirarlo (cambiar el símbolo).

[Eliminado]  
La primera prueba de que nadie necesita el máximo global, ni es superpreciso encontrarlo. Esto es jaque mate por ahora. El jaque mate irá a más, aunque la situación de tablas apareció en el tema MO.

Aunque allí el oponente confunde el rey con la reina.
[Eliminado]  

Ciertamente no hay nada en el esquema que afecte a la rabustness

Sólo hay cosas en el esquema que afectan al ajuste. Cuanto mejor sea el esquema, mejor será el ajuste.

Si hablamos de FF, no tiene ningún efecto sobre la robustez.

 
No entiendo por qué hablas de colinas y picos como algo estático. El mercado no es estático!
Al fin y al cabo, es absolutamente obvio, si cada día obtienes una nueva superficie FF, por ejemplo, al "optimizar" dos parámetros, y luego pegas los cuadros obtenidos, obtendrás algo así:



¿Y qué si incluso has cogido la colina correcta? Es una colina de la historia, pero no del futuro. ¿Qué sentido tiene?
Así que estoy de acuerdo con Dimitrievski. Ajustarse a la historia sigue siendo ajustarse, aunque lo llames optimización por el método Macaca, Grulla o Pulpo.

 

Por ejemplo, un ejemplo ilustrativo.
Tomamos la estrategia de diez armónicos, que deben sumarse para obtener una línea de extrapolación para tomar una decisión sobre la apertura de operaciones.
Cada armónico tiene tres parámetros: amplitud, frecuencia, desplazamiento de fase. En total 10*3=30 parámetros necesarios.
Por supuesto, se pueden calcular utilizando la Transformada Rápida de Fourier en unos milisegundos, pero no vamos a buscar caminos fáciles, y elegiremos la mejor combinación de estos 30 parámetros utilizando la optimización por fuerza bruta, el algoritmo genético y los artículos de Dick.
Con suerte, en un buen superordenador obtendremos la combinación correcta de 30*10000 = 300000 combinaciones de los 30 parámetros en un par de días tras la búsqueda genética, y así cada semana volveremos a optimizar esta estrategia el fin de semana.
Y esto es lo que obtendremos en el gráfico semanal:



Como se puede ver, la línea roja de extrapolación no nos ayudará mucho en el trading a pesar de los cientos de kilovatios de energía quemados durante la optimización :))) Porque el mercado siempre está cambiando.

La moraleja de esta fábula: Es necesario no buscar parámetros, sino calcularlos en el proceso de trading dentro del TS para no quemar energía innecesaria. Para ser MUY breve

Siempre hay una "transformada rápida de Fourier" para cualquier parámetro.



Archivos adjuntos:
2Fourier.mq5  16 kb