Acceder
Blog Juan M. Almodóvar
Blog Juan M. Almodóvar
Blog Juan M. Almodóvar

Selección de activos y sistemas mediante árboles de decisión

Los árboles de decisión forman parte de un grupo de algoritmos de Machine Learning con gran aceptación entre las aplicaciones de business intelligence, advanced analytics y marketing. Fundamentalmente funcionan como un clasificador que nos ayuda a ver cuáles son y en qué medida influyen determinados factores en un resultado o decisión.

¿Se puede utilizar los árboles de decisión para hacer trading? ¿qué aplicación tendrían? ¿cómo predictivos para las operaciones? ¿aplicados sobre la gestión de capital o de riesgo? Efectivamente, pueden ser utilizados... como mínimo como método de selección de activos (o sistemas) con bastante buenos resultados.

 

Seleccionando entre dos activos o sistemas

Lo siguiente es un ejemplo de uso de árboles de decisión para seleccionar entre dos activos o sistemas de trading, llamémoslos S1 y S2. El gráfico muestra los rendimientos mensuales (en puntos) de cada uno de los activos desde el año 2001 hasta primeros del 2014. El S1 consigue en este periodo 2700 puntos y el S2 consigue 1700.

 

Aunque en el periodo más reciente los dos sistemas están mejorando, claramente la primera mitad sufre de un comportamiento muy poco estable con un drawdown acusado en el caso del S1. Si combinaramos los dos para aprovechar un poco la diversificación la cosa tampoco mejoraría mucho. En el siguiente gráfico la línea verde es el resultado de invertir a la vez en ambos:

 

Un análisis visual rápido nos muestra que el principal problema lo tenemos en el primer cuarto del histórico... La diversificación no es suficiente porque aunque parece que un sistema gana cuando el otro pierde, resulta que la pérdida es mayor a la ganancia y entonces no hacemos nada... Si solo pudieramos quedarnos con el sistema que gana en cada momento :-) 

Y es ahí donde entran los árboles de decisión.

Construyendo el árbol de decisión

Como decía, los árboles de decisión nos sirven para conocer cuáles son y en qué medida influyen determinados factores en un resultado o decisión. Podríamos buscar los factores que influyen en los periodos en los que gana y pierde el sistema S1 y lo mismo para el S2, para a continuación seleccionar entre un sistema u otro cuando se den determinados factores.

He seleccionado varios criterios (datos del mercado como la volatilidad, porcentajes de cambio y otros) como entradas o factores influyentes para mi arbol de decisión y los he llamado A, B, C, D, E, F, G, H. Dándole estas entradas al árbol de decisión le pido que me clasifique cuándo hay que seleccionar el S1 y cuándo el S2 según el criterio del que más gana (mes a mes).

Y este es el árbol de decisión resultante:

Interpretación del árbol de decisión

El árbol clasifica los resultados en función de los factores A, B, C, D, E, F, G y H. Por ejemplo para el nodo final S2 que hay a la izquierda del gráfico se entiende que: 

E >0.962 y A > 24.297 y H > 24.645

Se puede obtener una tabla, tal como ésta, con la clasificación completa donde he resaltado el grupo de ejemplo:

 

Aplicando el árbol de decisión

¿Y ahora? Tenemos unas reglas que nos indican qué factores influyen para elegir entre un sistema u otro... ¿Qué resultados obtenemos de su aplicación?

Implementando cada una de las nueve reglas obtenidas se selecciona entre S1 y S2 mes a mes para invertir en uno u otro sistema (o activo). El resultado se muestra en la siguiente curva de balance:

 

La línea azúl sería nuevamente invertir en ambos sistemas/activos a la vez y la roja sería invertir (exponiendo solo la mitad del capital) en uno u otro según lo indica el árbol de decisión. ¡De 4400 puntos a 9700, ni rastro del drawdown y con la mitad de capital :D!

Y ahora...

Ya tenemos una nueva herramienta más para nuestro trading automático, ahora toca jugar un poco más con estos algoritmos. De alguna forma esta aplicación puede verse como un detector de régimen de mercado y se puede utilizar para asignar porciones mayores o menores de capital entre un grupo de acciones o para tener una batería de sistemas automáticos, por ejemplo 20 diferentes, y seleccionar solo los 5 mejores en cada momento.

Los árboles de decisión son uno de los algoritmos más básicos de Machine Learning pero también tienen su aplicación en el trading como acabamos de ver. Si quieres saber más sobre el tema tal vez te interese mi curso online de trading automático.

Más información sobre trading automático inteligente

 

Para más información sobre métodos de Inteligencia Artificial aplicado al trading consulta la web de mi Curso Online de Trading Automático Inteligente.

¿Te ha gustado mi artículo?
Si quieres saber más y estar al día de mis reflexiones, suscríbete a mi blog y sé el primero en recibir las nuevas publicaciones en tu correo electrónico
Lecturas relacionadas
Uso de árboles de decisión en trading
Uso de árboles de decisión en trading
Detectando el Régimen de Mercado con redes neuronales
Detectando el Régimen de Mercado con redes neuronales
Herramientas de Trading Automático
Herramientas de Trading Automático
Accede a Rankia
¡Sé el primero en comentar!
Te puede interesar...
  1. Cómo optimizar un sistema mediante minería de datos
  2. Torturando los datos hasta que confiesen. Sesgo de muestreo y espionaje de datos
  3. Trading con Inteligencia Artificial y GenBoX
  4. Sistemas que solo funcionan en backtest
  5. Detectando el Régimen de Mercado con redes neuronales
  1. Cómo optimizar un sistema mediante minería de datos
  2. Machine Learning aplicado al trading
  3. Selección de activos y sistemas mediante árboles de decisión
  4. Ensamblando robots de trading inteligentes
  5. Detectando el Régimen de Mercado con redes neuronales