Stops de protección y volatilidad (II)
 
 

Stops de protección y volatilidad (II)

 
TradingSys (AndG) - 11 Mar 2009
11 comentarios
 

tradingsys 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.

He de aclarar que durante mucho tiempo he sido bastante escéptico en lo relativo a la aplicación de cualquier variedad del llamado ‘MM Stop' en mis sistemas intradiarios; entre otras cosas, porque la dinámica de precios en time frames pequeños parece acomodarse a una distribución cuasi-aleatoria que, en principio, convertirá cualquier tentativa de limitar las pérdidas en una especie de juego de azar, y también porque, en muchos casos, el beneficio medio por operación -ya de por sí bastante escaso en esta operativa- suele disminuir hasta niveles insostenibles cuando se opera con stops muy ceñidos.

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:

  • - Period: Número de barras empleado en ambas medias.
  • - Stop Type: Tipo de MM. Stop empleado: (10) Sin stop, (1) Cruce de medias (algoritmo original), (2) Porcentaje fijo, (3) ATR Stop, (4) RIND Stop, (5) Máximos y mínimos de sesión, (6) Canales de máximos y mínimos.
  • - Stop Value: Valor del stop para cada tipo.

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.

tradingsys


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:

tradingsys


Estos valores permanecerán igual en toda la comparativa. Ahora veamos los resultados preliminares obtenidos:

tradingsys


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:

tradingsys


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:

tradingsys


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:

  • Parámetros del stop porcentual:

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:

tradingsys


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:

 

tradingsys


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:

tradingsys

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:

tradingsys


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:

tradingsys


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:

tradingsys

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.

 

 

 

Comentarios

 

MARQUESITO - UNA VISIÓN GLOBAL DEL STOP

Hola Andres. 
 
Te felicito, otro artículo más que nos presenta el uso, desuso y abuso del STOP. Un elemento polémico al parecer. 
 
Con tantas posiblilidades de referenciar al Stop se vuelve otra variable más a discernir que solo su inclusión. El tipo y su ejecución son lo que podemos personalizar más alla de lo estríctamente estadístico, y con ello la confianza hacia el sistema puede mejorar, pero coincido contigo en que no es de uso indiscriminado. Si el sistema lo necesita se colocará el que parezca más adecuado y punto. 
 
En fin agradecerte otra vez más éste espacio de diálogo y conocimiento que es tu sitio Web. 
 
Un saludo.

tiotino - No pongo stops

Si tienes tantos sistemas buenos para que poner stop. Lo mejor sería aplicarlos tal como están y así nos quitamos la caja negra que son los stops. 
 
¿ no crees ?

Blai5 - Felicidades. Lo estaba esperan

Bueno, ya sabes que estaba esperando esta segunda entrega con impaciencia. 
No entiendo esa actitud negativa hacia los stops. Como materia de estudio me parecen igual de interesantes que las propias entradas. 
Ciertamente volatilidad y volumen son dos aspectos que {a mi juicio} merecen más atención. Gracias por tu trabajo. Enorme, como de costumbre.

flyscalper - Time Frame

Hola Andrés. 
 
magnífico el artículo, como de costumbre. Únicamente te quería plantear una duda de novato. En otro artículo tuyo comentas que el time frame mínimo para que los deslizamientos no te coman los beneficios de la operativa sería el de 30 min. Sin embargo en este artículo has usado el de 10 min. ¿Por algún motivo en particular? 
 
Un saludo

Prometeo - Probar y probar y ...

Hola Andres, gracias por tu articulo de nuevo. Seguimos aprendiendo de ellos, y al menos en mi caso poniendolo en practica en mis estudios. Creo como bien dices que el stop, aparte de limitar las perdidas es un mecanismo para generar la confianza suficiente para estar en el mercado. 
Hasta pronto.

flyscalper - Optimizar una cartera de activ

Estimado Andrés, 
 
he leído en otro blog lo siguiente: 
 
"Diversificación entre Activos Financieros para el mismo Sistema. Es más completa que la anterior y su lógica reside en la robustez que nos ofrece un mismo sistema sin variación de parámetros funcionando en diferentes mercados. Sistemas Multi-Commodity como el Aberration se aplican sobre un elevado número de Commodities con el mismo parámetro, a pesar de que para cada Commodity existe un parámetro óptimo que maximiza los resultados. Si aplicáramos el sistema con un parámetro diferente para cada Commodity en función de los resultados del Back Testing, estaríamos cayendo en un problema de SobreOptimización. El resultado de aplicar en tiempo real el sistema con un único parámetro para todos los activos, será superior al de utilizar un parámetro diferente para cada activo financiero." 
 
¿Estás de acuerdo con esto? Lo digo porque tú has utilizado diferentes valores del período para cada activo... 
 
Un saludo.

elecctrro - sobre el articulo

Chapoo!! 
Sin lugar a dudas no se puede decir más en lo escueto de los dos artículo. 
Enhora buena.

Añadir comentario

 
Modificado por TradingSys (AndG) - 12 Mar 2009
 
 

Secciones

 
 

Entradas recientes

 
 

Enlaces