Sistemas de trading

Sistemas automáticos de trading y money management.

Sistema Inverso: diseño del sistema de trading

3
Publicado por Oscar Cuevas el 20 de marzo de 2014

Introducción

Hace unos días, durante el desarrollo de un seminario, planteamos una idea que despertó el interés de los parcipantes. Debido a esto, he creido conveniente exponerla aquí y compartirla con toda la comunidad de Rankia. Aclarar de salida que el siguiente artículo está planteado desde el punto de vista del desarrollador de sistemas de Visual Chart, de manera que tendrá un mayor interés especialmente para aquellos usuarios que cumplan éste perfil.

El problema que planteamos fue el siguiente: ¿Existe la posibilidad de aprovechar aquellas estrategias que sean descartables debido a su nivel de pérdidas? La solución a ésta pregunta era sencilla: Cuando un sistema ofrezca muy malos resultados, generamos el sistema inverso, de modo que, teóricamente, obtendremos un sistema con resultados más favorables. Veamos ésta idea mediante un ejemplo.

Leer más
Etiquetas: sistemas de trading · Visual Chart · RSI · Broadcom (BRCM) · stop loss · mini IBEX

Estudio de la correlación (2)

0
Publicado por Oscar Cuevas el 14 de febrero de 2014

Introducción

En el anterior artículo de estrategias hablamos del uso de indicadores de correlación a través de Visual Chart. Estuvimos viendo cómo diseñar un indicador que trabajara con la correlación entre dos productos y la manera de añadir alertas al indicador cuando se detectaran ciertos eventos.
 
También vimos que se podían establecer una serie de reglas de trading básandonos en este estudio. En el presente artículo vamos a desarrollar esta idea, explicando el proceso de creación del correspondiente sistema utilizando el entorno de diseño visual que ofrece la plataforma.
 

Definición de la estrategia

Como dijimos, la estrategia va a estar basada en uno de los indicadores de correlación disponibles. También explicamos que era necesario crear nuestros propios indicadores de correlación para poder implantarlos dentro de nuestro sistema.
 
Para éste ejemplo, usaremos como referencia el indicador que diseñamos en el anterior artículo. Este indicador lo llamamos Oscilador Beta 2 (ya que se basaba en el oscilador de momento beta) y tenía el siguiente aspecto:
 
Estrategia
 
Recordamos cómo interpretar éste indicador: Cuando el índice de momento beta alcanza los niveles superior e inferior, nos informa de que se está produciendo un momento de máxima descorrelación. En función de la ruptura que se produzca, la descorrelación será positiva o negativa, lo que implicará un movimiento del valor en un sentido u otro. 
 
Por tanto y como ya dijimos, en función de la señal de ruptura de bandas, la información obtenida nos recomienda mantenernos o deshacer la posición.
 
Obviamente, este estudio tiene ciertas tasas de error como ocurre con cualquier oscilador. Lo interesante de realizar una estrategia basada en el indicador, es que vamos a poder determinar si cumple un nivel de calidad aceptable basándonos en los resultados arrojados al aplicarlo sobre los diferentes pares de productos que elijamos.
 
Pasemos por tanto a ver los pasos que habría que dar para diseñar el sistema.
 

Diseño de la estrategia.

Para la creación de una nueva estrategia utilizando la plataforma visual, accedemos al menú Programación / Sistema / Crear Sistema (PDV). Rellenamos los datos del nuevo sistema y accedemos al panel de diseño.
 
El primer paso será añadir el indicador Oscilador Beta 2 al sistema o bien el indicador de correlación que decidamos aplicar. Para añadir indicadores, seleccionamos la carpeta Indicadores y pulsamos con el botón derecho para acceder a la opción Añadir.
Desde la ventana de selección, elegimos el indicador correspondiente:
 
Indicadores
 
Una vez tenemos el indicador incorporado al proyecto, podemos hacer uso de la información que éste nos puede dar.
 
Las reglas a seguir son muy sencillas:
 
Cuando el indicador supere a la banda UpperBand enviamos una orden de entrar a mercado (COMPRA):
 
Oscilador Beta
 
Cuando el indicador supere a la baja la banda LowerBand deshacemos la posición, es decir, enviamos la orden de venta (CERRAR LARGO) para quedar fuera de mercado:
 
Cerrar largos
 
Veamos los aspectos a destacar de ésta parte del diseño:
  1. Las órdenes de compra y venta las enviamos con una cantidad determinada de contratos en función del valor del parámetro Contratos que hemos añadido. Así podemos cambiar la cantidad de contratos a negociar desde las propiedades del sistema sin tener que acceder al código.
  2. La condición de salida de mercado se comprueba sólo cuando no se ha cumplido la condición de entrada. Por eso ambas condiciones (las cajas verdes) están unidas por la flecha que queda en el extremo derecho de la primera condición: Esto quiere decir que se accede a la segunda condición cuando la respuesta a la primera condición es FALSA.
  3. La orden de deshacer posición que especificamos es de tipo Cerrar Largo. Visual Chart utiliza el tipo de orden Venta para aquellos casos es lo que queremos girarnos y mantenernos dentro de mercado pero CORTOS. Como no es nuestro caso, y lo que queremos es deshacer la posición, enviamos el tipo de orden Cerrar Largo.
El último paso que vamos a dar es añadirle al sistema un Stop de pérdidas para controlar el nivel máximo de pérdida que estamos dispuestos a aguantar. En el ejemplo, vamos a añadir un stop de pérdidas del 15% del siguiente modo:
 
Añadir Stop
 
Los aspectos a destacar de esta parte serían los siguientes:
  1. Hemos tenido que añadir un parámetro para definir el porcentaje de pérdida que vamos a utilizar, así como las funciones GetEntryPrice y GetMarketPosition para detectar el precio de entrada y si tenemos posiciones abiertas respectivamente.
  2. Vemos que todas las cajas anteriores están unidas con una flecha con la nueva caja verde. Esto es necesario para especificarle al sistema que siempre vamos a pasar por aquí.
  3. Para definir un stop de pérdidas, usamos nuevamente el tipo de orden Cerrar Largo sólo que en este caso especificamos que la orden será En Stop.
Para acabar y permitir que el sistema quede registrado y guardado, pulsamos el botón Compilar.
 

Resultado Final

Vamos a insertar el sistema sobre el par ACS/.IBEX que hemos abierto anteriormente, dejando los parámetros especificados por defecto.
 
El resultado es el siguiente:
 
Resultado
 
Se cumple lo que decíamos al principio de éste artículo y vemos que en algunas ocasiones el oscilador genera señales falsas. Como hemos añadido un stop loss del 15%, cubrimos las pérdidas y controlamos que no supere ese margen. 
 
En el siguiente gráfico, aplicamos el sistema sobre el par CAIXABANK/.IBEX (30 minutos):
 
Par Caixabank
 
En este ejemplo vemos dos negocios que han terminado en pérdida. Sin embargo, cabe destacar cómo efectivamente el indicador de correlación detecta cambios significativos en el activo de CAIXBANK que no se dan en el índice, de modo que pese a ser operaciones negativas, podemos considerar que los momentos de entrada son aceptables.
 
Podemos comprobar esto cambiando el nivel de ruptura mínimo de -5 a 0, de modo que el sistema pasará a realizar negocios de menor recorrido. Un ejemplo de este cambio lo podemos ver en el siguiente gráfico de FCC/.IBEX (30 minutos):
 
Ejemplo FCC
 
Al situar el momento de salida de mercado en la ruptura del nivel cero, lo que estamos diciendo es que deshacemos la posición en el momento en el que vuelve a haber correlación entre ambos productos.
 

Conclusiones

Con este artículo hemos finalizado el estudio de la correlación a través de Visual Chart, con el que hemos querido mostrarles un método con el que poder usar la operativa con spread a través de nuestra plataforma.
 
Partiendo del indicador que diseñamos en el anterior artículo, hemos visto cómo diseñar una sencilla estrategia con la que poder generar resultados, con la finalidad de llegar a una conclusión basada en datos empíricos.
 
Por último, cabe comentar que la estrategia aquí planteada ha tenido un fin meramente pedagógico y en ningún momento ha tratado de ser una propuesta de sistema de trading ganador: Esta tarea queda en manos de cada inversor y de sus propias habilidades.
 
 
Óscar Cuevas
 
Etiquetas: correlación · Sistemas automáticos de Trading · visual chart 4

Cómo programar un sistema de trading a través de Visual Chart

0
Publicado por Oscar Cuevas el 31 de enero de 2014

En la tarde de ayer organizamos un webinar en Rankia sobre "Cómo programar un sistema de trading a través de Visual Chart" con la finalidad de explicar de una forma sencilla la herramienta Visual Chart a la hora de programar sistemas de trading.

Plataforma Visual

Visual Chart es una plataforma bursátil de gran potencial que proporciona todos los elementos necesarios para invertir en los mercados financieros. 
 
Gracias a una de sus grandes cualidades, que es la facilidad de manejo, está dirigida a cualquier tipo de inversor, tanto usuarios particulares que se están iniciando, como profesionales.
 
Visual Chart permite desarrollar sistemas utilizando dos lenguajes de programación, el PDV y el VBA. Dependiendo de la complejidad del sistema que deseemos programar, utilizaremos un lenguaje u otro.
 

En el caso de la plataforma visual, ésta emplea el lenguaje PDV de programación, y es la manera más sencilla de desarrollar sistemas con Visual Chart, por lo tanto, es la más recomendable para aquellos que se están introduciendo en el mundo de Visual Chart.   Leer más

Etiquetas: sistemas de trading · Visual Chart · programación · expert advisor · webinar · medias móviles

Estudio de la correlación: Parte I

2
Publicado por Oscar Cuevas el 17 de enero de 2014

Introducción

Hace algunos días estuve leyendo uno de los muy interesantes artículos que publica Oscar Cagigas en su blog de Rankia. En este caso, se trataba de un artículo asociado a la operativa con Spread. Les invito a que le echen un vistazo: Operando con Spread.
 
La lectura de este artículo demuestra el enorme interés que despierta el estudio de la correlación entre diferentes productos. A raíz de esto, me pareció interesante explicar a los usuarios de Rankia cómo poder desarrollar a través de Visual Chart indicadores o sistemas basados en el análisis de dos productos diferentes.
 

Indicadores de Correlación en Visual Chart

Empezaremos por ver qué instrumentos nos ofrece la plataforma para poder estudiar  la correlación entre dos productos. Para el ejemplo, vamos a estudiar la relación de los activos del IBEX respecto a su propio índice, como por ejemplo INDITEX:
 
Ejemplo correlación entre el IBEX35 e Inditex
 
En Visual Chart tenemos la opción Gráfico -> Insertar Gráfico con el que podemos aplicar un segundo gráfico en la misma ventana que en la de otro previamente abierto. Gracias a esta opción, podemos comparar los datos de ambos productos.
 
Si accedemos a la lista de indicadores, podemos ver que existe una carpeta con el nombre Spread. Dentro de esta carpeta podemos encontrar varios indicadores que nos pueden servir para analizar la correlación entre dos valores:
 
Lista de indicadores Visual Chart
 
Vamos a seleccionar el indicador MomentumSpreadOsc. El Oscilador de Momento Beta utiliza para sus cálculos dos series de datos con el propósito de medir la tendencia de la fuerza relativa del movimiento de una serie respecto de la otra. Esta relación oscilará en torno a cero, subiendo o bajando en función de la serie con mayor fuerza:
 
Ejemplo oscilador momento
 
Como vemos, en los momentos de mayor disparidad suceden cuando el oscilador se aleja más de la banda central. En la zona roja, vemos cómo el activo no ha acompañado la subida del índice, mientras que en la zona verde ocurre lo contrario, observando una subida del activo frente a la caída del índice.
 
La idea por tanto será aprovechar estos momentos de inflexión para actuar en consecuencia. El siguiente paso por tanto va a ser intentar automatizar estas señales.
 
Como los indicadores por defecto que ofrece Visual Chart no pueden incorporarse a nuevos proyectos, tendremos que diseñar nuestros propios indicadores para poder utilizarlos posteriormente sobre los sistemas.
 

Diseñando un indicador de alertas para el spread

Partiré de la base de que tenemos ciertas nociones de programación con Visual Chart, aunque sea a través del uso de la Plataforma Visual (PDV).
 
Por tanto me voy a centrar en los aspectos más relacionados con el tema que estamos tratando.
 
Lo primero que tenemos que ver es cómo vamos a hacer referencia a la segunda serie de datos con la que vamos a comparar la serie base (es decir, aquella sobre la que se va a aplicar el indicador). 
 
Tenemos dos opciones, o bien añadimos una nueva serie, especificando código del producto, temporalidad y fecha de inicio. O bien añadimos un segundo Data, que será la opción que vamos a escoger por ser la más versátil, ya que nos permitirá adaptarnos a cualquier par de productos que combinemos mediante el proceso visto anteriormente.
 
Para añadir un segundo data variable, debemos seleccionar dos veces la opción Añadir Data:
 
Como añadir un segundo data
 
Cuando hacemos esto, Visual Chart añade a nuestro código la variable Data2, con la cual podemos hacer referencia al segundo gráfico que incluyamos en la ventana, sea el producto que sea.
 
Llegado a este punto, vamos a diseñar un indicador que calcule la función del Oscilador de Momento Beta y además nos informe cuando se produce una ruptura de los umbrales que decidamos determinar.
 
Inicialmente puede parecer bastante complejo desarrollar este proceso en PDV, pero haciendo uso de variables auxiliares, podemos obtener los resultados parciales y posteriormente calcular el valor final.
 
No nos interesa especialmente explicar el proceso mediante el cual obtenemos la fórmula, ya que queremos centrarnos en el método a seguir para extraer los datos de la segunda serie de datos. No obstante, en la siguiente imagen les mostramos cómo quedaría el código:
 
Añadido de un data 2
 
Como vemos en la imagen, hemos añadido el Data2, del cual hacemos uso para extraer los precios de cierre de la segunda serie de datos. Para obtenerlos, seleccionamos Data2 como identificador de origen cuando diseñamos las sentencias:
 
Seleccionar indicador de orígen
 
Esta parte es la que más nos interesa.
 
Lo siguiente que queremos añadir es un par de valores de umbral a partir de los cuales queremos estar avisados en caso de que sea superado. Vamos a llamar a estos dos umbrales UpperBand y LowerBand.  
 
El primer paso será incorporarlos como parámetros de entrada del indicador:
 
Creación de variables
 
Hecho esto, diseñamos el proceso de estudio de la superación del umbral. Cada vez que se de la condición, le vamos a decir al indicador que lance una señal de alerta:
 
Proceso de estudio
 
Si se fijan, para poder añadir una alerta, he tenido que incluir la función Alert a la lista de funciones y luego declararla mediante una sentencia.
 
Ya tenemos diseñado nuestro indicador de Momento Beta. Ahora podemos ver cómo actuaría.
 

Resultado Final

Una vez tenemos el indicador diseñado,lo insertamos sobre el par INDITEX/.IBEX que hemos abierto anteriormente.
 
Como hemos añadido los parámetros UpperBand/LowerBand, visualmente podremos ver en un instante los intervalos durante los cuales se produce un aumento de la descorrelación:
 
Inserción del indicador
 
Como vemos, en función de la señal de ruptura de bandas, la información obtenida nos recomienda mantenernos o deshacer la posición.
 
Veamos otro ejemplo ahora utilizando el activo de INDRA con respecto al índice del IBEX:
 
Ejemplo correlación Indra con Ibex35
 
Por último, al haber añadido una alerta al indicador, tenemos la posibilidad de estar avisados cuando se produzca una ruptura durante el tiempo real:
 
Alerta ruptura
 

Conclusiones

Hemos utilizado este artículo para dar a conocer las herramientas que nos facilita Visual Chart para el estudio de la correlación entre dos productos.
 
Además, hemos visto cómo poder añadir una segunda serie de datos al código de programación de un indicador.
 
En cuanto al análisis de la correlación entre series de datos, hemos visto que podríamos diseñar una estrategia en función de las señales dadas por la ruptura de los niveles de máxima desviación.
 
En el siguiente artículo que publiquemos, explicaremos cómo desarrollar ésta estrategia, así como las conclusiones que se derivan de dicho estudio.
 
 

Próximo webinar: Cómo programar un sistema de trading a través de Visual Chart

El jueves 30 de enero a las 18:00 horas, organizamos el webinar "Cómo programar un sistema de trading a través de Visual Chart" al que podéis apuntaros. En él trataremos de enseñaros a diseñar un sistema de trading sin necesidad de tener grandes nociones de programación, con el programa Visual Chart.
 
 
 

Quiero asistir

 
 
Óscar Cuevas
 
Etiquetas: sistemas de trading · Visual Chart · plataforma visual · sistemas de trading automatico · correlación · data

Detectar patrones de velas

1
Publicado por Oscar Cuevas el 23 de diciembre de 2013

Las velas japonesas

Los patrones de velas es un método de análisis técnico muy extendido entre los inversores. Estas herramientas, por sí solas, no proporcionan una información determinante, si bien acompañadas por otra clase de elementos de análisis permite detectar eventos relevantes en el comportamiento de los precios.
 
Al estar basadas en patrones del precio, suponen una ventaja frente a otro tipo de indicadores en cuanto a que aportan un mejor tiempo de reacción. De hecho, en esta característica es donde radica todo el potencial de las velas japonesas, ya que van a permitir informar en un breve espacio de tiempo acerca de los giros y continuaciones del mercado.
 
Veamos un ejemplo. Si tomamos como referencia una media exponencial como método de detección de cambio de tendencia, observaremos cierto retardo en el momento de indicar el punto de giro. Esto sucede como consecuencia directa del modo en que se calcula la propia media.
 
Sin embargo, si utilizarmos las velas japonesas para este mismo propósito, no tendríamos que esperar a que el precio evolucionara en la dirección de la nueva tendencia para poder detectar el cambio, ya que el propio patrón por sí mismo implica una señal de giro. 
En la siguiente imagen, podemos ver reflejado todo lo expuesto anteriomente:
velas japonesas
La nota negativa del uso de estos patrones viene estrechamente ligada con la propia cualidad de los mismos: Al indicar la señal (sea de cambio o de continuación) antes de que ésta se de, la probabilidad de que la señal sea falsa es mayor que si utilizarámos otro tipo de instrumentos, como por ejemplo las medias. 
 
De hecho, el poder de predicción de las velas japonesas se basa en cuestiones púramente probabilistas: Cada uno de los patrones aporta una señal concreta debido a que históricamente se ha detectado ése comportamiento tras la formación del propio patrón. 
Obviamente, esto no tiene que implicar que para precios futuros tenga que cumplirse necesariamente la regla. Es por ello que muchos traders acompañan la señal dada por las velas con otro tipo de instrumentos, como osciladores o medias cortoplacistas. 
 
Cabe destacar además, que la aparición de un patrón de velas sólo condiciona el impulso y dirección siguiente en una cuantía similar a la del patrón, y no más allá, por lo que su potencial será mayor en operaciones a corto plazo. 
 
Pueden profundizar mucho más en lo relativo a la teoría de las velas japonesas a través del libro "Más allá de las velas" de Steve Nison. En lo que respecta a éste artículo, nos vamos a centrar en cómo poder trasladar la detección de estos patrones a algoritmos de computación.
Etiquetas: Sistemas automáticos de Trading · Velas Japonesas · patrones · precio · análisis técnico · patrón Engulfing Bullish

Optimización de Sistemas en MetaTrader 4

8
Publicado por David Sánchez López el 10 de diciembre de 2013

Los Sistemas Automáticos de Trading o Expert Advisors por sí solos no son de utilidad, hemos de "adaptarlos" al activo y al timeframe que queramos para que obtengan el mejor resultado posible, es decir, hemos de optimizarlo. La plataforma MetaTrader 4 nos ofrece una optimización muy sencilla y que a su vez nos permite hacer grandes cosas con los Sistemas Automáticos o Expert Advisors.

¿Cómo optimizar sistemas automáticos con MetaTrader 4?

Primero de todo tenemos que clicar en "Prueba de estrategia" para que se abra la ventana de optimización, "Prueba de estrategia" es el icono con una lupa que encontraremos en la parte superior de MetaTrader 4 (en la imagen está señalada por un círculo rojo).

optimización metatrader

Una vez abierta la ventana de Prueba de estrategia lo primero que hemos de hacer es realizar un backtest, para ello tendremos que seleccionar el espacio temporal en el que queremos probar nuestro sistema, el símbolo en el que queremos probarlo (como pueden ser el Eur/Usd, el Dax o el Oro), el timeframe (la periodicidad de las velas) y por supuesto el sistema. Por ejemplo yo voy a hacer un backtest del sistema MACD Sample (uno de los que viene por defecto en MetaTrader 4), probado en el Gbp/Usd durante todo el año 2012 y lo que llevamos de 2013 y en velas de 1 hora.   Leer más

Etiquetas: Metatrader 4 · sistemas de trading · Sistemas automáticos de Trading · optimización · ClickTrade · expert advisor

¿Por qué los nuevos traders de sistemas automáticos fracasan?

12
Publicado por Fernando Saenz el 02 de diciembre de 2013

Es cierto que cuando uno se inicia en el mundo de los sistemas automáticos de trading los comienzos son siempre complicados, y que lamentablemente, son muchos más aquellos que fracasan en el intento que los que consiguen encontrar un método con el que seguir adelante.

Aún así, no todo lo que rodea al trading con sistemas automáticos son nubes negras. Si uno junta todas las experiencias de la mayoría de nuevos traders, se dará cuenta de que existen una serie de errores que se repiten sistemáticamente en todas ellas, y que explica en buena medida el porque de su fracaso.

Errores más comunes al operar con sistemas automáticos de trading

Obviamente, dada la similaridad con el trading tradicional, muchos de estos errores son los mismos que suelen cometer los traders que operan manualmente, aunque eso sí, existen varios que son específicos de los sistemas automáticos. A continuación os dejo los típicos errores que comenten los nuevos traders al operar con sistemas automáticos de trading:    Leer más

Etiquetas: sistemas de trading automaticos · EA · trader · fracaso · sistema automático de trading · sistemas de trading

Todo sobre los sistemas automáticos de trading: Introducción (Parte I)

7
Publicado por Fernando Saenz el 22 de noviembre de 2013

Introducción a los sistemas automáticos de trading

Parece ser que últimamente allí donde se mire, uno encuentra publicidad sobre software y programas que nos prometen ofrecernos señales de venta y de compra que nunca fallan, y que nos permitan aumentar en gran medida el beneficio de nuestras inversiones, eso sí, todo con eso además con un mínimo esfuerzo y sin dedicarle apenas tiempo. Anuncios de este tipo son los que pueden hacer que los sistemas automáticos parezcan una estafa cuyo único objetivo sea vaciar nuestro bolsillo y nada más, pero, ¿este esterotipo está justificado? ¿o realmente los sistemas automáticos de trading pueden ser viables?

En este tutorial trataremos de definir estas y otras cuestiones para tratar aclarar que son realmente los sistemas de trading automáticos y en que consisten, como diseñar desde cero un sistema de trading automático, como construir un sistema automático de trading, aspectos relacionados con la optimización del sistema automático y la resolución de problemas, y finalmente una conclusión al respecto.   Leer más

Etiquetas: Sistemas automáticos de Trading · diseño · optimización · sistema automático de trading · trading automatizado · Ventajas

Subir el stop al nivel Breakeven

2
Publicado por Oscar Cuevas el 18 de noviembre de 2013

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
 
Etiquetas: sistemas de trading automaticos · stop · breakeven de ganadoras · stop loss · Visual Chart · sistemas de trading · Sistemas automáticos de Trading · nivel Breakeven

Las carteras dinámicas en sistemas automáticos de trading

0
Publicado por Fernando Saenz el 08 de noviembre de 2013

El pasado 7 de noviembre asistí al webinario Las carteras rotacionales de sistemas automáticos de trading organizado por Interdin dentro de su programa de formación e impartido por José Ramón Díaz Serrano de StrategyRank. A continuación os expongo las principales conclusiones que pude extraer:

¿Qué es una cartera dinámica de sistemas automáticos de trading?

Una cartera dinámica no es más que una cartera de sistemas automáticos de trading que dinamiza su composición de forma periódica, es decir, que cambia los sistemas automáticos con los opera cada cierto tiempo preestablecido. Aspectos como cuantos sistemas van a componer la cartera (cuantos más mejor), la frecuencia con la que éstos rotarán (semanal, mensual, trimestral, etc.), el nivel de inversión, etc. dependerán de los gustos y predilecciones de cada inversor y serán establecidos previamente para tratar de ajustar así la cartera lo más posible a su perfil como inversor.   Leer más

Etiquetas: Sistemas automáticos de Trading · cartera · carteras rotacionales · rotar · robots de trading · carteras dinámicas

Autores

Alexey de la Loma
Mario Somada
Rankia

Rankia

Portavoz oficial de la empresa editora de este sitio web Rankia.com.

Oscar Cuevas



RSS
e-Mail









Rankia utiliza cookies propias y de terceros, con ellas obtenemos información sobre tus pautas de navegación y así podemos ofrecerte una mejor experiencia de uso y servicio mostrándote información relacionada con tus preferencias e intereses. Si continúas navegando aceptas nuestra política de cookies.