Acceder

Subir el stop al nivel Breakeven

El nivel Breakeven

Definimos como nivel Breakeven (punto de equilibrio o punto muerto) como el nivel de salida a partir del cual se producirían beneficios. Dicho de otro modo, el nivel de breakeven es aquel que coincide con el punto de entrada aplicándole los deslizamientos y comisiones correspondientes.
 
Como muchos lectores sabrán, utilizamos este nivel para mover el stop loss inicial hasta éste punto, con el fin de reducir el riesgo derivado de que el precio haya avanzado a favor de la operación abierta.
 
Este modelo de stop dinámico puede ser incorporado a cualquier estrategia automática de Visual Chart. Sin embargo, su aplicación no es directa, por lo que es necesario añadir la gestión correspondiente al código del sistema.
 
En el siguiente artículo voy a tratar de explicarles los pasos que debemos seguir para llevar a cabo ésta tarea. Para ello, utilizaremos la Plataforma de Diseño Visual de Visual Chart.
 
 

Diseñando el modelo Stop Breakeven

Antes de pasar a la fase de diseño, debemos comenzar por una fase de análisis, donde vamos a definir con detalle los pasos a dar para aplicar la gestión del modelo al sistema. 
Empezaremos identificando los elementos principales sobre los que girará el proceso:
  1. StopLoss de Inicio: Punto de partida del stoploss y que llegado el momento moveremos.
  2. Distancia real breakeven: Como hemos dicho, el breakeven real se sitúa a un margen de n puntos del precio de entrada, ya que hay que considerar el deslizamiento y las comisiones. Esta distancia marcará ese margen que variará en función del producto sobre el que trabajemos.
  3. Nivel de ganancia mínimo: Para poder mover el stop inicial, deberemos esperar a que el precio se desplace hasta un cierto margen de ganancia. Esta distancia es fundamental, porque un margen muy corto nos puede sacar de posición demasiado pronto, mientras que si el margen es excesivo, podemos perder oportunidades generadas por impulsos favorables. 
Usando estas tres herramientas, podemos diseñar la gestión del stop breakeven.
 
Veamos un ejemplo gráfico del proceso que habría que seguir:
 
Ejemplo Acciona
 
En este ejemplo sobre ACCIONA, vemos como el stop se mantedría en los 41 € mientras no se alcance el nivel de ganancia deseado, esto es, dos puntos por encima del precio de entrada (44,5 €). La barra del 15 de octubre cierra por encima de dicho nivel, momento a partir del cual se desplaza el stoploss a 0,3 puntos del precio de entrada (42,8 €).
 
Si definimos este proceso en una serie de pasos, obtendríamos lo siguiente:
  • Fase 1: Detectar el momento de apertura de nuevo negocio. Cada vez que ocurra esto, tendremos el stop en el nivel de inicio y calcularemos el nivel de ganancia a alcanzar.
  • Fase 2: Mientras permanezca el stop en el nivel de inicio, comprobar si el precio alcanza el nivel de ganancia.
  • Fase 3: Si se alcanza el nivel de ganancia mínima, calcular el nuevo stop en función del punto de equilibrio y colocar el stop en dicho nivel.
  • Fase 4: Una vez el stop ha sido desplazado, finaliza la gestión y esperamos al siguiente negocio para repetir el proceso.
Con esto, quedaría detallado el proceso a seguir para realizar el modelo. Procedamos a continuación a trasladarlo a lenguaje PDV.
 

Programación del modelo Stop Breakeven

Lo primero que haremos, durante la fase de diseño, será incluir en el sistema los elementos principales del modelo, esto es, el StopLoss, el Margen respecto al precio de Entrada y la Ganancia Mínima. Estos tres elementos deben ser parametrizables para que podamos configurarlos en función del producto sobre el que trabajemos:
 
Lista de parámetros
 
La lista de parámetros quedaría del siguiente modo:
 
Lista de parámetros 02
 
El cuanto al código, debemos incorporar cada una de las fases vistas en la etapa de análisis:
 

Fase 1

Para detectar el momento de apertura de un nuevo negocio, utilizaremos la función GetBarsSinceEntry. Esta función nos indica la cantidad de barras que hay desde el momento en el que iniciamos el negocio hasta la barra actual. 
 
Función GetBarsSince
 
Si estamos abiertos y el resultado de está función es cero, entonces nos encontramos en la barra inicial. Si se cumple dicha condición, inicializamos las siguientes variables:
 
  • PrecioStop: Variable donde guardamos el precio al que enviamos el stop de pérdida.
  • ActivarBreakEven: Nos servirá para identificar si ya hemos movido el stop o bien debemos seguir comprobando si se ha alcanzado el nivel de ganancia mínima.
  • PrecioGanMin: Variable donde guardamos el precio a alcanzar en función del valor de la ganancia mínima.
El código quedaría de la siguiente forma:
 
Código 01
 
Aclarar que el sistema que hemos usado de ejemplo abre y cierra en función del cruce del MACD con su media de señal.
 
En la imagen vemos cómo, una vez se confirma que estamos en la barra de entrada, se inicializan las tres variables antes comentadas. La función GetEntryPrice devuelve el precio de entrada del sistema.
 

Fase 2

Comprobamos si se alcanza el nivel de ganancia mientras la variable ActivarBreakEven esté desconectada. Nos vamos a fijar si el máximo de cada barra toca o supera el valor de la variable PrecioGanMin.
 
Código 02
 

Fase 3

Si el precio alcanza el nivel de ganancia, conectamos ActivarBreakEven y cambiamos el valor del stop (variable PrecioStop). 
 
Código 03
 
A partir de aquí, ya no necesitamos seguir comprobando el máximo de cada nueva barra, puesto que ya ha quedado registrada la ruptura del nivel. Gracias a esto, si el precio retrocede, ya tendremos el stop en el nivel del breakeven independientemente de si vuelve a tocar o no el precio de ganancia mínima.
 

Fase 4

Por último, se envía la orden Cerrar A Largo usando como precio de salida el valor de la variable PrecioStop, pudiendo ser o el stop inicial o bien el nivel de breakeven, en función de lo que haya ocurrido previamente.
 
Código 04
 

Resultado Final

A fin de ilustrar el uso de este modelo a través de un sistema automático, vamos a observar cómo quedaría el ejemplo que hemos desarrollado aplicándolo al mismo gráfico de ACCIONA que hemos usado anteriormente.
 
Gráfico acciona agosto 2012
 
En el siguiente gráfico (Agosto de 2012 de ACCIONA),  el sistema compra a 32,93 €. Coloca el stop inicialmente a 1 punto del precio de entrada y calcula el nivel de ganancia.
 
Cuando la barra del 17 de Agosto alcanza los 34,93 €, el stoploss es desplazado hasta los 33,2 €, según el margen de entrada establecido previamente.
 
En otro ejemplo, podemos ver cómo actúa el stop breakeven cuando el precio lo alcanza:
 
Gráfico BBVA febrero 2006
 
En este caso (Febrero de 2006 en BBVA), hemos activado el stop breakeven al tocar los 0.4 puntos, justo antes de un cambio de dirección del precio. Como consecuencia, el stop termina ejecutándose al nivel del breakeven, evitando lo que hubiera supuesto un negocio con pérdidas. 
 

Conclusiones

Aunque el proceso de gestionar el desplazamiento del stoploss es relativamente sencillo de entender, acabamos de ver que a la hora de trasladarlo a lenguaje máquina puede resultar algo más complicado.
 
Esperamos que con éste artículo hayamos podido ayudarles a elaborar un método que les pueda servir de referencia a la hora de confeccionar sus propios sistemas.
 
Oscar Cuevas, desarrollador de estrategias e indicadores en Visual Chart Group

 

¿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
  1. #2
    19/11/13 15:08

    Es recomendable utilizarlo para poder minimizar el riesgo cuando el precio avanza a nuestro favor. No obstante, es importante controlar bien los márgenes de ganancia, a fin de evitar que movamos el stop demasiado pronto (durante la fase de equilibrio de fuerzas). De todas formas, tiene que ser el propio inversor el que decida qué métodos desea incorporar a su sistema, ya que el diseño del mismo es algo muy personal.

  2. #1
    19/11/13 10:08

    Hola Oscar! ¿el breakeven es conveniente aplicarlo a todo tipo de sistemas?
    Saludos!