Acceder
Tipos de stops dinámicos y cómo se utilizan

Tipos de stops dinámicos y cómo se utilizan

A la hora de elaborar una estrategia, tan importante es encontrar un método de entrada competitivo como lo es determinar cuáles serán las condiciones de salida de cada negocio. Generalmente estas condiciones se suelen dividir en un margen de ganancia y un nivel máximo de pérdida. No obstante, no son pocos los que optan por aprovechar el recorrido del negocio y utilizarlo para ir desplazando el stop de pérdida: efectivamente, estamos hablando de los stops dinámicos, de los cuales vamos a hablar en los dos próximos artículos.

Acerca de los stops dinámicos

Un stop dinámico o trailing stop permite al inversor adaptar el nivel máximo de pérdida en base a los acontecimientos del mercado. Es decir, en lugar de aplicar una tasa fija de pérdida, establecida al inicio del negocio (la cual es prácticamente obligatoria añadir en todas las estrategias), trabajaríamos con un stop inteligente que fuera acompañando a la dirección del precio: Si el precio se mueve a favor de la posición abierta, adelantaríamos dicho stop hasta posiciones más beneficiosas, con la idea de ir asegurando, al menos, los puntos conseguidos desde el inicio del negocio.

Esta es la idea general. Si bien, no existe una única forma de desarrollar un stop dinámico, sino que va a depender de la línea de trabajo o de la filosofía de trading que sigamos. Nosotros vamos a ofrecer dos posibles alternativas, teniendo desde el principio claro que no son las únicas que nos vamos a encontrar, pero eso sí, podemos considerarlas como las más utilizadas. Veamos ambas alternativas.

Trailing Stop Clásico

La primera opción la vamos a llamar Trailing Stop Clásico puesto que es la que han venido utilizando las primeras estrategias desarrolladas en Visual Chart. Este tipo de trailing es muy sencillo de explicar, y como veremos, también muy fácil de implementar en nuestro código.

El proceso es el siguiente:

  1. Cada vez que iniciamos un nuevo negocio, cogemos como punto de referencia el precio de entrada.
  2. A partir de este precio, observamos si aparecen precios que sean mayores (en caso de estar comprados). De ser así, pasamos a fijarnos en el precio mayor.
  3. Repetimos el proceso para cada barra. 
  4. Calculamos el precio del stop de pérdida en base a este precio mayor (en caso de estar comprados) menos los puntos de pérdida que queramos establecer.

Eso es todo. En la siguiente imagen vemos un ejemplo de ello:

ibex trading

 

Las líneas rojas punteadas representan el precio al que se está colocando el stop. Como vemos, inicialmente el stop se sitúa a 40 puntos del momento de entrada. Cada vez que se alcanza un precio superior al precio último almacenado, el stop de pérdida se actualiza respecto a dicho valor. Las flechas indican el último precio de referencia, situándose el stop a 30 puntos de dicho nivel. Cuando el precio llega a 9640 no sube más, de ahí que el stop de pérdida permanezca fijo. Finalmente, el stop acaba ejecutándose obteniendo un negocio ganador.

 

Trailing Stop Con Beneficio

El problema que presenta el trailing stop clásico es que si en las primeras barras de vida de un negocio se produce una situación de incertidumbre (lo cual es habitual antes de la formación de un nuevo rallie), puede suceder que el stop dinámico nos saque de posición demasiado pronto, perdiendo buenas oportunidades. 

En la siguiente imagen vemos un ejemplo de esto:

trailing stop

 

El 22 de enero el Ibex pequeño abre con gap alcista y se ejecuta un negocio a largo. El trailing se actualiza respecto al último máximo, si bien la barra sufre un fuerte retroceso que lleva a que se ejecute el trailing stop. Posteriormente vemos cómo el subyacente continuó el movimiento alcista, lo cuál hubiera permitido una buena oportunidad. Además, si nos fijamos, el ataque bajista no llega a alcanzar los 8540 puntos, que era el nivel al que teníamos colocado el stop inicial, por lo que de haber mantenido este stop, habríamos conseguido aprovechar el movimiento de subida.

Como respuesta a estos casos, existe otro tipo de trailing algo más complejo que el anterior al que llamaremos Trailing Stop con Objetivo: En este caso, el stop dinámico no empieza a actuar nada más iniciarse el negocio, sino que va a esperar a que se alcance cierto nivel de ganancia. Hasta entonces, seguirá actuando el stop inicial de pérdida máxima. 

Es decir, que para este trailing el proceso sería el siguiente:

  1. Cada vez que iniciamos un nuevo negocio, calculamos el margen de beneficio a partir del cual activaremos el stop dinámico, el cual obviamente estará desactivado de inicio.
  2. En cada barra, observaremos si se alcanza dicho margen (respecto al precio de cierre de la barra). Si ocurre esto, activamos el trailing stop y el proceso sería el mismo que en el caso del trailing clásico.
  3. Mientras no se alcance el margen de beneficio, se mantiene activo el stop inicial. 

En la siguiente imagen vemos un ejemplo de cómo actúa este nuevo trailing:

stop loss

 

Los puntos a los que colocamos el trailing stop son muy ajustados, hasta el punto de que en caso de haber usado otra clase de stop dinámico probablemente hubiera cerrado el negocio en el retroceso alcista previo a las 10. En este caso, como el objetivo está situado en 80 puntos (en los 8690), hasta que no alcanza ese margen el precio de cierre, el stop dinámico no se activa, permaneciendo como referencia el stop inicial (línea de puntos azules por encima de los 8800).

 

Diseño del Trailing Stop Clásico

Visto los dos ejemplos de trailing que vamos a estudiar, a continuación, queremos explicarles cómo sería su diseño para incorporarlos a una estrategia elaborada en Visual Chart 6.

Esta sección dedicada al diseño la divideremos en dos partes: En este primer artículo, veremos cómo desarrollar el diseño del Trailing Clásico, y en el próximo, procederemos a hacer lo mismo con el Trailing con Objetivo.

En la explicación del Trailing Stop Clásico hemos indicado los pasos que habría que dar. Pues bien, para el diseño tendremos que hacer lo mismo. Lo único, que debemos incorporar a la lista de variables una en la cual podamos ir almacenando el último valor de referencia. Llamaremos a ésta variable precio_ts y debemos inicializarla siempre a cero:

En VB.NET

visual

En la Plataforma Visual

visual chart

No debemos de olvidarnos de incorporar además los parámetros con los que establecer el stop inicial y los puntos de salida del trailing stop.

Hecho esto, lo primero que debemos preguntarle a la estrategia es cuándo estamos en el momento de inicio de cada negocio, ya que como decimos, es el punto de partida para estudiar el stop dinámico. Esta información se puede obtener a través de la función GetBarsSinceEntry. De modo que cuando dicha función valga cero, estaremos en el momento inicial (siempre y cuando tengamos una posición abierta, como es lógico).

En VB.NET

visual stop

En la Plataforma Visual

stop visual

 

Lo siguiente será comprobar si los precios siguientes superan el último valor guardado en la variable precio_ts:

En VB.NET

visual chart stop

En la Plataforma Visual

stop visual chart

Por último, enviaremos la orden de salida en base al valor de la variable precio_ts y del parámetro que hayamos incluido para determinar los puntos del stop dinámico. Es importante comparar el precio resultante con el nivel de pérdida máxima, para asegurarnos de que nunca sobrepasamos lo máximo que estamos dispuestos a perder:

En VB.NET

visual chart trailing stop

En la Plataforma Visual

trailing stop visual chart

Para finalizar, repetimos el proceso para los casos de las posiciones abiertas a corto, siempre y cuando nuestra estrategia contemple esa posibilidad. 

El resultado completo sería el siguiente:

En VB.NET:

stop loss dinamico

En la Plataforma Visual:

trading stop loss

Nótese que estamos obviando en todo momento las reglas de entrada, ya que es importante recordar que la implementación de estas condiciones de salida son independientes del modo en el que realice las entradas la estrategia.

Ahora vamos a ver el diseño de dos modelos de stop dinámico: El stop dinámico clásico, cuyo diseño ya mostramos en dicho artículo, y el stop dinámico con objetivo, cuyo diseño explicaremos a continuación. Les recordamos que la plataforma elegida para desarrollar esta explicación será Visual Chart 6.

Diseño del Trailing Stop con Objetivo

Recordemos los fundamentos de este modelo de stop dinámico: A diferencia del clásico, el stop dinámico con objetivo no se activa nada más iniciarse el negocio, si no que debe esperar a que el mercado se mueva una cantidad concreta de puntos a favor. Entretanto, mantendrá el nivel de pérdida situado en el punto de máxima pérdida.

El primer paso será nuevamente incorporar las variables y parámetros que sean necesarios para elaborar la estrategia. Además de los parámetros para determinar la pérdida máxima (StopInicial) y la cantidad de puntos a situar el stop dinámico (TrailingStop), incluiremos un parámetro con el que especificar la cantidad de beneficio a partir de la cual activaremos el stop dinámico (llamaremos a este parámetro ObjetivoTrStop):

En VB.NET:

diseño del trailing stop con objetivo

En la Plataforma Visual:

plataforma visual

La gestión que debemos llevar a cabo, por tanto, será:

  1. Si hemos alcanzado o no el margen de beneficios.
  2. En caso de haberlo alcanzado, cuál es el precio de referencia a partir del cual calcularemos el trailing stop (es decir, cuál es el precio mejor situado que se ha alcanzado una vez se ha activado el stop dinámico).

Para realizar estas gestiones, incluremos en el diseño las siguientes variables:

  1. activar_ts (SI o NO). Que será una variable lógica.
  2. precio_ts. Que será una variable numérica (idéntica a la que usamos en el otro ejemplo).

A partir de aquí, el proceso es bastante parecido al que se sigue con el Trailing Stop clásico: Debemos preguntarle a la estrategia cuándo estamos en el momento de inicio de cada negocio para establecer el punto de partida de las gestiones. Si recuerdan, esta información se obtenía a través de la función GetBarsSinceEntry. De modo que cuando dicha función valga cero, estaremos en el momento inicial (siempre y cuando tengamos una posición abierta, como es lógico).

En VB.NET:

vb.net

En la Plataforma Visual:

 

 

 

 

 

posiciones

Si se fijan, en esta ocasión debemos inicializar tanto precio_ts como activar_ts, ya que ambos cuentan. Lo siguiente será realizar las dos gestiones anteriormente indicadas. Primero, si podemos o no activar el stop dinámico:

En VB.NET:

stops dinámicos

En la Plataforma Visual:

 

stop dinámicos explicados

Por último, enviaremos la orden de salida en base al valor de la variable precio_ts y del parámetro que hayamos incluido para determinar los puntos del stop dinámico. Es importante comparar el precio resultante con el nivel de pérdida máxima, para asegurarnos de que nunca sobrepasamos lo máximo que estamos dispuestos a perder:

En VB.NET:

programando stops dinámicos

En la Plataforma Visual:

stops

Como vemos, esto sólo lo hacemos si el stop dinámico está activado. Si aún no lo está porque todavía no hemos alcanzado el objetivo marcado o si directamente el mercado se mueve en contra nuestra, entonces la orden de salida depende del precio de entrada y del stop inicial:

En VB.NET:

stop dinámico activo

En la Plataforma Visual:

plataforma visual

Para finalizar, repetimos el proceso para los casos de las posiciones abiertas a corto, siempre y cuando nuestra estrategia contemple esa posibilidad. El resultado completo para posiciones largas sería el siguiente:

En VB.NET:

ordenes de salidas

En la Plataforma Visual:

ordenes stops

Nótese que estamos obviando en todo momento las reglas de entrada, ya que es importante recordar que la implementación de estas condiciones de salida son independientes del modo en el que realice las entradas la estrategia.

Conclusiones

Con esto queda explicado cómo diseñar un Trailing Stop Clásico. Y el Trailing Stop con Objetivo.

Como ya dijimos, lo bueno del stop dinámico con objetivo es que nos da más margen para dejar que los negocios puedan tomar un recorrido ganador, pero obviamente también implica un mayor riesgo que si usamos el trailing stop clásico. No obstante, como el nivel de riesgo depende del parámetro ObjTrStop, es cuestión de ajustarlo a las necesidades de cada cartera.

Una vez presentados varios modelos de stop dinámico, la siguiente pregunta que nos hacemos es ¿podemos aplicar esta idea pero al objetivo de ganancias? Aunque menos utilizado, es posible implementar un objetivo dinámico que nos permita aprovechar la racha ganadora. En próximos artículos explicaremos cómo.

¿Buscas un bróker?

Logo de IGIG

Gran cantidad de subyacentes, con acceso a más de 17.000 mercados

Ver más
Logo de AvaTradeAvaTrade

Importante oferta de futuros y opciones financieras

Ver más
Logo de EToroEToro

Dispone de más de 5.000 productos de inversión entre acciones, ETFs y criptomonedas

Ver más
Accede a Rankia
¡Sé el primero en comentar!
Definiciones de interés