Unknown

Kevin Davey es un conocido trader de futuros, divisas y materias primas. Ha estado operando durante más de 25 años. Durante tres años consecutivos, Kevin logró más del 100 % de rendimiento anual en un campeonato de trading con dinero real. Es autor del libro de  trading algorítmico «Building Algorithmic Trading Systems: A Trader’s Journey From Data Mining to Monte Carlo Simulation to Live Trading» (Wiley 2014). 
Kevin Davey / kjtradingsystems.com

 

  • Al programar una estrategia o usar un sistema, hay multitud de variables que debemos elegir con cuidado si queremos tener los mejores resultados. Uno de ellos tiene que ver con el uso de los stop loss. ¿Cómo determinar los stop loss de mi estrategia? En este artículo veremos varias formas de hacerlo.
  • Artículo publicado en Hispatrading 55.

Recuerdo cuando me metí por primera vez en el mundo del trading y el trading algorítmico. Todo era un misterio:

  • ¿Qué tipo de señales debo usar para entrar?
  • ¿Qué tipo de stop loss?
  • ¿Qué método de dimensionamiento de posición es mejor?

La lista seguía y seguía. ¡Tanto que aprender!

Pero para cada una de esas preguntas, la respuesta que escuché una y otra vez fue clara:

Para detener las pérdidas, SIEMPRE use stops de volatilidad usado el rango real promedio (ATR), en otras palabras, un stop loss de pérdidas ATR. ¡Solo los tontos y los traders poco sofisticados usan stops basados en dólares!”

Entonces, por supuesto, usé stops basados en ATR. Tenía sentido, después de todo. El stop loss se basaba en las condiciones del mercado: stops más grandes en condiciones más volátiles, stops más pequeños durante tiempos de poca volatilidad.

Nunca lo cuestioné.

Tal vez debería haberlo hecho.

¿Qué es el rango real promedio?

Mucha gente se confunde con el término “average true range” o «rango real promedio», pero en realidad es bastante simple.

En primer lugar, todos deberíamos saber qué es el «rango». Es simplemente el máximo de una barra menos el mínimo de la barra.

El rango real promedio (o ATR para abreviar) es una modificación de esto, para tener en cuenta la barra donde el precio de cierre de la barra anterior estaba fuera del rango de la barra actual.

Esto puede sonar un poco complicado, pero afortunadamente cada plataforma de trading tiene un rango real incorporado. El rango real promedio es solo el promedio de los valores pasados x rango real.

El rango real promedio resulta ser un buen indicador de la volatilidad de un mercado: valores más altos del rango real promedio apuntan a un mercado más volátil.

Stop Loss ATR

Mucha gente piensa en el stop loss en cantidades en dólares, como un stop loss de $ 1.000. Pero el rango real promedio se puede usar en su lugar.

Por ejemplo, el stop loss podría establecerse en 2 veces el rango real promedio de las últimas 14 barras.

ATR de divisas

Dado que ATR es una medida de volatilidad basada únicamente en los precios de las barras, puede usar este indicador para acciones, futuros, divisas e incluso criptomonedas.

Bien, una vez visto lo más básico sobre este tema, volvamos a nuestro debate sobre los stops loss ATR.

A decir verdad, siempre me disgustaron los stops basados en la volatilidad (ATR). A veces, el stop fue enorme en términos de dólares. Otras veces, era minúsculo. A veces no me parecía bien.

Aquí hay un ejemplo de lo que quiero decir. La «sabiduría popular» decía «establezca su stop en un múltiplo de 3 veces el rango real promedio de 14 períodos». Veamos un ejemplo para el futuro del petróleo crudo, el oro y el mini S&P:

pastedGraphic.png
Figura 1. ATR en diferentes activos.

Lo siento, pero el resultado en dólares, destacados en amarillo, me asustan muchísimo. Incluso los valores mínimos son algo altos.

Cómo usar el indicador ATR

Aquí hay otro buen ejemplo del problema con los stops ATR. Suponga que tiene una cuenta de $ 20K y negocia 1 contrato del futuro del SP500, el ES. Utiliza un stop loss ATR con un multiplicador de 0,5. Entonces, a mediados de octubre tienes una señal. Su stop es 0,5*9,41*50 = $235, que es el 1,2 % de su cuenta. ¡Este es un cálculo bastante simple!

pastedGraphic_1.png
Figura 2. Gráfico con ATR. Gráfico de Tradestation. 

Ahora avance rápido 4 meses. Obtienes una señal. El stop ATR ahora es 0,5*77,39*50 = $1935, o el 9,7 % de su cuenta. ¡En 4 meses su stop se multiplicó por 8!

Stops en dólares

No obstante un día decidí probar los stop loss basados en dólares. $ 500, o $ 1000 por límite de pérdida de contrato. Una locura, según todo lo que leo.

¿Pero adivinas qué? De hecho, mi rentabilidad mejoró. Estos stops basados en dólares «irracionales» en realidad funcionaron mejor que los stop loss ATR.

Recuerdo tener miedo de mencionar esto a otros traders, por miedo al ridículo. Así que seguí adelante, usando mis stops basados en dólares. Incluso gané un campeonato de trading por el camino.

Mucho después. Un día del 2016, estaba en Nueva York con mi amigo (y colega trader) Andrea Unger. Compartí mi profundo y oscuro secreto con él.

Esperé el inevitable menosprecio. Lo que dijo en cambio me sorprendió.

“Claro, también los uso. Los stop loss basados en dólares pueden funcionar muy bien”.

Me quedé boquiabierto. ¿Era incorrecta la sabiduría popular con la que me habían alimentado? Si es así, ¿qué pasa con todas las demás «verdades» del trading, como «corte sus pérdidas, deje correr sus ganancias», «nunca permita que una operación ganadora se convierta en perdedora» y «siempre opere con un stop loss»?

Por eso, de ahí la pregunta. Qué es mejor: ¿los stop loss basados en dólares o los stop loss basados en volatilidad (rango real promedio)?

Analicemos esto en 4 partes:

Parte 1: Ejecuto pruebas para comparar, en varios mercados, con 4 estrategias diferentes.

Parte 2: Presento algunas ideas nuevas y formas de incorporar las mejores características en stops basados en dólares y stops ATR.

Parte 3: Proporciono todo el código y los espacios de trabajo para que pueda duplicar y ampliar mi estudio.

Parte 4: Doy un código de recursos extra, útil para todos.

¡Pasemos a la Parte 1!

Consejo de trading algorítmico

Parte 1: Stops en dólares vs. Stops basados en ATR

Hagamos algunas pruebas, en 3 mercados diferentes:  Petróleo

crudo Mini S&P (ES) Oro (GC).

Y probemos 4 estrategias diferentes (entradas largas y cortas simétricas, solo se muestran las reglas para las posiciones largas):

Estrategia 1: impulso simple (si cierra > cierra [x], entonces compra)

Estrategia 2: RSI de 2 períodos (si RSI (2) > comprar por encima)

Estrategia 3 – Contratendencia a corto plazo (si close<close[long length] y close>[short length] comprar)

Estrategia 4 – Estrategia de Bollinger (si el cierre cruza por debajo de -1 Std Dev BB, comprar. Vender cuando cruza por encima de la línea 0 de Bollinger)

Esta es una combinación de estrategias de seguimiento de tendencia y reversión a la media. Solo seleccioné al azar algunas estrategias simples, para ver el impacto de varios stops. No digo que estas sean estrategias viables.

Así es como se ve mi espacio de trabajo de prueba: 12 combinaciones de estrategias y mercados.

pastedGraphic_2.png
Figura 3. Espacio de trabajo.

Para esta prueba, usaré barras diarias y haré pruebas durante 5 años. Incluyo valores representativos de deslizamiento y comisión en los resultados (¡siempre es una buena práctica!). Para simplificar, operaré 1 contrato siempre, sin piramidación.

¿Cómo analizo el rendimiento?

Cuando evalúo una estrategia, uso la métrica de retorno/drawdown de mi hoja de cálculo del simulador de Monte Carlo. Pero para hacerlo sencillo, solo usaré el factor de beneficio como el criterio objetivo de «bueno». Se correlaciona positivamente con el retorno/drawdown y es mucho más simple de obtener. Por lo tanto, es una buena métrica para usar.

pastedGraphic_3.png
Figura 4. Métricas.

Primero, veamos los resultados de referencia para cada estrategia, sin stops (aparte de las salidas y las condiciones de stop e inversión descritas anteriormente).

pastedGraphic_4.png
Figura 5. Profit Factors.

Con el escenario de referencia, tenemos una buena variedad de factores de beneficio. Algunas estrategias son francamente malas (Oro #2, Oro #4, Mini S&P #2) y otras son realmente buenas (Crudo #3, Mini S&P #3). Entonces, esto nos dará una buena combinación de resultados para evaluar la efectividad del stop loss.

Stop Loss simple en dólares

En Tradestation, el código para este stop loss simple basado en dólares es:

SetStopLoss(XX); //XX es en dólares por contrato.