Rankia España Rankia Argentina Rankia Brasil Rankia Chile Rankia Colombia Rankia Czechia Rankia Deutschland Rankia France Rankia Indonesia Rankia Italia Rankia Magyarország Rankia México Rankia Netherlands Rankia Perú Rankia Polska Rankia Portugal Rankia Romania Rankia Türkiye Rankia United Kingdom Rankia USA
Acceder
Blog Oscar Cagigas
Blog Oscar Cagigas
Blog Oscar Cagigas

¿Por qué fallan los sistemas de trading?

Hace justo una semana se introdujo el movimiento Browniano y vimos un ejemplo de la serie temporal de precios que sale de este modelo. Al final del informe mostré una serie de interrogantes como una consecuencia natural del hecho de que este modelo es indistinguible de los precios reales. En el informe del martes intenté contestar (basándome en la literatura, claro) a la pregunta relacionada con el uso de información privilegiada y la hipótesis de un mercado eficiente.

Hoy quiero contestar a estas otras dos:

-Si los movimientos son aleatorios (con deriva o tendencia) entonces se puede ganar consistentemente con sistemas de trading? Dicho de otra forma: Se puede extraer beneficios aplicando técnicas a algo que tiene naturaleza aleatoria?

Esta parte es complicada porque si los resultados fueran aleatorios entonces habría ganancias igual que hay pérdidas, simplemente no salen de la habilidad del trader sino del puro azar.

-Si le aplicamos un sistema de trading a un valor o cartera de valores aleatorios y lo optimizamos sale una curva de capital decente? Y qué pasa fuera de muestra? Y si lo mezclamos con activos reales? Aunque también me apoyaré en la literatura para la primera pregunta, creo que la segunda requiere un tratamiento empírico, y en ese caso se puede aportar mucho solamente combinando Excel y Amibroker. Vamos a verlo…

En la siguiente página le voy a mostrar 3 tickers que he creado artificialmente siguiendo el modelo Browniano.

modelo browniano

Los tres tickers tienen una apariencia tan real que hasta se puede hacer chartismo. En el tercero hice el caso de la rotura al alza de una tendencia bajista, con pullback perfecto… Esto fue en el informe del sábado pasado.

Curiosamente los tres salen del mismo modelo de Brown con una desviación estándar anualizada del 30% y una deriva o sesgo alcista del +1%. Como se puede ver en la página anterior si la desviación es grande y la deriva es positiva y pequeña entonces el mercado ficticio en cuestión puede terminar con caídas. Digamos que el ruido pesa más que la tendencia.

Ahora le cuento el experimento que vamos a hacer hoy:

  • Escogeremos un sistema conocido supuestamente rentable como el sistema RSI2 de Connors.
  • Lo aplicaremos a los tres tickers y optimizaremos en el periodo 2000-2005
  • Observaremos los resultados fuera de muestra en el periodo 2005-2019

La idea es aplicar un sistema de trading a estos datos, optimizar y ver lo que sucede fuera de muestra. He escogido un periodo de muestra de 5 años y uno fuera de muestra de casi 15 años para que se pueda ver bien la evolución lejos del periodo en el que fue diseñado. Soy consciente de que los sistemas se deterioran con el tiempo así que esto también nos ayudará a ver el punto en el que comienza el deterioro.

Seguramente vd se habrá dado cuenta de que estoy tratando datos ficticios como si fueran reales. En realidad la idea es esa, vamos a suponer que son datos reales, a ver qué pasa…

Primero refrescaré su memoria sobre el sistema RSI2 de Connors:

  • Si el cierre está por encima de una media de largo plazo (optimizable) entonces estamos alcistas.
  • Si estamos alcistas y el RSI de 2 sesiones cae por debajo de un umbral (optimizable) entonces compramos
  • Si estamos comprados y el cierre supera una media de corto plazo (optimizable) entonces cerramos los largos
  • El sistema solo hace largos y hay un stop loss de 6 desviaciones estándar

Como vemos hay 3 parámetros optimizables.

Procedo a optimizar en 2000-2005 mi cartera de 3 tickers ficticios y resultan los siguientes parámetros óptimos:

  • Periodo de la media de largo plazo: 250
  • Umbral de compra del RSI: 6
  • Periodo de la media de corto plazo: 5

WNR3

 

Estos son los resultados:

estrategia resultados

 

Antes de interpretarlos tengo que decir que puesto que son tickers ficticios no hay multiplicador, así que he dejado el multiplicador por defecto que es 1.0. Eso es lo mismo que decir que es como si fueran acciones.

He probado con otros multiplicadores y el resultado es el mismo porque aplico el modelo de Carver de volatilidad, así que el resultado de comprar N acciones o un futuro con multiplicador M sale lo mismo siempre que el dimensionamiento tenga el mismo objetivo de volatilidad anual.

connors rsi

 

Las estadísticas son buenas. Muy buenas en realidad. No solamente hay un 80% de aciertos sino que el Profit Factor es de casi 3, el ratio de Sharpe es de 3.5… En fin, el tipo de sistema que yo operaría en real sin pensármelo dos veces… Veamos qué sucede si lo aplicamos en el periodo 2005- 2019; es decir, en datos fuera de muestra que la optimización no ha visto.

El resultado es:

resultados

Bastante decepcionantes. Y debajo le muestro la curva de capital del periodo completo (en muestra + fuera de muestra):

Muestra

 

Como vemos, aplicar un sistema de trading a una cartera de valores ficticios puede dar un resultado estupendo después de optimizar, pero en fuera de muestra los resultados se deterioran y no se parecen en nada a los del diseño. Le aconsejo que evite operar tickers ficticios con dinero no ficticio (con el del Monopoly sí que puede). Bueno, está claro que si los mercados son aleatorios no se puede ganar dinero operando en tiempo real, en fuera de muestra, donde no se conocen los valores óptimos de los parámetros hasta que ya han pasado. Vamos a repetir el experimento con tickers reales… --- He escogido una cartera de 3 tickers al azar pero que no sean del mismo grupo de mercados.

El eurodólar, el Crudo y el Oro. La optimización 2000-2005 arroja los siguientes valores óptimos:

  • Periodo de la media de largo plazo: 300
  • Umbral de compra del RSI: 16
  • Periodo de la media de corto plazo: 11

crude oil

 

Los resultados de la optimización (periodo 2000-2005) son los siguientes:

resultados

Que son excelentes. Un 73% de aciertos, un ratio de Sharpe superior a 1, una relación entre ganancias y drawdown de casi 4… En fin, de nuevo tenemos un sistema que uno operaría en real. Y los resultados fuera de muestra (2005-2019) son:

resultados estrategia

De nuevo salen pérdidas. Qué está pasando?

 

Recapitulemos: Hemos tratado datos ficticios como si fueran reales, optimizado un sistema de trading y comprobado que fuera de muestra no funciona. Luego hemos repetido el experimento en las mismas condiciones con datos reales (Eurodólar+Crudo+Oro) y el resultado ha sido exactamente el mismo. Esta pequeña prueba no pretende demostrar nada, pero esto empieza a ser sospechoso. Si uno no puede distinguir los datos reales de los ficticios, ni sobre el gráfico ni en su comportamiento, no será que todo es lo mismo? En las pruebas de este informe han ganado 1-0 los Académicos frente a los Analistas.

Para terminar hoy quiero que sea David Aronson el que tenga la última palabra. Este señor es profesor de estadística americano pero también es Analista Financiero; es una rara combinación (sería como un árbitro imparcial). Es la voz que hay que escuchar llegados a este punto. Lo que hemos visto hoy lo explica en su libro “Evidence Based Technical Analisys”, pág 262.

 

“Una explicación plausible para el deterioro fuera de muestra tiene que ver con la aleatoriedad. La dinámica de mercado es una combinación de comportamiento sistemático (patrones) y ruido. Las reglas válidas explotan la parte sistemática del mercado y como deben manifestarse también en los datos fuera de muestra son la fuente de los beneficios. Pero la parte del ruido es diferente en cada conjunto de datos, ya que es un fenómeno no recurrente.

Se deduce de esto que una parte del rendimiento en muestra es suerte (la coincidencia entre las señales del sistema y el ruido no recurrente). Estos beneficios extraídos de la suerte no se van a manifestar fuera de muestra así que el rendimiento futuro siempre será inferior. Esta explicación es acertada pero incompleta. La aleatoriedad es solo un villano (de varios). Una explicación más completa del deterioro fuera de muestra está basada en el sesgo de la minería de datos.

Hay dos villanos: (1) aleatoriedad (que tiene mucho peso en el rendimiento) y (2) la lógica de la minería de datos, donde la regla con mejor rendimiento es seleccionada a posteriori entre todas las demás disponibles. Cuando combinamos los dos efectos provocan una sobreestimación del comportamiento futuro así que es probable que la lógica seleccionada tenga un rendimiento peor que el rendimiento que hizo que la seleccionáramos de todas las disponibles.

Esta explicación de minería de datos como responsable del deterioro fuera de muestra es superior a las explicaciones basadas en un mercado cambiante ya que no asume que el mercado haya cambiado sino que la minería de datos favorece escoger solamente las lógicas que se beneficiaron de la suerte durante el backtest.

cumulative gains

Como se ha mostrado el rendimiento de una lógica se puede descomponer en ruido y el poder predictivo inherente de la lógica. De estos dos componentes el ruido es el dominante. Así, la lógica con el mejor resultado fue probablemente la que más se benefició de la suerte.

Es decir, la suerte disparó el rendimiento por encima del nivel atribuible a su poder predictivo (si es que tenía). Lo opuesto sería la lógica con el peor rendimiento, que fue la más impactada negativamente por la suerte. Seleccionar la lógica que mejor funciona es seleccionar la regla que más se benefició de la suerte. Como no podemos contar con que la suerte se repita entonces el rendimiento se degradará hasta el nivel atribuible al poder predictivo inherente de la lógica.

Esto hace que sea probable que el rendimiento fuera de muestra sea menor que el que hizo que la lógica ganara la competición de rendimiento. En resumen, el deterioro de los resultados fuera de muestra son probablemente una caída en las expectativas poco realistas más que un bajón del poder predictivo de la lógica.”

5
¿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
¿Cuál es el mejor ratio de optimización?
¿Cuál es el mejor ratio de optimización?
Estrategias para cuando la volatilidad se dispara
Estrategias para cuando la volatilidad se dispara
¿Me interesa operar un sistema de trading?
¿Me interesa operar un sistema de trading?
  1. en respuesta a Enuare
    -
    #5
    Oscar Cagigas
    21/04/20 15:58
    Pensaba que te referías a lenguajes específicos de plataformas de trading. Python está bien para probar sistemas. saludos,
  2. en respuesta a Oscar Cagigas
    -
    #4
    21/04/20 15:00
    Ok, muchas gracias Oscar. La verdad que estaba entre C# y Python por lo que he leído por ahí. Esto me descoloca un poco, pero así es el proceso de aprender.
    Un saludo
  3. en respuesta a Enuare
    -
    #3
    Oscar Cagigas
    21/04/20 11:35
    Hola. Si se trata de programar sistemas de trading en mi opinión lo mejor es AFL, el lenguaje de Amibroker. Es muy potente y permite hacer cosas que con otros no se puede. Saludos,
  4. #2
    18/04/20 16:48
    Hola Óscar,
    Aunque la verdad es que lo que he operado e investigado es todo trading manual, considero que automatizar un sistema tiene muchísimo potencial si se sabe usar correctamente (elegir momento, subyacente, etc.).
    Estoy interesado en aprender a programar así que mi primera duda es: si mi objetivo es aprender a programar para trading única y exclusivamente ¿qué lenguaje de programación me recomendarías?
    Hace poco adquirí tu libros "Trading con sistemas automáticos" y "Gestión de capital en acciones" pero no le he podido dar el uso que quería por mis faltas de conocimientos en programación.
    Un saludo
  5. Top 100
    #1
    08/11/19 17:51

    Es un mundo curioso, de novato te vuelves loco buscando ese sistema maravilloso que solo conocen las mentes privilegiadas y de pronto, un buen dia te das cuenta que es una búsqueda infructuosa, sencillamente no existe, grafico pelado y a correr

Te puede interesar...
  1. La Ley de Benford: ¿Está manipulado el mercado?
  2. Cadenas de Markov: Cortesía de Jim Simons
  3. ¿Funcionan las medias móviles?
  4. Demasiadas señales bajistas
  5. El Sistema del Millón
  1. Ratios para evaluar los sistemas de trading
  2. Las Ondas de Elliott
  3. Método Lowry de Medias Móviles
  4. El spread peso/maiz. ¿Dónde poner el stop?
  5. Pruebas para confirmar la validez de los sistemas de trading