La tarde del lunes 24 de noviembre asistimos al webinar impartido por Juan Manuel Almodóvar titulado "Optimización de sistemas de trading mediante Machine Learning". Juan Manuel Almodóvar es director de investigación y desarrollo en Sistemas Inversores, consultora especializada en trading algorítmico, desde donde ha colaborado con los departamentos de sistemas de varios fondos de inversión y diseñado software para trading como Alphadvisor.
Durante la realización del seminario vimos como se puede mejorar el trading utilizando nuevas tecnologías de inteligencia artificial, Machine Learning y Mineria de datos.
¿Qué es Machine Learning?
Es un paso más allá de los sistemas automáticos, ya que al añadirle Machine Learning aprenden a operar en el mercado según los datos que le hemos incorporado, es decir, que son sistemas automáticos que no sólo ejecutan las instrucciones con las que han sido programados, sino que además aprenden, ellos mismo, cómo deben actuar a partir de la información que les damos.
Ventajas de Machine Learning
Mediante Machine Learning podemos encontrar estructuras y patornes complejos que están enterrados entre el ruido de los mercados y que el ojo humano no lo puede detectar. Algunas de las ventajas de Machine Learning son:
- Cantidad y calidad
- Mucho más EDGE (ventaja de cualquier sistema frente al mercado)
- Muchos más sistemas
- Mayor robustez/fiabilidad
Ciclo de una operativa automática
En la imagen podemos observar el ciclo por el que pasa un sistema automático antes de su puesta en funcionamiento.
- Diseño. El diseño es la primera parte del ciclo de la operativa automática. Nunca se diseña un sistema para ganar dinero, se diseñan para ganar EDGE, si lo diseñas para ganar dinero, aunque resulte paradójico reduce la rentabilidad.
- Análisis. En esta parte es donde sacamos las estadísticas del sistema, aproximadamente el 90% de los sistemas son descartados en esta fase.
- Cartera. En esta parte del ciclo es donde tenemos que añadir valores que diversifiquen el riesgo.
- Ejecución. Monitorización de los sistemas que hemos diseñado, también es la fase donde se rediseñan los sistemas para que se adapten conforme pasa el tiempo.
A cada uno de los 4 puntos le podemos añadir variables Marchine Learning para optimizar su función.
Diseño
Ésta es una de las partes más interesantes de aplicar Machine Learning al trading automático. En primer lugar podemos aplicar esta tecnología para tener una medida de cómo de predictivos son cada uno de los indicadores técnicos, seleccionando así únicamente aquellos que mejor explican determinadas características y comportamientos del mercado.
En segundo lugar con estos indicadores podemos automatizar el diseño de sistemas de trading utilizando algoritmos que los generen automáticamente, encontrando patrones y reglas en el mercado que se basan en estos indicadores predictivos que previamente habíamos seleccionado.
Después podemos aplicar diversos métodos para mejorar todavía más estos sistemas. El uso de técnicas como el boosting o el ensamblado de robots da muy buenos resultados y reduce significativamente el riesgo de cada sistema.
Análisis estadístico
Es muy importante ya que el análisis estadístico nos determina la confianza que podemos tener en este sistema, para este análisis utilizamos el algoritmo Genético y K-means.
En el artículo Cómo optimizar un sistema mediante minería de datos podemos encontrar más información.
Cartera
¿Cómo podemos hacer Machine Learning para optimizar vuestro sistema? Con Machine Learning podemos crear una cartera de sistemas.
Mediante árboles de decisión decidimos en cada momento cuál de los activos que tenemos en la cartera es mejor invertir en cada momento según unos factores que hemos programado.
La línea azul nos indica una diversificación clásica de una cartera equiponderada.
La línea roja nos indica una diversificación con Machine Learning mediante árboles de decisión.
En el artículo selección de activos y sistemas mediante arboles de decisión encontramos más información al respecto.
Ejecución
En esta fase es cuando ponemos en funcionamiento el sistema, cuando el sistema ha dejado de funcionar o cuando hay que rediseñarlo, etc...
¿En que partes se puede aplicar Machine Learning?
- Gestión de capital
- Control de robot fallidos mediante Monte Carlo y Regresión
- Régimen de mercado mediante ANN (redes Neuronales)
- Control de impactos de noticias (NLP, twiter, News
Detector de redes neuronales
Empleando los resultados que podemos ver en la imagen vamos a realizar un ejemplo para ver la labor del uso de redes neuronales.
En la primera parte de la imagen vemos que el sistema automático tiene un ratio riesgo-beneficio de 0.68, por lo que en un principio no lo incluiría en mi cartera, pero aplicando tecnologia Marching Learning o redes neuronales (parte inferior de la imagen) nos puede decir cuándo es el momento de operar y cuándo no lo es, ya que lo detecta el detector de régimen de mercado y como vemos ese mismo sistema pasa a tener un ratio R/B de 4.39.
En el artículo Detectando el Régimen de Mercado con redes neuronales podemos obtener más información de ello.
Para ver la grabación del webinar haz click en el siguiente botón.