Cuando empeñamos demasiado tiempo y esfuerzo en diseñar una "excelente" estrategia, nos resulta muy difícil evaluarla con objetividad, actuando como jueces implacables de nuestra propia obra. Por ello, recomiendo a mis lectores que, antes de lanzarse a operar, sometan su modelo al veredicto -desde la distancia siempre más objetivo- de otros operadores experimentados.
Como recordarán, terminaba mi anterior artículo con la pregunta de si existe una relación lineal entre el deslizamiento aplicado a un sistema (en backtest, claro) y su efecto sobre la reducción de la curva de beneficios.
En esta ocasión, sólo he recibido cuatro respuestas (la verdad, muy poco, considerando que ya somos más de 700 usuarios registrados. Por lo que invito a mis lectores a una participación más activa): Dos de ellas se inclinan por la alternativa (b) "Un resultado final mucho peor" y, las otras dos, por la (c) "Depende de otras variables igualmente importantes".
Comenzaré analizando la curva de beneficios de un sistema intradiario aplicado sobre el FIBEX que presenta las siguientes estadísticas:
En 500 operaciones (obtenidas entre 2004 y 2007) el sistema obtiene un net profit de unos 70.000 euros, con un DD del 26,28% y una fiabilidad del; 51,80%. Su beneficio medio (Avg. trade) es de casi 140 euros. Desde luego, nada espectacular, aunque, a fin de cuentas, consigue estar en línea con otros muchos constructos, incluso comerciales, que pueblan la Red (en la categoría, claro, de trampas para atrapar incautos...)
Como se trata de un experimento didáctico, con el único propósito de analizar el efecto del slippage, omitiré los detalles técnicos sobre el algoritmo empleado, para centrarme en la información relevante al estimar su robustez futura.
Veamos, en primer lugar, su curva de beneficios:
En principio, y aplicando las consabidas comisiones de 3,75 euros por operación, el trazado de la curva ofrece un perfil bastante aceptable. Pero como me gusta ser muy crítico con los resultados de backtest, he sometido esta estrategia a una simulación de Montecarlo (SM) (empleando el software Market System Analyzer) con un nivel de confianza del 95% (valor estándar para estas simulaciones) aplicando diferentes niveles de slippage por cada operación cerrada. La columna de la izquierda muestra el beneficio medio estimado por operación (BME o avg. trade) de la estrategia en cada nivel de slippage antes de aplicar la SM. El resto de los datos se han obtenido a partir de la simulación.
Observamos que, incluso sin slippage, este sistema tiende hacia un DD elevado 63,27% después de aplicar SM, frente al DD inicial del 26,28%. Mal asunto, pues cuando un sistema muestra una comportamiento tan dispar, antes y después de la simulación, no cabe esperar de él nada bueno.
Pero, lo verdaderamente preocupante, es el rápido incremente del DD al ir aumentando el peso de los gastos por operación cerrada (round turn). El punto de ruptura se produce en los 80 euros de slippage (lo que equivale a 4 ticks por contrato del FIBEX). Observen como, aún siendo el BME de la serie original todavía positivo y relativamente alto (59 euros), la SM al 95% de confianza (valor bastante conservador) genera un resultado catastrófico, evidenciando que el sistema tiene una probabilidad muy elevada de no soportar este nivel de slippage en el futuro.
...Luego, amigos míos, huelga decir cuál es la respuesta correcta a la pregunta que habíamos planteado:
- Aunque "aparentemente" el BME se degrade progresivamente en función del peso de los gastos, no conviene fiarse; pues mucho antes de que el beneficio medio llegue a cero, el sistema empezará a evidenciar un creciente riesgo de resultados catastróficos. Este es el motivo por el que he recomendado tantas veces someter todos los sistemas a cuantas "perrerías" se nos ocurran antes de empezar a operar con "papelitos verdes de curso legal".
Bien, pues, visto esto, vamos a pasar a las simulaciones aleatorias que prometí en mi anterior artículo. Para ello, ha sido preciso construir una hoja de cálculo en la que el estudio del slippage se analiza de dos maneras diferentes:
Las dos premisas en que se asienta este modelo son:
a) La mayoría de los sistemas generan, en plazos muy largos, secuencias de operaciones en las que no existe dependencia positiva o negativa. En otras palabras, la distribución de operaciones en el tiempo no tiene memoria. Sobre esta cuestión recomiendo leer mi artículo: "Reglas de dependencia" (28-12-2006). Nótese que una violación flagrante del principio de independencia haría imposible, entre otras cosas, la aplicación de simulaciones de Montecarlo.
b) La manera más realista de comprobar el efecto del slippage en una serie de operaciones no correlacionadas es construyendo dos curvas independientes que satisfagan aleatoriamente las condiciones de partida y cuya única diferencia sean los gastos establecidos por operación.
En definitiva, las dos curvas del gráfico superior son conceptualmente idénticas, y la penalización de 30 euros de la segunda (línea roja) se sustrae, proporcionalmente, de la pérdida y beneficio medios.
El simulador muestra con meridiana claridad enormes divergencias en el trazado de ambas curvas de beneficios; dejando claro que, tanto el tamaño medio de la operación (Avg. trade 1 y 2) como el resultado final ("Suma" 1 y 2), son diferentes (o sea, no proporcionales) en ambas distribuciones aleatorias.
Motivo: En algunos tramos la "curva verde" asciende por la pendiente de la regresión lineal (línea negra) debido a una sucesión de operaciones muy pequeñas, muchas de las cuales caen por debajo del slippage aplicado a la curva 2. La cual, como pueden ver, no es capaz de soportar el peso de los gastos y se derrumba progresivamente.
Conclusión: El juego de las series aleatorias no se acomoda de manera proporcional al incremento del slippage. A partir de cierto umbral crítico puede ocurrir prácticamente cualquier cosa.
Vean este segundo ejemplo:
Las variables de partida son iguales, exceptuando el slippage, que aquí hemos reducido hasta 20 euros. Con estos datos, la primera curva (verde) obtiene un beneficio total de 140.671 euros, más favorable incluso que en el experimento anterior, mientras que la segunda curva (roja) parece resistir bien el peso de los gastos, obteniendo un tamaño de la operación (41 euros) muy similar al valor medio de la primera serie (65,37) menos el slippage establecido (20 euros).
En las pruebas de bakctest realizadas, con las habituales plataformas de trading (por ejemplo, Visual Chart o Ninja Trader) el resultado de aplicar un determinado slippge consiste en restar "x" puntos a cada operación en la secuencia profit-loss (P/L). Ahora comprendemos mejor que lo que nos proporcionan estas simulaciones no es más que una "foto fija" que hace referencia al pasado, pero no nos dará ninguna pista sobre los escenarios más o menos favorables con que podemos encontrarnos en las siguientes operaciones. En el otro extremo, si repitiésemos estos experimentos aleatorios cientos de veces ( en la hoja de cálculo es muy fácil, sólo hay que pulsar "F9" para generar nuevas series aleatorias) y analizásemos los valores (máximos, mínimos y medios) de cada curva resultante, tendríamos una simulación de Montecarlo completa. Y esto, a mi juicio, sí ofrecerá información mucho más precisa sobre lo que nos cabe esperar en el futuro.
- Caso 2: Series fijas dependientes.
Mi siguiente versión del "Equity Curve Simulator" esta diseñada para tratar el slippage al modo de las citadas plataformas de trading: O sea, "foto fija" y diferencias P/L estáticas:
En la imagen superior podemos ver la distribución de las 200 primeras operaciones de un sistema (bastante mediocre, por cierto) con una fiabilidad inicial del 60% y un ratio W/L de 1,24. Al aplicar un slippage de 20 (curva amarilla) y 40 (curva verde) observamos como el beneficio medio y el resultado final se degradan "casi" progresivamente, cumpliendo a rajatabla el recorte estipulado en cada operación.
El "casi" resulta algo inquietante; ¿verdad? Por ejemplo, entre las operaciones 121 y 200 podemos ver una clara divergencia de las curvas azul y verde. ¿Por qué? Muy sencillo, además del peso de los gastos, la distribución de trades en el equity curve también cuenta: El incremento de la curva azul (sin slippage) entre las ops. 121 y 200 se obtiene con unos BME muy pequeños, por debajo del umbral de gastos de la curva verde (que, recordemos, sólo tiene un BME de 25 euros). Y ello, indefectiblemente, conduce a que la curva menos favorable pierda dinero.
Veamos este otro ejemplo:
Observen que seguimos en el mismo escenario de la imagen anterior:
¿Qué demonios ha ocurrido? Pues lo de siempre, el insondable arcano de los juegos aleatorios: Ahora la distribución de trades se acomoda a un escenario -igualmente plausible- mucho peor.
...Dicen que las armas lar carga el diablo, pero yo creo que los cubiletes de dados y los sistemas de trading también.
Cuando una distribución de operaciones en backtest, larga, robusta y muy atractiva nos seduce con sus cantos de sirena, más nos valdría taponar preventivamente nuestros oídos con tapones de cera y ponernos a hacer cuentas hasta que nos salgan callos en los dedos antes de lanzar las campanas al vuelo y empezar -como tantas veces- a perder dinero de forma irreparable. Pues, desde la óptica inmisericorde de los juegos aleatorios, hasta las situaciones más inverosímiles tienen alguna probabilidad de ocurrencia. ...Sólo hay que dar tiempo al tiempo.
Conclusiones:
Andrés A. García.
© Tradingsys.org, 2008.