Optimización genética o “clásica”

0
45
Optimización genética o “clásica”

Por alguna razón, muchos comerciantes principiantes temen usar algoritmos genéticos (GA) para optimizar sus sistemas. Sin embargo, es obvio que las optimizaciones clásicas (exhaustivas), así como las modernas (genéticas) desempeñan su papel en el desarrollo de la estrategia. Hoy intentaré explicar las diferencias que ambos tipos de optimización pueden ofrecer y ayudarlo a ver que no tiene que temer a la “genética”.

La mayor ventaja de la optimización genética es, sin duda, el tiempo. Especialmente si tenemos más parámetros para optimizar, podemos acortar literalmente todo el proceso de unos días a unas pocas horas, lo que es una aceleración en la que vale la pena pensar.

La mayoría de los comerciantes que no tienen ninguna experiencia con la optimización genética tienen la sensación de que gracias a este atajo, todo el proceso será de alguna manera “trampa”. Después de todo, ¿cómo es posible que GA pueda encontrar soluciones en un 5-10% del tiempo regular, cuando el proceso de optimización clásico lleva tiempo “completo”?

En primer lugar, en una cantidad sorprendentemente alta de casos, los algoritmos genéticos pueden encontrar combinaciones completamente similares que las optimizaciones clásicas también encontrarían. En segundo lugar, puede encontrar combinaciones que pueden diferir. Esto puede ser útil, como explicaré brevemente.

Comencemos con una comparación simple que muestra soluciones bastante reales encontradas por GA: qué tan cerca o qué tan lejos están de las soluciones que encontraría la optimización clásica.

En este artículo, he elegido como ejemplo un sistema mío con 5 parámetros de optimización en total y en el que he aplicado Walk Forward Optimization (WFO). Significa que he dividido los datos usados ​​en 7 segmentos y he realizado 7 optimizaciones (una en cada segmento de datos) para tener más muestras para comparar. La comparación resultó de la siguiente manera.

En primer lugar, los parámetros que GA encontró exactamente iguales a los métodos clásicos de optimización: en más de la mitad de los casos, el 54%. Eso no es malo en absoluto, especialmente si tenemos en cuenta que la reducción del tiempo original necesario para la optimización es del 90-95%. Luego, los parámetros GA que se encuentran muy cercanos a los de la técnica de optimización clásica encontrada – la salida muestra que no hay ninguna diferencia notable. Los dos grupos suman un 69%, lo que es un resultado bastante decente. En casi 3/4 de los casos, los resultados de GA fueron los mismos o muy similares a los de la optimización clásica. Sin embargo, GA encontró soluciones en el 5-10% del tiempo que lo que originalmente se necesitaba.

El 31% restante de los resultados difiere fundamentalmente, lo que puede ser un poco relacionado con algunas personas. Pero como explicaré más adelante, no hay necesidad de eso.

Por lo general, la razón de una diferencia entre los resultados es que la optimización clásica está buscando el llamado óptimo local y los algoritmos genéticos tienden a encontrar un óptimo global.

¿Qué son exactamente estos?

Imagina que tienes dos parámetros, N1 y N2, y te gustaría encontrar una combinación con el mejor beneficio.

La mejor combinación que muestra el beneficio para este caso es de alrededor de 130,000 USD. El problema es que este óptimo es local y no global. El óptimo local no muestra resultados similares en las inmediaciones. En otras palabras, solo hay una combinación que proporciona excelentes resultados, pero ninguna combinación de los alrededores lo hará. El óptimo local es con una alta probabilidad sobre una combinación optimizada y una técnica de optimización clásica tiende a buscar el óptimo local.

A diferencia de los algoritmos genéticos que van por el óptimo global. En esta área, el beneficio es de alrededor de 110,000 USD, pero el óptimo tiene muchos “vecinos” funcionales. Por lo tanto, el óptimo global es más robusto que el óptimo local (que gana más, pero la combinación de parámetros es cuestionable desde el punto de vista de la robustez).

Naturalmente, los algoritmos genéticos no siempre alcanzan el óptimo global y, en ocasiones, también incluyen un óptimo local en sus soluciones. Al mismo tiempo, la optimización clásica no siempre produce un óptimo local, a menudo, la mejor combinación es parte de un óptimo global (y estos son los momentos en los que todas las soluciones probables encontradas por GA y la optimización clásica corresponderán o estarán muy cerca) ). Desafortunadamente, los algoritmos genéticos también usan el elemento de azar, por lo que el resultado final es sustancialmente menos controlable; bueno, este es el precio que se debe pagar por la aceleración de la optimización.

Personalmente, uso ambos tipos de optimización y creo que ambos tienen su lugar en el desarrollo de ATS. Los algoritmos genéticos pueden parecer aterradores al principio, pero una vez que realice algunas pruebas y se acostumbre a ellas, se dará cuenta de que son una ayuda insustituible en muchos casos y que con su ayuda usted hará mucho más trabajo. Por supuesto, hay toneladas de estudios académicos que tratan aspectos de ambas optimizaciones. Podríamos polemizar sobre cualquier cosa con respecto a ambos métodos, pero yo personalmente no soy un académico; Soy un practicante puro. Desde el punto de vista práctico, GA puede ser realmente invaluable, especialmente cuando se usa de una manera sensata e inteligente. Por lo tanto, no es necesario tenerles miedo, pero es importante usarlos con sentido y razón.

Feliz comercio!

Dejar respuesta

Please enter your comment!
Please enter your name here