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 4
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Sí, claro, hacer cambios, introducir mejoras. Así que una base de código sería una gran solución.
Mejor que git. Puedes ver el historial de versiones, ver fácilmente todos los cambios en cada archivo, informar de problemas o comentar una línea de código concreta, y mucho más.
En mi humilde opinión, para evaluar la eficacia de la optimización, lo más importante es el rendimiento de los parámetros encontrados en la muestra OOS (digamos, validación cruzada k-fold), y todavía no me he fijado en ese tema; quizá me lo haya perdido en alguna parte.
Normalmente, el problema no es encontrar el algoritmo de optimización más meticuloso, sino hacer que el sistema siga funcionando lo mejor posible. Tengo la sensación de que los parámetros más óptimos en el backtest no son lo suficientemente duraderos en el forward, y por lo tanto la eficiencia debe ser evaluada de alguna otra manera, por ejemplo, por el tamaño de los clusters suaves continuos de parámetros que dan el valor medio más alto de FF.
Por cierto, no he visto ninguna comparación de velocidad en las tabulaciones.
y, con el fin de evaluar la eficiencia de la optimización, el trabajo de los parámetros encontrados en OOS muestra (por ejemplo, k-fold validación cruzada) es de primordial importancia, y no he notado tal tema todavía - tal vez me lo perdí en alguna parte.
Normalmente, el problema no es encontrar el algoritmo de optimización más meticuloso, sino hacer que el sistema siga funcionando lo mejor posible. Tengo la sensación de que los parámetros más óptimos en el backtest no son lo suficientemente duraderos en el forward, y por lo tanto la eficiencia debe ser evaluada de alguna otra manera, por ejemplo, por el tamaño de los grupos suaves continuos de parámetros que dan el valor medio más alto de FF.
Por cierto, no he visto ninguna comparación de velocidad en las tabulaciones.
Tocas el tema de la robustez de los sistemas de trading, este tema no tiene relación directa con los algoritmos de optimización en sí.
En esta serie de artículos, los propios algoritmos de optimización, como herramientas, se consideran y se comparan entre sí.
La velocidad de ejecución del código de los algoritmos es insignificante en comparación con el cálculo de FF en tareas prácticas, por lo que no tiene ningún sentido especial realizar mediciones.
A grandes rasgos, estamos comparando sólo palas, qué palas cortan mejor la tierra y a qué profundidad, no tiene nada que ver con dónde se van a utilizar: cavar hoyos para patatas o para pepinos y no se investiga la influencia de las palas en la velocidad de maduración de las hortalizas.
ZЫ La optimización y la robustez de los parámetros del sistema son cosas distintas, que por alguna razón se relacionan erróneamente. Para identificar los parámetros robustos, se deben utilizar otros métodos (ya sea como post-procesamiento de los resultados o en paralelo con la optimización), como la identificación de grupos de parámetros con un comportamiento común del sistema y otros métodos.
Tocas el tema de la solidez de los sistemas de negociación, este tema no tiene nada que ver directamente con los algoritmos de optimización en sí.
Pero usted decidió profundizar en la cuestión de la influencia de la calidad del HSC en la optimización (es decir, se desvió de lo que está directamente relacionado con el algoritmo de optimización). Esto es digno de elogio. Pero, en mi opinión, es más importante la estabilidad de la solución encontrada, que probablemente se consigue mediante diferentes formas de evaluar "mejor" en el espacio FF. Esto está directamente relacionado con el algoritmo de optimización y su aplicabilidad práctica.
1. Has decidido profundizar en la cuestión de la influencia de la calidad de la DST en la optimización (es decir, te has desviado de lo que está directamente relacionado con el algoritmo de optimización). Esto es digno de elogio.
2. Pero, en mi opinión, más importante es la estabilidad de la solución encontrada, que probablemente se consiga mediante distintas formas de estimar la "mejora" en el espacio FF. Esto está directamente relacionado con el algoritmo de optimización y su aplicabilidad práctica.
1. La cuestión de la influencia de la calidad del HCS es legítima, ya que todos los algoritmos considerados hasta ahora son de naturaleza exclusivamente estocástica (excepto el algoritmo de Nelder-Mead). Por lo tanto, las DST están directamente relacionadas con el AO.
2. contestado en el post anterior. Voy a añadir un poco, las pruebas utilizan funciones de prueba que cumplen el papel de lo que necesitamos. Esto es muy importante para darse cuenta del momento. Imagina que tienes la capacidad de realizar TODAS las ejecuciones posibles de todos los conjuntos posibles, es decir, realizar una enumeración completa. Ahora imagina que necesitas seleccionar algunos de ellos, ¿verdad? ¿Cómo los selecciona? - Hay algunos criterios por los que elegirá entre todos los parámetros. Si sabe qué parámetros (soluciones) elegir de entre todos los posibles obtenidos mediante una búsqueda completa, entonces sabrá qué criterios aplicar en la optimización. El papel de los criterios lo desempeñan los FF.
¿Qué FF aplicar para garantizar la robustez del sistema? - Los algoritmos de optimización no responden ni han respondido nunca a esta pregunta. Los algoritmos de optimización sólo ayudan a encontrar si se sabe qué buscar.
La responsabilidad de elegir un FF recae por completo en el investigador.
La pregunta sobre la influencia de la calidad de la AF en los resultados de la OA ha aparecido repetidamente en este foro y en otros, no he visto la respuesta a esta pregunta en el dominio público, ahora la respuesta está ahí y se dan herramientas para la verificación.La optimización está envuelta en muchos mitos, abusos y conceptos erróneos, así que me gustaría reiterarlo de nuevo:
Hagamos un experimento mental. Todas las variantes posibles de los parámetros del sistema se obtienen mediante una enumeración completa. En este caso, el algoritmo de optimización se excluye por completo, absolutamente, no hay algoritmo de optimización. Teniendo en la mano todas las variantes posibles de los parámetros, surge la pregunta: ¿qué parámetros elegir? - Conociendo la respuesta a esta pregunta es posible describir los criterios de selección de entre todas las variantes posibles en forma de una función de aptitud, que ya puede aplicarse en el proceso de optimización. Así, el algoritmo de optimización permitirá obtener el resultado deseado, igual que en una búsqueda completa, pero más rápido. Una vez realizado este experimento mental, queda claro que el algoritmo de optimización no es "culpable" en modo alguno de lo que ha encontrado, el culpable es el usuario que no ha descrito con precisión los criterios deseados.
Y esto es importante.
Es mejor que git. Puedes ver el historial de versiones, ver fácilmente todos los cambios en cada archivo, puedes informar de problemas o comentar una línea de código concreta, y mucho más.
Me alegra verte entre los comentaristas, Andrei.
No es fácil con github, problemas de motivación y tiempo)).
Me alegro de verte entre los comentaristas, Andrew.
No es fácil con github, problemas con la motivación y el tiempo)).
¡Interesante tema!
Con github -- un día como mucho para aprender, experimentar, y luego es puro disfrute. Listo para ayudar.
La optimización está envuelta en un montón de mitos, abusos y conceptos erróneos, así que me gustaría repetirlo de nuevo:
Hagamos un experimento mental. Todas las variantes posibles de los parámetros del sistema se obtienen mediante una enumeración completa. En este caso, el algoritmo de optimización se excluye por completo, absolutamente, no hay algoritmo de optimización. Teniendo en la mano todas las variantes posibles de los parámetros, surge la pregunta: ¿qué parámetros elegir? - Conociendo la respuesta a esta pregunta es posible describir los criterios de selección de entre todas las variantes posibles en forma de una función de aptitud, que ya puede aplicarse en el proceso de optimización. Así, el algoritmo de optimización permitirá obtener el resultado deseado, igual que en una búsqueda completa, pero más rápido. Tras realizar este experimento mental, queda claro que el algoritmo de optimización no es "culpable" de lo que ha encontrado, sino que el usuario es culpable de no describir con precisión los criterios deseados.
Y esto es importante.
Para apoyar el punto de Stanislav.
FF no puede describir el espacio que le rodea, no tiene información del exterior.
Y la tarea de un investigador es encontrar no un único pico agudo alrededor del cual los resultados sean irregulares y malos, sino una meseta más o menos extensa, donde los resultados no sean muy diferentes.
¿Cómo puede el FF determinar su posición en el espacio? No puede, sólo conoce su coordenada absoluta. Así que necesitamos un algoritmo (llámalo no optimización, si te corta la oreja) que busque no el máximo (aunque sea global), sino la mejor meseta. La definición de "mejor" es, por supuesto, una cuestión interesante aparte, pero es obvio que los parámetros del centro de la meseta serán mucho más estables en el avance que los parámetros de un pico agudo rodeado por un foso.
Apoyando el pensamiento de Stanislaw.
FF no puede describir el espacio que le rodea, no tiene información del exterior.
Y la tarea del investigador consiste en encontrar no un único pico agudo alrededor del cual los resultados sean irregulares y malos, sino una meseta más o menos extensa, donde los resultados no sean muy diferentes.
¿Cómo puede el FF determinar su posición en el espacio? No puede, sólo conoce su coordenada absoluta. Así que necesitamos un algoritmo(llámalo no optimización, si te corta la oreja) que busque no el máximo (aunque sea global), sino la mejor meseta. La definición de "mejor" es, por supuesto, una cuestión interesante aparte, pero es obvio que los parámetros del centro de la meseta serán mucho más estables en el avance que los parámetros de un pico agudo rodeado por un foso.
Lo que Stanislav está hablando y lo que estás hablando ahora no tiene nada que ver con la optimización. Y no entiendes correctamente algunos aspectos de la función fitness. Pero, ya está bien que estés de acuerdo en separar la optimización del color resaltado.
Parece que se necesita un artículo separado dedicado a cubrir estas cuestiones.
Pero, vamos a empezar por hablar aquí. Así que, de nuevo, vamos a suponer que tenemos la oportunidad de hacer un barrido completo de los parámetros del sistema a nuestra disposición. Hacemos un barrido de la historia del sistema con todos los parámetros posibles en principio. Ahora, por favor, responda a la pregunta: "¿Tiene una forma de seleccionar de entre todos los parámetros posibles un conjunto (o varios) que esté dispuesto a utilizar para ejecutar el sistema con datos nuevos? Esta es una pregunta no sólo para usted, sino para todos los que estén dispuestos a responder a esta pregunta. Como podemos ver, ahora no estamos hablando de ningún algoritmo de optimización en absoluto, sólo de elegir un conjunto de parámetros para ejecutar el sistema con datos desconocidos.
Imaginemos que tenemos la posibilidad de realizar una búsqueda completa de los parámetros del sistema. Hacemos un recorrido por el historial del sistema con todos los parámetros posibles en principio. Ahora, por favor, responda a la pregunta: "¿Tiene usted una manera de seleccionar de todos los parámetros posibles un conjunto (o varios) que está listo para usar para el funcionamiento del sistema en los nuevos datos?