Rankia USA Rankia Argentina Rankia Argentina Rankia Chile Rankia Chile Rankia Colombia Rankia Colombia Rankia España Rankia España Rankia México Rankia México Rankia Perú Rankia Perú Rankia Portugal Rankia Portugal
Acceder

En el anterior artículo dedicado a los stops dinámicos, comentamos que veríamos 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:

trading1

En la Plataforma Visual:

trading2

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:

trading3

En la Plataforma Visual:

trading4

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:

trading5

En la Plataforma Visual:

trading6

La condición para poder activarlo es que la diferencia entre el cierre y el precio de entrada sea mayor que el valor del ObjetivoTrStop, es decir, que debe cumplirse a cierre de barra.

En caso de que podamos activarlo, pasaremos a comprobar si los precios que van surgiendo superan el último valor guardado en la variable precio_ts:

En VB.NET:

trading7

En la Plataforma Visual:

trading8

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:

trading9

En la Plataforma Visual:

trading10

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:

trading11

En la Plataforma Visual:

trading12

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:

trading13

En la Plataforma Visual:

trading14

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

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.

 

Departamento de Estrategias

 

Visual Chart Group

 
¡Sé el primero en comentar!
Comentar