GUIA DE SUPERVIVENCIA PARA OPERADORES CUANTITATIVOS 1: ALGORITMOS GENÉTICOS.

Introducción a algoritmos genéticos y como se aplican en el trading cuantitativo.

BLOG

Javier Gómez

3 min read

Los algoritmos genéticos se ha utilizado, con éxito en múltiples industrias para la solución de problemas complejos cómo la estructuración y localización de antenas de comunicaciones, la semaforización de grandes ciudades. Todos estos escenarios tienen algo en común: La cantidad de variables y combinaciones son previsibles.

En términos técnicos: Los algoritmos genéticos (AG) son métodos de resolución de problemas (o heurística) que imitan el proceso de evolución natural para determinar la mejor solución a un problema.

Los AG se usan comúnmente como optimizadores que ajustan los parámetros para minimizar o maximizar una serie de medidas de retroalimentación, que luego se pueden usar de forma independiente para generar modelos matemáticos que nos permitan, en este caso crear modelos de trading basado en datos históricos.

En el caso del trading la cantidad de variables, posibilidades y combinaciones son tan amplias y algunas tan subjetivas que es imposible calcular cada una de ellas. Pero si el analista conoce la estructura del precio, sus fases, sabe identificar los momentos de cambio de volatilidad; Puede diseñar con facilidad sistemas adaptativos con reglas simples que pueden aprovechar las oportunidades del mercado.

Se les llama algoritmos genéticos porque evolucionan de una manera similar que los organismos vivos presentes en la naturaleza, quienes acorde a la selección natural van evolucionando y solo sobreviven los mas fuertes o los que logran alcanzar las condiciones optimas de adaptación al sistema.

En la naturaleza, los individuos de una población compiten entre sí en la búsqueda de recursos tales como comida, agua y refugio. Incluso los miembros de una misma especie compiten, a menudo, en la búsqueda de un compañero.

Aquellos individuos que tienen más éxito en sobrevivir y en atraer compañeros tienen mayor probabilidad de generar un gran número de descendientes. Por el contrario, individuos poco dotados producirán un menor número de descendientes. Esto significa que los genes de los individuos mejor adaptados se propagarán en sucesivas generaciones hacia un número de individuos creciente.

La combinación de buenas características provenientes de diferentes ancestros, puede a veces producir descendientes “superindividuos”, cuya adaptación es mucho mayor que la de cualquiera de sus ancestros.
De esta manera, las especies evolucionan logrando unas características cada vez mejor adaptadas al entorno en el que viven.

Ahora vamos a ver cómo funcionan los algoritmos genéticos.
En general, el pseudocódigo consiste de los siguientes pasos:

1. inicialización: Se genera aleatoriamente la población inicial, que está constituida por un conjunto de cromosomas los cuales representan las posibles soluciones del problema. es importante garantizar que dentro de la población inicial, se tenga la diversidad estructural de estas soluciones para tener una representación de la mayor parte de la población posible.

2. Evaluación: A cada uno de los cromosomas de esta población se aplicará la función de aptitud para saber qué tan “buena” es la solución que potencialmente está aportando.

3. Condición de término: El Algoritmo genético se deberá detener cuando se alcance la solución óptima, pero ésta generalmente se desconoce, por lo que se deben utilizar otros criterios de detención.
Normalmente se usan dos criterios: Correr el algoritmo genético un número máximo de iteraciones (generaciones) y detenerlo cuando no haya cambios en la población.

Mientras no se cumplan las condiciones finales esperadas, se hace lo siguiente:

Selección: Después de saber la aptitud de cada componente se procede a elegir los que serán cruzados en la siguiente generación.
Los componentes con mejor aptitud, tienen mayor probabilidad de ser seleccionados para la fase de Recombinación.

Recombinación: Es el principal operador genético, donde se combinan los mejores componentes con el propósito de obtener un resultado que se acerque mas a los criterios de detención.

Mutación: Se modifica el resultado de la recombinación para alcanzar a mejorar parámetros que no estaban dentro del algoritmo inicial.

Reemplazo: una vez aplicados los operadores genéticos, se seleccionan los mejores individuos para conformar la población de la generación siguiente.

De esta forma se consiguen los mejores resultados que llevan en sus componentes las mejores combinaciones para el entorno en el que se desarrollarán.

Ahora que conoces la estructura de un AG, sabrás como funciona el algoritmo genético del probador de estrategias de metatrader 4 y 5. Así como también habrás creado una sinapsis que te ayudará a desarrollar un método de pensamiento que te lleve a obtener mejores resultados en las optimizaciones de tus sistemas de trading automático.

Fuentes:

Optimización combinatoria. Parte 1. (2022, 16 enero). Hispatrading Magazine. https://hispatrading.com/optimizacion-combinatoria-parte-1/Utilice algoritmos genéticos para predecir los mercados financieros. (2021, 14 marzo).

Traders Studio. https://traders.studio/utilice-algoritmos-geneticos-para-predecir-los-mercados-financieros/