Rankia USA
Blog Sistemas de trading
Sistemas automáticos de trading y money management.

Control de órdenes stop y limitadas

Introducción

Como sabemos, el uso de órdenes a mercado tiene el inconveniente de que implica un margen de deslizamiento alto, especialmente durante las fases de movimientos fuertes. De ahí que muchos inversores opten por el uso de órdenes en stop o limitadas, ya que fijar la orden a un precio concreto nos permite reducir el nivel de deslizamiento.

A la hora de programar sistemas automáticos, es recomendable realizar una serie de comprobaciones previas que eviten un uso incorrecto de este tipo de órdenes. A continuación, vamos a proponer algunas de estas recomendaciones partiendo de un sistema de ejemplo basado en medias móviles. 

Desarrollaremos este ejemplo con Visual Chart. El diseño del sistema lo haremos usando la Plataforma de Diseño Visual. Aclarar que el presente artículo está enfocado especialmente para aquellos usuarios interesados en la programación de estrategias.

 

La estrategia de ejemplo

Vamos a diseñar un sistema que haga lo siguiente: El sistema abrirá posiciones compradoras al alcanzar el precio de una media simple de periodo corto y liquidará las posiciones abiertas cuando alcance otra media exponencial de mayor periodo (como si fuera un trailing stop). Para ello, utilizará órdenes EN STOP, con el propósito de no tener que esperar, para ejecutar las operaciones, al cruce del precio sobre dichas medias.

Quedaría así:

estrategia sistemas

Desde el principio, ya estamos viendo una regla que debemos cumplir, ya que la orden de entrada está restringida por la condición “Cierre menor que la Media Simple”. Esta condición es una consecuencia de las propiedades de las órdenes en stop, tal y como veremos a continuación.

Propiedades y uso de las órdenes en stop

La principal propiedad de las órdenes en stop sería la siguiente:

  1. Las órdenes en stop de compra (incluyendo órdenes “cerrar cortos”) se ejecutan al precio dado por la orden o a cualquier precio superior a éste. 
  2. Las órdenes en stop de venta (incluyendo órdenes “cerrar largos”) se ejecutan al precio dado por la orden o a cualquier precio inferior a éste. 

Esto no sucede si las órdenes en stop son de tipo “stop limitadas”. 

Centrándonos en la plataforma Visual Chart, los sistemas automáticos obligatoriamente utilizan órdenes “stop a mercado”, por lo que la propiedad descrita siempre se cumple, independientemente de cómo sea la orden predefinida. Comentarles que al final de este artículo encontrarán una explicación extra en cuanto al uso de órdenes predefinidas.

Volviendo al sistema de ejemplo, la explicación de por qué hemos añadido la condición previa a la orden de compra sería que queremos evitar que el sistema pueda enviar muchas órdenes a un precio sobrepasado, en caso de que la media simple se sitúe por debajo del precio actual: si volvemos a la propiedad de las órdenes en stop de compra, verán que en caso de que lanzáramos una orden con un precio inferior al actual, obtendríamos como consecuencia una ejecución de la orden al precio actual de mercado, o lo que es lo mismo, pasaría de ser una orden en stop a orden a mercado, perdiendo toda la capacidad que ofrecen las órdenes stop. 

En backtesting el resultado de llevar a cabo este uso indebido de los stops se manifiesta de la siguiente manera:

sistema backtest

Es más, cuando activamos la operativa del sistema y sucede este evento, el broker rechazará la orden enviada en stop por tener un precio sobrepasado. Esto hará saltar el mecanismo de corrección de posiciones, enviando una orden a mercado para igualar la posición del inversor con la del sistema.

Vemos por tanto la vital importancia que tiene controlar desde el código del sistema que la orden a enviar tenga asignado un precio correcto.

Volvamos nuevamente al sistema. Hemos añadido de salida la condición para la orden de entrada, sin embargo, una vez aplicamos el sistema, observamos lo siguiente:

sistema backtest medias moviles

¿Por qué sucede esto? La respuesta la tenemos en la propiedad de las órdenes stop de venta. Cuando la media exponencial se sitúa por debajo del subyacente, el sistema funciona bien porque el precio al que se está colocando el stop de venta es un precio que aún no ha sido alcanzado (la situación inversa a las órdenes de compra). Sin embargo, cuando la media exponencial es mayor que el subyacente, el precio de la orden stop de venta sí que está sobrepasado y como consecuencia la orden se ejecuta al precio de mercado (apertura de la barra).

De modo que debemos corregir el sistema para que sólo pueda entrar cuando se cumpla no una si no dos condiciones: Que la media simple esté por encima del subyacente y que además la media exponencial sea menor que la simple:

visual chart sistema

También podemos restringir, como medida de seguridad, el envío de órdenes de salida a aquellos casos en los que el precio sea válido:

visual chart backtest

Propiedades y uso de las órdenes limitadas

El uso de órdenes limitadas implica también añadir los mismos controles de precio que hemos realizado para los casos de órdenes en stop. Lo que va a cambiar en este caso es que las propiedades de las órdenes limitadas son totalmente opuestas a las de las órdenes en stop. Veamos estas propiedades:

  1. Las órdenes limitadas de compra (incluyendo órdenes “cerrar cortos”) se ejecutan al precio dado por la orden o a cualquier precio inferior a éste. 
  2. Las órdenes limitadas de venta (incluyendo órdenes “cerrar largos”) se ejecutan al precio dado por la orden o a cualquier precio superior a éste. 

Supongamos que queremos abrir una nueva posición al precio de la media simple independientemente de si el subyacente está por encima o está por debajo. Queda claro que si el precio es mayor que el valor de la media no podemos usar órdenes en stop, sin embargo, sí que podemos usar órdenes limitadas, ya que como decimos, actúan al contrario que éstas.

Si cambiamos nuestro sistema de la siguiente forma:

visual chart programacion

El resultado sobe el gráfico sería tal que así:

visual chart ema

Como ven, adaptamos el tipo de orden a enviar en función de la situación del precio

Obviamente, con las órdenes limitadas tendríamos el mismo problema que con las órdenes en stop: si enviamos un compra limitada a un precio superior al actual, el sistema tomaría como precio de entrada el precio de mercado (apertura de la siguiente vela).

Resumen final

Ya hemos visto por tanto, mediante un ejemplo, cómo debemos actuar cuando incluimos órdenes stop y limitadas en los sistemas automáticos. A modo de repaso, podríamos resumir lo dicho en los siguientes puntos:

1) Si enviamos órdenes en stop de compra (o cerrar cortos) a un precio inferior al actual, la orden se ejecutará a precio de mercado (apertura siguiente).

2) Si enviamos órdenes en stop de venta (o cerrar largos) a un precio superior al actual, la orden se ejecutará a precio de mercado (apertura siguiente).

3) Si enviamos órdenes limitadas de compra (o cerrar cortos) a un precio superior al actual, la orden se ejecutará a precio de mercado (apertura siguiente).

4) Si enviamos órdenes limitadas de venta (o cerrar cortos) a un precio inferior al actual, la orden se ejecutará a precio de mercado (apertura siguiente).

5) Si queremos entrar comprados a un nivel determinado por algún indicador (medias, soportes, canales, etc…), deberemos comprobar que:

  •  Si el nivel está por encima del precio actual, lanzamos una compra en stop.
  •  Si el nivel está por debajo del precio actual, lanzamos una compra limitada.

6) Si queremos entrar cortos a un nivel determinado por algún indicador (medias, soportes, canales, etc…), deberemos comprobar que:

  • Si el nivel está por debajo del precio actual, lanzamos una venta en stop.
  • Si el nivel está por encima del precio actual, lanzamos una venta limitada.

Aclaraciones relativas a las órdenes predefinidas en Visual Chart

Vamos a hacer una pequeña anotación en lo que respecta a la operativa en Visual Chart con sistemas que usan órdenes en stop. 

Para poder operar usando sistemas en Visual Chart, es necesario diseñar lo que se denomina como órdenes predefinidas, a través de las cuales se enlazan los sistemas con la cuenta de intermediación del usuario.

Cuando se asocia un sistema a una orden predefinida de tipo “stop limitado”, bien sea porque el broker sólo admite este tipo de órdenes o bien porque así lo desea el inversor, el proceso que se pone en marcha cuando el precio alcanza a la orden sería el siguiente:

  • Primero, Direct Access (el programa encargado de enviar las órdenes al broker) envía la orden “stop limitada” al precio definido por el sistema para la orden en stop
  • Cuando los precios tocan el nivel del stop, el sistema ejecuta la orden, mientras que la orden real del usuario (recordemos que el sistema no deja de ser una simulación del proceso real) se ejecuta sólo si existe contrapartida al precio dado.
  • Si por circunstancias del mercado la orden real no llega a ejecutarse, existirá una descompensación entre la posición del sistema y la del usuario.
  • Llegados a este punto, se activa el mecanismo de corrección del Direct Access, cuya misión consiste en igualar la situación, enviando las necesarias órdenes a mercado como para que la posición del usuario sea la misma que la del sistema.

Es decir, que en ciertas circunstancias veremos que al operar en real se pueden llegar a ejecutar más órdenes de las que realiza el sistema, cuestión que es importante tener en cuenta no sólo por las comisiones, sino también porque las órdenes de corrección siempre son a mercado, lo que implica un mayor margen de deslizamiento del esperado.

Oscar Cuevas

 

¿Qué Bróker se adapta mejor a tu perfil?

¿Quieres dar tus primeros pasos en bolsa o cambiar a un bróker que se adapte mejor a tus necesidades? Te ayudamos a encontrar el mejor bróker de acciones y derivados que mejor se adapta a ti en menos de 2 minutos. El estudio es gratuito y sin compromiso.


¡Comenzar búsqueda!
Herramienta gestionada por Rankia S.L.
Lecturas relacionadas
El sistema Trend Trigger Factor
Sistema con objetivos adaptables
  1. en respuesta a spidertrader
    - Ver mensaje
    #2
    Oscar Cuevas

    Estimado amigo. Pues sobre todo reducir el deslizamiento que sufren especialmente las órdenes a mercado. No obstante, hay ciertos traders que son reacios a usar ordenes stop/limitadas porque son ordenes que están "visibles", pero es el riesgo que se corre a cambio de poder ejecutar nuestras operaciones a un precio deseado.

  2. #1
    spidertrader

    hola oscar, que ventajas tienen estas ordenes frente al esperar a que se cierre la posicion cuando el precio toque la media?

    sdss!!