En esta segunda parte analizaremos el potencial de las estrategias MM Stop ya descritas mediante un estudio de caso. Aplicaré un sistema intradiario basada en el cruce de medias adaptativas a una cartera compuesta por diez productos derivados. Mi objetivo es determinar si las fórmulas de cierre sensibles a la volatilidad de los mercados aportan, de manera concluyente, algún beneficio adicional que justifique su implementación en sistemas intradiarios.
Con todo, considero que bajo ciertas condiciones y actuando con "sensatez" su empleo puede estar justificado.
Dicho esto, pasemos a definir el estudio de caso:
LA ESTRATEGIA "VERVOORT CROSS"
Para este estudio he optado por un original enfoque del clásico cruce de medias desarrollado por Sylvain Vervoort en su artículo: The Quest For Reliable Crossovers (Stock & Commodities V.26:5 (20-25)). Las dos medias son variantes del TEMA (triple media exponencial), a las que se han aplicado técnicas del tipo ‘Zero Lag' para minimizar el retardo, así como el método de suavización Heikin-Ashi en una de ellas. Conservo en este estudio la primera versión del sistema, que trabaja sólo el lado largo.
El código base para Ninja Trader (plataforma con la que he realizado el estudio) se puede descargar en su foro y la versión modificada que contiene los seis tipos de stop que vamos a evaluar está en la sección de descargas de mi web. El sistema consta de tres parámetros:
Por lo que se refiere a la composición de la cartera, los futuros elegidos son: Libra (6B), Euro (E6), Yen (6Y), petróleo (CL), Bono 10 USA (ZN), Bund (FGBL), mini-Russell 2000 (TF), mini S&P Midcap 400 (EMD), IBEX-35 (FIBEX) y DAX (FDAX). Todos ellos en time frame de 10 minutos y con cierre diario. El período de estudio fue 2001-2008 (salvo algún caso en el que disponía de menos histórico. Ver test).
Al tratarse de sistemas intradiarios, quizá no sea deseable permitir la entrada de órdenes durante toda la sesión, la franja horaria elegida para operar debería reflejar los momentos de mayor actividad de cada mercado. En base a estudios anteriores, he realizado un cronograma similar (aunque con alguna diferencia puntual) al que expliqué en la descripción de mi cartera VT26.
Por último, advertir que para la realización de este experimento no se ha tenido en cuenta ningún factor corrector para el deslizamiento medio de las órdenes a mercado, ya que el objetivo de este artículo no es la evaluación de una estrategia, sino comparar las ventajas e inconvenientes de cada tipo de MM Stop empleado.
SISTEMA DE ENTRADAS
El sistema lanzará una orden de compra a mercado en el cierre de la barra en que se verifica la condición:
CrossAbove(ZeroLagTEMA, ZeroLagHATEMA, 1)
La cadencia operativa estará determinada por el número de barras establecido en el parámetro "Period"; a menor número de barras, mayor frecuencia. En TF de 10 minutos y con los productos enumerados, se consigue una media óptima de unas dos operaciones por semana con valores que oscilan entre 150 y 450.
Este parámetro, único optimizable en el sistema original, es el que nos permitirá realizar la primera prueba de la comparativa: Entrar largos con la señal y cierre diario en el intervalo horario de cada mercado.
Tras realizar una primera prueba de back-test (considerando siempre como "criterio diana" el profit factor) establezco los siguientes valores para cada producto:
Estos valores permanecerán igual en toda la comparativa. Ahora veamos los resultados preliminares obtenidos:
La primera columna indica en beneficio acumulado en el período muestral. Le siguen el drawdown máximo, profit factor, ratio de Sharpe, beneficio medio por operación y porcentaje de aciertos. En la última fila se indican los valores medios correspondientes al conjunto de la cartera. Esta tabla será el benchmark a batir por cada una de las estrategias de cierre de posiciones que analizaremos a continuación.
Aunque no figure en la tabla, otro factor a tener en cuenta es el MAE (maximum Adverse Excursion) que se obtiene para cada producto. Este dato nos ayudará a encontrar -incluso sin necesidad de optimizar- valores paramétricos adecuados para cada mercado / sistema.
La imagen inferior muestra el gráfico del MAE para el futuro del IBEX:
Ni que decir tiene que cuanto más agrupada aparezca la distribución, mejor.
MM STOP BASADO EN MEDIAS.
Son muy numerosos sistemas tendenciales que emplean el mismo juego de medias que determina las entradas a mercado como dispositivo para cerrar poiciones. Este es también el mecanismo elegido en el sistema Vervoort Crossover original:
Pero los resultados no son satisfactorios, al menos para el tipo de operativa intradiaria al que hemos sometido esta estrategia. Mejora algo el ratio de Sharpe, pero al precio de incurrir en un número elevado de operaciones perdedoras.
MM. STOP DE PORCENTAJE FIJO
Constituye, como ya hemos visto, la manera más sencilla de implementar un mecanismo de cierre con cierta capacidad de adaptación al tamaño del mercado: Se mantiene a la misma distancia relativa del punto de entrada con independencia del precio de cotización. Por este motivo, al evaluar sistemas en históricos de años, si se desea aplicar un stop de pérdidas fijo esta es la alternativa adecuada para evitar distorsiones debidas al "efecto tamaño" de los mercados; ya que de otro modo, al hacer pruebas de back-test de muchos años, observaremos que en algunos períodos este stop resultará inadecuadamente relajado y en otros excesivamente ceñido.
Pongamos un ejemplo: Supongamos que, con el FIBEX en el entorno de los 8.500 puntos, deseamos establecer una pérdida máxima de 850€ por contrato. En tal caso nuestro stop actual será de un 1%:
MM Stop % = 850 / 8.500 x 10 (valor del punto) = 0,01 = 1%
Sin embargo, con el índice acariciando los 16.000 puntos, un stop de 850€ a penas se distanciará del precio de entrada un 0,53%, resultando tan ceñido que nos sacará del mercado a cada momento.
¿Entonces, por qué al optimizar para un valor monetario fijo se obtienen resultados incluso mejores que con porcentajes? Supongo que, a estas alturas de la película, ya imaginarán la respuesta: Estamos ante un caso típico de la falacia de la sobreoptimización. Y si no se lo acaban de creer, hagan la siguiente prueba:
Apliquen a este mismo sistema un stop monetario empleando la siguiente fórmula:
Valor del stop = Position.AvgPrice - StopValue
Luego, optimicen el parámetro StopValue (en moneda local) entre los valores 100 y 2.500, en el producto de esta cartera que prefieran. ¿Qué encuentran?
- Si prefieren que les ahorre las molestias, yo se lo diré: Cosas absurdas.
Por ejemplo, encontrarán que el mejor valor del MM stop para el producto "x" es de 798€. ¡Vaya! Qué curioso. ¿Por qué ese número es el que me da un net profit máximo de, pongamos, el 250% en siete años? ¡Dónde está su magia!.
Reduzcan o aumenten su valor en tan sólo 20€. ¿Qué ocurre? ¡Vaya! Esta si que es gorda. Ahora mi estupendo net profit se reduce hasta el 190%. ¿Cómo es posible una diferencia tan abultada con una modificación del MM Stop tan pequeña?
Bien, regresemos a nuestra comparativa:
Period: Sin cambios para cada mercado.
Stop Type = 2
Stop Value: Entre 0,2 y 2,5 en saltos de 0,1.
Cuando se trabaja con productos distintos no es conveniente ni deseable aplicar el mismo valor porcentual para todos. Por ejemplo, un 1% en el EMD (cotizando actualmente a 520 puntos) implica:
MM Stop = 520 * 0,01 * 100 (valor del punto) = 520$
Valor que, a todas luces, se nos hace demasiado escaso, ya que la amplitud media de la horquilla intradiaria (dada la alta volatilidad del momento) asciende a unas tres veces esa cifra.
En el otro extremo, un retroceso del 1% en el ZN (cotizando en 123,155) supone fijar el stop en:
MM Stop = 123,155 * 0,01 * 1000 (multiplicador) = 1.231,55$
Que en este caso (y al ser el ZN un producto históricamente menos volátil que el EMD) resultará, quizá, algo elevado para operar en intradía.
En definitiva, cuando se opera en futuros con tamaños de contrato y volatilidades distintas, no se puede aplicar un stop porcentual único a toda la cartera. Por lo que no nos quedará más remedio que encontrar un valor óptimo del stop para cada producto por separado.
Tras el preceptivo proceso optimizador, realizado en los términos ya descritos, estos son los resultados que obtengo:
Como pueden ver, la aplicación del stop porcentual afecta a cada producto de manera diferente. Algunos, como el CL y el EMD, reducen bastante su beneficio acumulado sin mejorar su DDm. Otros, como el FIBEX, FGBL y TF, mejoran en ambos aspectos, y no disminuye demasiado su porcentaje de aciertos.
En general -como se deduce de los valores medios de la cartera- el MM Stop de porcentaje fijo ha funcionado aceptablemente en el sistema Vervoort Crossovers, consiguiendo elevar el Profit Factor y el Ratio de Sharpe. Sin embargo, empeora ligeramente el tamaño medio de la operación (que como ya he comentado tantas veces es un dato de importancia crítica para operativa intradiaria) y el porcentaje de aciertos. Aunque esto último, como veremos, es algo normal al aplicar cualquier tipo de MM stop.
MM STOP EN MÚLTIPLOS DEL ATR
Según T. Stridsman (Tarding Systems and Money Management, Irwin, 2003. pág. 210) existen dos formas generales de construir stops sensibles a la volatilidad del mercado:
a) La manera más "académica" consiste en calcular la desviación estándar de los movimientos de precios entre cierres consecutivos. De este modo, si colocamos el stop a una desviación del precio de entrada, éste saltará en un 16% de las barras, mientras que si la distancia es de dos desviaciones, la frecuencia de activación será, en promedio, del 2,5%. A sí que el parámetro modulador de la sensibilidad del stop será el número de desviaciones típicas establecido por el trader. El problema de esta metodología es que para obtener un valor estadísticamente significativo de la desviación típica de precios se necesitan muchas barras, y esto puede resultar inconsistente para sistemas de muy corto recorrido.
b) La segunda forma (ATR(n) *a) de estimar la "volatilidad de faena" resulta a mi juicio más eficaz para este tipo de operativa. Entre otros motivos porque el número de barras para calcular la media de los rangos no tiene por que ser tan largo como en el caso anterior.
Por otra parte, en el modelo que he desarrollado para este estudio, todos los stops analizados emplean un único parámetro, por dos motivos: Primero, para que los resultados sean comparables (al contar con similar número de restricciones condicionales) y, en segundo lugar, para disminuir el riesgo de una optimización excesiva. En este caso, he igualado el número de barras de las medias y del ATR, con lo que n = Period.
De este modo, los parámetros del sistema Vervoort Cross son:
Period: Sin cambios para cada mercado.
Stop Type = 3
Stop Value: Entre 1 y 10 en saltos de 1 ATR.
Tras optimizar el multiplicador del ATR estos fueron los resultados obtenidos:
Salvo por el DD (-9,72%), todos los valores medios de la cartera mejoran con respecto al stop porcentual, resultando especialmente significativo el aumento del beneficio medio por operación. Como contrapunto, señalar que en algunos mercados como el CL y el TF este MM. Stop no ha funcionado muy bien, ya que ha disparado el DDm. hasta niveles quizá demasiado altos.
MM STOP BASADO EN EL RANGE INDICATOR (RIND)
Buscando alternativas al ATR clásico, descubrí hace unos meses que este indicador descrito por J. Weinberg (ver fórmula matemática) ofrece buenos resultados al ser aplicado como mecanismo de cierre de posiciones en lugar del clásico ATR. Pues se adapta de manera más suavizada a los cambios de la volatilidad intradiaria.
Sus dos parámetros son el número de barras a considerar en el indicador (a) y la media empleada para suavizarlo (b). En el modelo evaluado aquí esos dos valores vienen determinados por el periodo de las medias empleadas para las señales de entrada, según la relación: intervalo / periodo: 1:10. De este modo, volvemos a tener un solo parámetro optimizable, el coeficiente empleado como multiplicador.
En concreto, los parámetros del sistema Vervoort Cross son:
Period: Sin cambios para cada mercado.Stop Type = 4
Stop Value: Entre 2 y 8 en saltos de 0,1 RIND.
Estos fueron los resultados obtenidos:
Salta a la vista que los resultados son mejores que con el stop de ATR. El beneficio acumulado aumenta en casi todos los productos y se obtiene un DDm. bastante más contenido que en el caso anterior. Sobre todo, en productos como el CL y TF. Con todo, también hay que señalar que el porcentaje medio de aciertos es algo menor que en otros tipos de MM Stop analizados.
MÁXIMOS Y MÍNIMOS DE SESIÓN.
Nuestra siguiente fórmula para implementar el MM Stop se basa en un enfoque clásico: Establecer como valor de cierre un porcentaje del canal de máximos y mínimos de la sesión actual:
Valor del stop = (Máximo Sesión - Mínimo Sesión) / n
El parámetro "n" se puede obtener mediante optimización. Sin embargo, algunos traders recomiendan utilizar como valor de "n" los retrocesos de Fibonnaci. De este modo tendríamos:
a) 61,8% del DH-DL.- Un stop bastante abierto e indicado para los productos con mayor volatilidad intradiaria: Por ejemplo, el petróleo.
b) 50% del DH-DL: Stop neutro. Adecuado para la mayoría de los futuros sobre índices.
c) 38,2% del DH-DL: Stop ceñido. Bueno para productos poco volátiles, como los futuros sobre renta fija.
Tras analizar durante un tiempo esta casuística -y viendo que no se obtienen resultados significativamente aceptables- he optado por dejar "n" como parámetro optimizable en el sistema que venimos estudiando. Por tanto:
Period: Sin cambios para cada mercado.
Stop Type = 5
Stop Value: Entre 1 y 3 en saltos de 0,01.
Esta es la tabla de resultados obtenida:
Se consiguen, como en el caso anterior, drawdowns bastante contenidos, pero los demás resultados son bastante peores. Particularmente, el porcentaje de aciertos que se reduce mucho.
CANALES DE MÁXIMOS Y MÍNIMOS DE "x" BARRAS.
El objetivo de esta fórmula es tratar de afinar algo más la diferencia entre máximos y mínimos a considerar en el stop. En realidad, se trata de una variante de la anterior que podría tener alguna utilidad cuando la operativa es muy rápida y se emplean time frames muy pequeños.
En tal caso, la fórmula a considerar será:
MM Stop = Precio de entrada - (HH(x)-LL(x)) * n
Siendo HH - LL los valor más alto y más bajo de las últimas "n" barras; y "n" el coeficiente aplicado como parámetro para este tipo de stop.
Si desea evaluar esta estrategia de cierre del Vervoort Cross, los parámetros a considerar son:
Period: Sin cambios para cada mercado.
Stop Type = 6
Stop Value: Entre 0,1 y 5 en saltos de 0,1.
Y, tras el preceptivo back-test, estos son los resultados que obtengo:
Un poco mejores que en el caso anterior, pero, a mi juicio, menos robustos que al emplear los stops dinámicos basados en el ATR y el RIND. De todas formas, no conviene descartar precipitadamente esta metodología de cierre, pues se usa en algunos de sistemas intradiarios que acreditan buen historial de resultados.
VALORACIÓN FINAL:
En esta última tabla podemos ver los resultados medios que obtuvo la cartera de futuros en los escenarios ya analizados:
Salta a la vista que los stops dinámicos, sensibles a la volatilidad son, en este caso, los que mejores resultados obtienen. Pero esto no tiene por qué ser así al emplear sistemas asentados en filosofías de trading muy diferentes. Por lo que, para terminar, me limitaré a indicar al lector mi punto de vista sobre la utilización de los MM Stops:
1.- El objetivo de un MM Stop no es ganar más dinero, sino limitar en lo material y psicológico el riesgo que estamos dispuestos a asumir en relación al tamaño de la cuenta y a nuestro propio nivel de aversión al riesgo.
2.- En otros artículos he mencionado el concepto de "confortabilidad" que refleja las actitudes personales ante la evolución de los resultados de un sistema: Tranquilidad, seguridad en nosotros mismos, desasosiego, incertidumbre, miedo... Si la aplicación de un nivel de pérdidas, del tipo que sea, contribuye de alguna manera a mejorar este nivel de confortabilidad, entonces vale la pena contar con él, incluso asumiendo resultados estadísticamente peores.
3.- Un buen MM stop ha de tener cierta capacidad de adaptación a los cambios del mercado: Efecto tamaño y volatilidad. Sólo de este modo conseguiremos que la estrategia de cierre de posiciones que sea eficiente en las distintas marcoépocas que atraviesan los mercados.
4.- No opere jamás con la "soga al cuello". Los stops muy ceñidos sólo sirven para estrangular la evolución natural de las formaciones de precios. Además, claro está, de multiplicar el número de salidas improductivas y disparar los gastos de la operativa.
5.- Tampoco conviene rizar el rizo con stops basados en indicadores exóticos, ni multiplicar el número de parámetros, ni mucho menos elegir sus valores mediante procesos de optimización intensiva. Recuerde el viejo principio de la "Navaja de Ockham": Entre las muchas alternativas posibles, la naturaleza elige siempre el camino más simple.
© Andrés A. García.
Tradingsys.org, 2009.