Métodos de Optimización en Visual Chart V. Lineal VS Algoritmos genéticos.



Visual Chart V dispone de un potente optimizador de sistemas, el cual permite encontrar la combinación de parámetros que mejor resultados ofrece, teniendo como muestra solo un periodo del histórico de un activo. Este proceso se suele emplear como primer paso para un examen más exhaustivo, comprobando dicha combinación de parámetros resultantes en otro intervalo de tiempo que no se ha incluido anteriormente. A esto se le denomina prueba externa, y es donde se pone de  manifiesto el verdadero potencial de un sistema para obtener beneficios.

En esta publicación nos centraremos en diferenciar los 2 algoritmos que ofrece el optimizador para buscar las mejores combinaciones.

Una vez que el sistema está insertado sobre la serie de datos y pulsamos sobre el comando Optimizar sistema,  tras establecer el intervalo de valores para cada parámetro, podemos cambiar la configuración establecida por defecto para el análisis. Entre las opciones del editor de propiedades de esta herramienta, tenemos posibilidad de escoger el método de búsqueda (propiedad Algoritmo), teniendo opción de escoger entre búsqueda lineal o por algoritmos genéticos.




 
Búsqueda lineal



Se trata de un método de búsqueda secuencial. Para cada parámetro se define un intervalo (valor máximo y mínimo) y el incremento. Lo usual es que el incremento sea 1 para que en la búsqueda de parámetros se analicen todas las combinaciones, sin saltar ningún valor de ningún parámetro.  Hay que tener en cuenta, que si en una optimización lineal,  para un parámetro concreto establecemos un intervalo  entre 0 y 100 con saltos de 5 en 5, nunca se obtendría una solución  que no fuera  múltiplo de 5.

Si se detiene el proceso de optimización antes de tiempo, es posible que aún no se haya localizado una combinación de parámetros lo suficientemente buena, debido a que como se indicaba anteriormente, el proceso de búsqueda sigue un orden preciso, comenzando por el primer valor definido para el primer parámetro y se combina con el primero valor de cada uno del resto de parámetros. Se combina nuevamente el primer valor con el segundo valor de cada uno de los parámetros restantes y así sucesivamente, hasta realizar todas las combinaciones posibles.

Cuando el número de combinaciones es pequeño, lo ideal es utilizar este tipo de búsqueda, pero lo habitual es que hay miles o millones de posibles iteraciones (depende del número de parámetros y el intervalo de valores en cada uno de ellos). En este caso habría que recurrir a algún principio de selección o descarte de combinaciones, por lo que se recurre a otro sistema que realice acotaciones (Algoritmos genéticos).

Búsqueda por algoritmos genéticos



Los algoritmos genéticos son  recurso que se utiliza en diferentes ámbitos (ingeniería, medicina, economía etc.). Es un método de optimización diseñado  para resolver problemas complejos en los que existen una o varias soluciones óptimas  que no se pueden aproximar con un método tradicional de búsqueda como el lineal. 

El algoritmo genético llegará a la solución con mayor celeridad y en muchos casos nos ofrecerá una solución mejor,  ya que la región a explorar no se encuentra delimitada por los incrementos que le hemos impuesto a la optimización lineal.

La búsqueda mediante algoritmos genéticos calcula las distintas posibilidades siguiendo un mecanismo de selección eficiente que va combinando fundamentalmente aquellos valores que van demostrando mejor resultado. Se emplea cuando el número de iteraciones es muy amplio y se trata de buscar el resultado que más se aproxime a lo óptimo en un número de pasos de análisis que no sea excesivo en el tiempo para el usuario que realiza esta evaluación. Transcurrido un periodo prudencial de optimización, encontramos combinaciones de parámetros suficientemente significativa.

El análisis comienza estableciéndose lo que se llama población por generación (finita y definida),  formada por X individuos (podrían ser por ejemplo historiales clínicos, incidencias de accidentes de tráfico etc.).

En el caso de la optimización de parámetros de un sistema, se deben tener en cuenta son los siguientes elementos:

-       Un conjunto de datos procedentes de cotizaciones históricas.
-       Una serie de  de parámetros finito y acotado, es decir, para cada uno de ellos tenemos un valor máximo, mínimo y un incremento o salto.
-       Una función  objetivo, que puede ser maximizar el beneficio, minimizar drawdown etc.





Los parámetros que debemos configurar en el editor de propiedades cuando utilizamos algoritmos genéticos son los siguientes:

Tamaño de población por generación.
Es el número de posibilidades con las que comienza el algoritmo. Generación es el conjunto de individuos en cada etapa del proceso de optimización. Visual Chart  realiza una estimación automática del número idóneo de individuos en función  de las variables del problema a evaluar.
Cuanto mayor sea este parámetro, más completo es el proceso, pero también requiere más recursos del sistema operativo, y por tanto el tiempo de duración aumenta. Cuanto menor sea, menos completo resulta el estudio, aunque reducimos el tiempo de espera.

Probabilidad de cruce.
Representa el porcentaje de individuos que pasan a la siguiente generación (acotaciones).

Probabilidad de mutación. Mecanismo aleatorio para aumentar la diversidad de la población.

Cuando la probabilidad de cruce es muy alta y la de mutación es baja, el proceso es más rápido, pero es posible que la mejor de las combinaciones obtenidas no sea la más óptima, puesto que sólo se estudian parámetros localizados en un rango concreto.

Cuando la probabilidad de cruce es menor y se aumenta mucho la probabilidad de mutación, se consigue mayor diversidad, hasta el punto de que una probabilidad de mutación muy alta daría lugar a una solución aleatoria.

Los valores definidos por defecto en la configuración avanzada, suponen una proporción adecuada para el estudio del algoritmo,  independientemente del sistema utilizado.



Información adicional
Visual Chart Group comercializa a través de su biblioteca bursátil el libro Estrategias de inversión con Visual Chart,  un manual de programación de estrategias donde encontrarás un ejemplo de protocolo de evaluación de sistemas,  en el que se refleja el método seguido  por un grupo de gestores de capital para optimizar sistemas. 

Comentarios

Entradas populares de este blog

Como consultar el GAP % de un conjunto de valores

Bollinger Volatility Oscillator N

MANEJO DE PLANTILLAS. Eliminar plantilla de un gráfico activa