Hoy quiero hablar en esta entrada del blog sobre la importancia de la función objetivo al optimizar una estrategia de trading en mt4 de una manera correcta sin caer en una sobre- optimización y de las distintas funciones objetivo que vienen por defecto. Vamos también añadir dos funciones nuevas que nos ayudarán a la hora de optimizar mejor nuestros robots de trading.
Los algoritmos genéticos como su nombre dicen son mutantes mutan a un nuevo gen mejor que los dos vecinos anteriores, mt4 no trae buenas funciones objetivo, una fitness function debe medir beneficio y mayor perdida (drawdown) a su vez.
Función objetivo de mt4:
- Balance/Net Profit (La que mayor beneficio genera en todo el periodo optimizado.)
- Profit Factor (Suma total de operaciones ganadoras/Suma total de operaciones perdedoras.)
- Expected Payoof / Rentabilidad esperada (ProfitTrades / TotalTrades) * (GrossProfit / ProfitTrades) – (LossTrades / TotalTrades) * (GrossLoss / LossTrades)
- Maximal Drawdown € (Máxima perdida en dinero de la estrategia, la minimiza.)
- Maximal Drawdown %(Máxima perdida en porcentaje de la estrategia, la minimiza.)
- Custom (Funciones objetivo personalizadas que añadas al algoritmo.)
La función objetivo
«Una búsqueda es sólo tan buena como su función objetivo. De hecho, la función
objetivo es el medio por el cual la aplicación evalúa la estrategia y el
proceso de optimización nos dice si un conjunto de parámetros son buenos o
malos. La función objetivo evalúa una estrategia de negociación.»
- -El primer paso es elegir al azar una población inicial o grupo de diferentes conjuntos de parámetros candidatos. Cada combinación de parámetros representa una posible implementación de la estrategia. Cada conjunto de parámetros específicos se llama un set; la población es el conjunto de todos los sets candidatos. El lote inicial de los individuos se encuentran dispersos en todo el espacio de optimización.
- -El segundo paso es copiar pares no exclusivos de los juegos de parámetros de la población actual en la siguiente, es decir, la próxima generación. La posibilidad de que se copiará cada selección juego de parámetros es en proporción a su propio estado físico, que se mide por la función objetivo. El efecto de esto es que los conjuntos de parámetros con mayor aptitud, naturalmente, dominarán las poblaciones sucesivas. Por el contrario, menor aptitud de los conjuntos de parámetros tendrán una mayor probabilidad de quedarse atrás. Este proceso se denomina selección.
- -El tercer paso es seleccionar al azar pares de conjuntos de parámetros y luego intercambiar algunos de los parámetros de una parte del par de conjunto de parámetros a la de la otra. Esto se llama cruce. Durante este proceso, los buenos valores para un conjunto de parámetros se pueden combinar con buenos valores para otro conjunto de parámetros para hacer un mejor conjunto de parámetros. Esto es así incluso si los buenos valores vinieron originalmente de dos conjuntos de parámetros diferentes.
- -El cuarto paso es elegir una vez más al azar un nuevo grupo de conjuntos de parámetros. En estos conjuntos de parámetros, algunos parámetros se sustituyen por valores nuevos y diferentes. A si que si una mutación conjunto de parámetros se realiza mal, ese conjunto resultante no es tan probable que se traslade a la siguiente generación. Y el uso de la mutación de vez en cuando sacude el proceso de optimización para minimizar la convergencia en un máximo local hace más bien que mal. Y, puesto que los más altos conjuntos de parámetros de la función objetivo son susceptibles de ser copiados en la próxima generación más de una vez, la mejor solución es también menos probable que se pierda a una mutación fortuita.
Los Algoritmos Genéticos proceden por la repeticiones de los pasos anteriores que se mencionó de 2 a 4 en las generaciones sucesivas. En cada generación, se producen nuevas poblaciones de conjuntos de parámetros. Esto continúa hasta que:
1. Se ha evaluado un número predeterminado de generaciones
2. Una buena solución se ha encontrado
3. Un progreso significativo y medido por la mejora del rendimiento de la población en su conjunto, ya no consigue evolucionar.
–¿Que es un óptimo local? Es el mejor parámetro de rendimiento establecido en una región local o subconjunto de todo el espacio de optimización. El mejor parámetro de la meseta o valle. |
–¿Que es un óptimo global? Es el mejor parámetro de rendimiento fijado para la estrategia de negociación encontrado con todo el espacio de optimización. Es un valle o meseta con un conjunto de buenos parámetros. |
Esta es una gráfica de ejemplo de una optimización en Mt4.
Ahora vamos a incluir dos funciones objetivo que nos permitirán optimizar nuestro Asesor Experto por la función objetivo SQN (System Quality Number) y Factor de recuperación (Recovery Factor), también llamada Return Drawdown Ratio.
SQN = (Beneficio medio / desv.) * Raíz de N.
Donde:
-Beneficio medio = ( beneficio total / núm. operaciones.)
-Desv= Desviación estandar del beneficio medio.
-Raiz N= La raíz cuadrada de numero total de operaciones.
Factor de recuperación= Total beneficio / mayor drawdown.
Esta es mi favorita porque mide el beneficio y lo compara con la máxima pérdida de la estrategia.
Se puede descargar las siguientes funciones desde el siguiente enlace Función Objetivo.
Ahora puedes probar estas dos nuevas funciones al diseñar tus estrategias de trading mediante está función objetivo que te comparto y contarme tus experiencias al probarlas mucha suerte y éxitos con tu trading.