Sistemas de trading

Sistemas automáticos de trading y money management.

Creación de stops dinámicos

2
Publicado por Oscar Cuevas el 16 de mayo de 2013

Prólogo

La mayoría de los indicadores de análisis técnico disponibles en nuestras plataformas ofrecen información acerca de cuándo nos encontramos con buenos momentos para entrar en mercado

Este dato se acentúa cuando se trata de sistemas a favor de tendencia, puesto que, aunque puedan llegar con cierto retraso, normalmente las señales desarrolladas a partir de la confirmación de tendencia suelen tener una tasa de acierto muy aceptable.
stops dinamicos
¿Pero qué hay de las señales de salida? La norma general que se sigue para la configuración de las órdenes de protección y objetivo, consiste en diseñar un margen fijo de puntos o de porcentaje respecto al punto de entrada, valores que el usuario prestablece o bien obtiene tras la optimización del sistema.
 
No obstante, estamos de acuerdo en que en función de la disponibilidad de cada cartera, el stop de protección de nuestros sistemas no puede superar un margen concreto, sin embargo, en lo que se refiere al precio objetivo, podemos tener más margen a la hora de posicionar esta orden.
En el siguiente artículo, vamos a plantear un método mediante el cual diseñar objetivos dinámicos en función del movimiento de los precios. Para dicho supuesto, utilizaremos como programa de referencia Visual Chart 5.
 

La idea.

Antes de nada, remarcar nuevamente que la idea que vamos a presentar puede ser aplicable a cualquier tipo de sistema, ya que sólo afecta a la manera en la que liquidamos posiciones.
 
Como hemos dicho, por lo general se suele aplicar a los sistemas un margen fijo de puntos objetivo. Teniendo en cuenta que si actuamos a favor de tendencia lo normal es que el sistema vaya entrando con cada nuevo impulso, estaremos de acuerdo en que no todos los movimientos del mercado tienen el mismo recorrido. Siendo así: ¿Por qué usar siempre el mismo criterio a la hora de establecer el objetivo? 
 
Habrá ocasiones en que el margen de puntos se pueda alcanzar y en otras no, como es obvio, sin embargo, cuando se produce un rallie, por norma general suele tener un recorrido igual a un cierto porcentaje de retroceso del rallie anterior:
stops
Probabilísticamente hablando, en el momento de colocar la orden en mercado, podemos tener una idea aproximada de hasta dónde puede llegar el recorrido de la tendencia a favor de la señal.
 
Esto quiere decir que desde el mismo momento en el que colocamos la orden de entrada, tendremos una cierta certeza de si la orden objetivo llegará a alcanzarse:
impulso alcista
Llegados a este punto, planteamos lo siguiente: ¿Y si en lugar de aplicar un objetivo fijo establecemos el objetivo en función del recorrido esperado? A continuación vamos a desarrollar esta idea.

 

Establecer el objetivo en función del retroceso.

La idea en sí es sencilla: En lugar de configurar una cantidad de puntos fijos como objetivo, lo que haremos será determinar un nivel porcentual de retroceso respecto al último impulso. A partir de dicho porcentaje, el objetivo se colocará a este nivel.
 
Lo interesante de ésta idea es que si el rallie viene dado en una zona de poca volatilidad, aunque el objetivo a buscar será menor podremos hacer que operaciones que previamente eran perdedoras pasen a proporcionarnos un precio de salida más aceptable:
retrocesos
Hasta aquí la idea queda totalmente clara, pero recordemos que una cosa es realizar el análisis técnico de una estrategia y otra distinta diseñar la idea de manera que la máquina lo pueda entender. Para conseguir esto, debemos encontrar una herramienta que nos facilite la siguiente información: Uno, el inicio del impulso previo y dos, el final de dicho impulso (o inicio del siguiente). Este dato de forma visual parece fácil de detectar, pero no lo es tanto a la hora de computarlo.

 

Extrayendo el inicio y fin de los impulsos con Visual Chart

Para alcanzar este objetivo vamos a partir nuevamente de unos indicadores de los que ya hemos hablado en anteriores artículos: Los indicadores PivotUp y PivotDown.
 
El indicador PivotUp localiza los pivots máximos para un periodo determinado, mientras que el PivotDown hace lo mismo para los pivots mínimos. El aspecto visual de estos indicadores es el siguiente:
visual chart
Como vemos, cada indicador va marcando el valor más alto o más bajo alcanzado en las últimas barras: estos datos servirán como punto de partida para el cálculo de cada impulso.
Para localizar el punto de salida del impulso previo, partiremos de la siguiente premisa:

    Leer más

Etiquetas: stops · sistemas de trading · Visual Chart · pivotUp · pivotDown

Diseño de sistemas para novatos

0
Publicado por Oscar Cuevas el 19 de abril de 2013

¿Puedo diseñar un sistema sin ser programador?

No por ser un tema del que se ha hablado mucho quiere decir que pierda su interés: Ciertamente, uno de los grandes problemas que nos encontramos cuando queremos aventurarnos en el uso de sistemas automáticos, es la circunstancia de que, una vez que hemos decidido qué estrategia queremos automatizar, hay que trasladar dicha idea al código de programación de la plataforma de trading que usemos.
 
Llegados a este punto, parece que las opciones que tenemos para hacer frente a esta situación, se reducen o bien a aprender a programar en el entorno correspondiente o bien a contactar con un desarrollador para que nos realice la tarea.
 
De modo que ¿No tenemos modo alguno de, sin ser grandes conocedores del mundo de la programación, diseñar un sistema de trading? 
Lo cierto es que sí que existen opciones.
Una de ellas la encontramos a través del programa Visual Chart, donde existe una herramienta mediante la cual sí que podremos montar pequeños sistemas por nuestra cuenta: Esta herramienta se trata de la Plataforma Visual, a la cual podemos acceder independientemente de si somos o no usuarios del programa:
plataforma Visual
La Plataforma Visual cuenta con un entorno de programación muy sencillo donde, aprendiendo a manejar dos elementos básicos de desarrollo, podremos llegar a diseñar un sistema sin el mayor de los problemas.
Existen numerosos documentos y artículos donde explican las características y funcionamiento de ésta herramienta; por lo que les invito a que las visiten si desean comprender con rigor el funcionamiento de la misma. 
Por mi parte, me voy a centrar en plantear una demostración del uso de la herramienta, invitándoles de forma paralela a que prueben a seguir los mismos pasos como si se tratase de una clase práctica de cocina.
 

El caso del indicador TRIX

Como muchos usuarios conocerán, el indicador TRIX es un indicador de momento que está basado en el estudio de una media móvil exponencial triple
El aspecto de éste indicador es como el que vemos a continuación:
indicador TRIX
El indicador se asemeja al comportamiento del MACD, pero resulta más fiable a largo plazo, ya que filtra los ciclos pequeños o “codos” del mercado.
Al igual que haríamos si siguiéramos al MACD, debemos operar cuando el indicador cruza a la línea cero, de modo que compramos cuando suba por encima de la línea y vendemos cuando caiga por debajo de ella.
Siguiendo con la analogía del MACD, puede resultar interesante incluso aplicarle una media móvil de 9 periodos al TRIX para crear una línea de señal, en lugar de fijarnos en la línea 0:
media movil 9
La pregunta, por tanto, sería la siguiente: ¿Cuál de las dos estrategias merece más la pena seguir? ¿La que consiste en seguir la banda central o bien la que sigue a la línea de señal?
Lo ideal para salir de ésta tesitura, sería contar con un sistema que nos permitiera generar los resultados en backtesting de ambas ideas, comparar dichos resultados y seleccionar el que presente mejores datos estadísticos.
La idea en realidad es bastante sencilla, por lo que nos vamos a atrever a montar el sistema por nuestra cuenta, usando la Plataforma Visual de Visual Chart.
 

Pasos previos e ingredientes necesarios

A partir de este punto, consideramos que tenemos instalado el programa Visual Chart y que lo tenemos abierto y activo.
 
A través de Visual Chart accedemos a Programación/Sistema/Crear Sistema (PDV).
 
Definimos el nombre y código del sistema que vamos a crear:
nuevo sistema
Se abrirá el lienzo en blanco de la plataforma donde debemos dibujar nuestro sistema:
crear sistema
El primer paso que debemos dar será el de añadir los ingredientes necesarios para confeccionar el sistema. Como hemos visto en la teoría, básicamente lo que necesitamos es el indicador TRIX, una media aplicada sobre dicho indicador y algún tipo de switch (interruptor) que nos permita cambiar de un tipo de estrategia a la otra.
 
A la izquierda del lienzo en blanco del diseñador, encontramos una ventana con una serie de carpetas. En dichas carpetas se almacenan los ingredientes o herramientas que van a entrar en juego. Por tanto, debemos añadir en dichas carpetas estos elementos de los que hemos hablado.
Si observan la ventana de herramientas, verán que existe una carpeta llamada Indicadores. Pues bien, en esa carpeta vamos a incluir el indicador TRIX que queremos estudiar. Para ello, pinchamos sobre ella con el botón derecho y seleccionamos la opción Añadir indicador.
indicadores
Buscamos al indicador en la lista de indicadores y lo seleccionamos. 
trix
Marcamos los parámetros del indicador como parámetros del sistema. Esto nos va a permitir cambiarlos desde el propio sistema.
parametros del sistema
Hecho esto, pulsamos ACEPTAR y ya tenemos incluido el indicador.
El siguiente paso será repetir el proceso con una Media Simple. La única diferencia es que tenemos que especificar que el dato de referencia sobre el que se calcula dicha media tiene que ser el propio TRIX que acabamos de añadir.
media simple
Ya sólo nos falta incluir el interruptor que nos permita cambiar entre los tipos de estrategia. Esto lo vamos a hacer a través de un parámetro del sistema de modo que cuando cambiemos el valor de dicho parámetro, se seleccione una u otra estrategia. 
En la misma ventana de herramientas, verán una carpeta llamada Variables donde ya se han añadido los parámetros del TRIX. Repetimos el proceso de antes pero esta vez sobre ésta carpeta:
interruptor
Le vamos a dar al parámetro el nombre de ModoEntrada y por defecto le damos el valor 0. Cuando ModoEntrada valga 0, seguiremos a la Banda Central del TRIX, cuando ModoEntrada valga 1, seguiremos al cruce de la línea de señal.
parametros
Hecho esto, ya tenemos los elementos necesarios para iniciar la estrategia.
 

El objeto de Condición

A la hora de empezar a diseñar el sistema, el elemento fundamental que necesitamos conocer es el objeto de Condición.
condicion
Cuando insertamos uno de estos objetos, dentro del objeto estamos definiendo una regla que tiene dos posibles salidas: O se cumple la condición o no se cumple. Según sea el resultado, el sistema tomará una dirección u otra. 
 
De este modo es como el sistema puede detectar los momentos concretos del mercado en los que se cumplen las reglas para operar.
 

Las reglas del Sistema

Empecemos por el principio: Lo primero que queremos preguntar es si el usuario va a usar la técnica de seguir a la banda central o la técnica del cruce con la línea de señal. Como dijimos, para ello usamos el parámetro ModoEntrada. Por lo que la condición que debemos añadir es la siguiente:
parametro modo entrada
¿Se entiende la idea? Según como sea ModoEntrada, tiraremos por un sendero o por otro.
 
Supongamos que ModoEntrada = 0. Cuando pasa esto, vamos a seguir a la banda central. La regla que debe cumplirse por tanto para entrar a largo es que el TRIX se encuentre por encima de la banda.
 
Si no se cumple dicha condición, lo que haremos será entrar a corto:
sistema-trading
Para especificar al sistema que queremos comprar o vender, usamos los objetos de Compra/Venta.
 
Ya tenemos hecho con esto el 50% del sistema. Ahora nos falta la otra parte.
 
Si no se cumple que ModoEntrada = 0, entonces vamos a seguir a la línea de señal. La regla que debe cumplirse para entrar a largo es que el TRIX esté por encima de su media móvil.
 
Al igual que antes, si no se cumple la condición, entonces lo que haremos será entrar a corto:
Y con esto hemos finalizado. ¡Ya tenemos nuestro sistema listo! Ahora pulsamos el botón Compilar para confirmar que no hemos cometido ningún error de sintaxis y para que quede registrado el sistema.
 

La prueba final

Ahora que ya tenemos el sistema, podemos insertarlo dos veces sobre un producto en concreto; en un caso el parámetro ModoEntrada será 1 y en el otro será 0. 
 
Hecho esto, podemos observar la línea de ganancia en cada uno de los casos y analizar qué regla obtiene mejores resultados:
prueba final

Conclusiones

Evidentemente, el sistema que acabamos de desarrollar puede ampliarse hasta niveles insospechados: añadiéndole gestiones monetarias, reglas de salida, stops dinámicos, filtros horarios, o cualquier cosa que pudiera ocurrírsenos. 
 
Sin embargo, lo que hemos tratado de demostrar es que, manejando cuatro nociones básicas de programación, podemos montar pequeños sistemas que nos pueden servir para evaluar el rendimiento de las herramientas de análisis técnico que queramos utilizar.
 
Oscar Cuevas, desarrollador de estrategias e indicadores en Visual Chart Group
 
Etiquetas: sistemas de trading · Guia sistemas de trading · Guia Sistemas · Visual Chart · plataforma visual · indicador TRIX

Estudio del sistema TWO RSI

0
Publicado por Oscar Cuevas el 17 de abril de 2013

Evaluando la fiabilidad de las estrategias

No son pocos los analistas que ofrecen a través de sus blogs, artículos o conferencias diferentes ideas para el desarrollo de estrategias.

Obviamente, cada autor considerará su propia estrategia como la más acertada, sin embargo, es labor de los inversores el evaluar la calidad de las mismas y si se adaptan a las necesidades de cada cartera.
Para facilitar esta tarea, los programas de Análisis Técnico nos proporcionan diferentes herramientas con las cuales podemos extraer la información que necesitamos de manera rápida y sencilla.
Vamos a plantear un supuesto en el que veremos los siguientes conceptos:
  1.  Identificar la mejor solución para el tipo de inversión que deseamos hacer.
  2.  Cómo trasladar ésta estrategia del papel a la máquina.
  3.  Utilizar las herramientas de las que disponemos para llegar a una conclusión rápida sobre la fiabilidad de la estrategia.
 Para dicho supuesto, utilizaremos como programa de referencia Visual Chart 5.
 

La inversión

Supongamos que tenemos un pequeño grupo de inversión cuyo interés es el de crear una cartera de valores del mercado continuo, ya que es el que tenemos contratado.
El tipo de estrategia que deseamos aplicar va a ser conservadora, operando a largo plazo y olvidándonos por tanto de la operativa intradía.
Siguiendo esta idea, encontramos un artículo de Peter Konner en el que se presenta la estrategia TWO RSI, pensada especialmente para operar sobre gráficos semanales, por lo que se ajusta a las condiciones deseadas por el grupo.
El siguiente paso a dar consistirá en trasladar la estrategia a un sistema de Visual Chart para poder evaluar los resultados en backtesting y decidir si en términos generales los resultados son aceptables.
 

El sistema TWO RSI

Como decimos, éste sistema fue presentado por Peter Konner en su artículo Combining RSI with RSI. El sistema se basa en el estudio de dos osciladores RSI de distinto periodo a los que llama Slow RSI (17) y Quick RSI (5).
El RSI lento, en función de su posición, establece los intervalos durante los cuales se considera que la acción está sobrecomprada, sobrevendida, en tendencia bajista o en tendencia alcista.
 

two rsi

    Leer más

Etiquetas: análisis técnico · Visual Chart · RSI · two rsi · sistemas de trading · sistemas · sistema TWO RSI

Diseñando la estrategia V-Bottom

0
Publicado por Oscar Cuevas el 26 de marzo de 2013

En contra de la tendencia

Cuando elaboramos nuestras estrategias de trading, tanto si están basadas en ideas personales como si están extraídas de terceros, uno de los elementos comunes de todas ellas debería de ser esperar a actuar a favor de la dirección de la tendencia, ya que aunque podemos obtener peores posiciones de entrada, aumentamos las probabilidades de acierto.
 
No obstante, existen pequeñas oportunidades, que en ocasiones se observan en la acción de los precios, que nos pueden permitir entrar con un movimiento antitendencial. Cuando se dan estos casos, obtenemos una gran ventaja a la hora de posicionarnos.
Uno de estos casos nos lo plantea Jamie Theiss en su artículo The V-Bottom Buy Setup. En este artículo vamos a explicar el funcionamiento de dicho patrón V-Bottom y posteriormente reflejaremos dicha idea en un sistema automático de trading.
 

El patrón V-Bottom

Antes de nada, cabe destacar que este patrón pretende localizar buenos momentos de entrada exclusivamente de posiciones compradoras. El autor plantea el siguiente escenario como momento de localización de dicho patrón:
 
1. El punto principal es que dicha señal obviamente debe aparecer durante un movimiento descendente. Sin embargo, es importante distinguir en la medida de lo posible entre un impulso con clara fuerza bajista y una zona de sobreventa o de agotamiento. 
 
2. Como dato identificativo de una zona de agotamiento, deben darse al menos cinco velas bajistas consecutivas. El movimiento suele finalizar con un crecimiento tanto del tamaño de las velas bajistas como del valor del volumen. 
velas bajistas
3. El movimiento bajista debe ser agresivo: Así, la pendiente de dicho movimiento debe tener una inclinación superior a los 45º. 
movimiento bajista
Tal es así que el autor indica que al observar ésta situación nos debe evocar a una cascada. Esta analogía es bastante representativa, no sólo por el aspecto del movimiento, sino por las características que de por sí tienen las cascadas: Una caída fuerte del agua que acaba en un punto de reposo o embalse: Que es lo que exactamente estamos buscando en nuestro análisis.
 
4. La aparición de la cascada debe implicar, además, que los precios se separan significativamente del valor de las medias: Esta señal es ciertamente interesante, ya que cuando esto ocurre, los precios tienden a corregir su posición con respecto a la posición de las medias.
precios medias
5. Una vez se da este escenario, seguidamente, debe aparecer una vela de tipo Doji (o similar). Es decir, una señal de indecisión o igualdad entre el sentimiento de los inversores
vela doji
Las sombras del Doji servirán de referencia para localizar tanto el punto de confirmación de señal de giro (sombra superior) como el punto de stop de protección (sombra inferior).
 
6. Si se confirma la señal con una ruptura por encima de la sombra superior, ya tendremos nuestra orden de entrada colocada, incluyendo su stop de protección. 
En cuanto al objetivo a alcanzar, como hemos dicho, existe un alto porcentaje de probabilidad de que se produzca una corrección de los precios hasta el nivel de las medias. Por tanto, el objetivo se situaría en el momento de ruptura de dichas medias.
objetivo
A este respecto, el autor aclara lo siguiente: En función del tipo de estrategia que queramos realizar, el objetivo será mayor o menor cambiando el periodo de la media. Conforme mayor sea dicho periodo, estaremos colocando el objetivo más lejos, aumentando el valor de la relación rentabilidad/riesgo. Asimismo, el autor invita a usar una media de protección de periodo menor (8 periodos), de modo que si se produce la ruptura de dicha media, movemos el nivel del stop hasta el nivel de breakeven.
 

Representación técnica del patrón

Ya hemos visto la teoría o análisis técnico del patrón V-Bottom. Ahora veremos cómo  hacer, de manera lo más objetiva posible, para identificar estos patrones de modo que podamos posteriormente extrapolarlos a un sistema.
 
Sigamos cada uno de los pasos que hay que dar para generar la señal: 
 

1. Tendencia bajista de al menos 5 velas negras consecutivas.

Esta regla es bastante objetiva por lo que no tiene demasiado problema: Quizás el único sea cómo determinar que nos encontramos en periodo bajista. Para ello, podemos basarnos en diferentes indicadores de tendencia, pero lo más sencillo es basarnos en las propias medias y definir la tendencia bajista como el momento durante el cual los precios se encuentran por debajo de las mismas.
La regla desde código, 
codigo1

2. La tendencia viene acompañada de un crecimiento del volumen.

Visualmente este dato es fácil de detectar, pero en términos numéricos es algo más complejo: ¿Comparamos el volumen de las últimas velas y vemos si es creciente? ¿Y si una de las cinco velas no cumple la regla? ¿Deben cumplirlo al menos la mitad? No es necesario complicarse tanto la vida, ya que podemos traducir ésta regla en algo más sencillo: Que el volumen de la vela actual sea superior al valor de la media exponencial de 5 periodos. 
crecimiento volumen
Sólo con esto, ya cumpliremos muy bien con el propósito de la regla, que no es otro que confirmar que el movimiento es significativo en términos de cantidad de negocios. 
La regla desde código,
codigo2
Donde NumBars por defecto será 5 barras.
codigo3

3. Caída en forma de cascada: Inclinación superior a 45º

Para determinar esta regla deberemos aplicar algún indicador que sea capaz de calcular la pendiente de la línea de regresión de las últimas 5 barras.
Un indicador que permite hacer esto es el indicador Regresion Line Slope. Si lo cogemos de referencia y especificamos que el periodo de estudio del indicador sería de 5 velas, daríamos la señal por buena siempre y cuando el valor del indicador fuera inferior a un valor determinado (por ejemplo, -5):
linea-regresion
El nivel de corte que debemos coger de referencia variará en función del producto sobre el que trabajemos. Por ello, este dato debe ser considerado como un valor parametrizable.
La regla desde código, 
codigo4

4. Los precios se alejan de las medias significativamente.

Para cumplir esta regla, añadiremos nuevamente otro parámetro. En este caso, será un margen porcentual de separación entre la media y el precio actual. Si la distancia entre ambos supera dicho margen, se cumplirá la regla.
La regla desde código, 
codigo5

5. Tras la caída, debe aparecer una vela que indique señal de indecisión.

Quizás la quinta regla sea la que puede generar más controversia, ya que si analizamos un gráfico en busca del V-Bottom, veremos claros casos que cumplen las cuatro primeras reglas pero luego no cumplen esta última. Como consecuencia, vamos a ser más flexibles para el diseño del sistema, y en este caso, nos bastará con localizar la vela donde se produce la primera señal de deterioro de la tendencia bajista: Por ejemplo, la primera vela en la que el indicador RSL retrocede (su valor es superior al nivel de ruptura) o lo hace el volumen respecto a la media:
señal indecisión
Además, ésta regla se debe de estudiar a partir de que se han cumplido las reglas anteriores: Es decir, las cuatro primeras reglas se pueden analizar conjuntamente, pero la quinta debe hacerse independientemente.
La regla desde código,
codigo6

6. Comprar si el precio confirma la señal rompiendo por encima del máximo de la vela de indecisión.

Una vez se han cumplido las cinco reglas, guardamos el precio máximo de la vela de indecisión como precio de entrada y esperamos a que el precio lo alcance antes de que alcance al stoploss.
codigo7

7. Niveles de salida: StopLoss en Mínimo de la vela de indecisión y Objetivo en la ruptura de la media de 20.

Llegado a este punto, lo único que nos queda por hacer es diseñar las condiciones de salida, tal y como podemos ver a continuación:
codigo8
A nivel de estrategia, hay que controlar también los momentos a partir de los cuales se empieza desde cero. Este momento lo va a determinar el cruce de los precios sobre la media, y tal y como vemos en el código.

 

Conclusiones

El patrón V-Bottom teóricamente permite pronosticar buenos momentos de entrada a largo, si bien es un tipo de señal que se da con poca frecuencia.
Como ocurre con cualquier estrategia basada en patrones, la resolución de la misma en un sistema automático implica ciertos criterios que, para algunos inversores, pueden llegar a ser excesivamente estrictos, lo que trae como consecuencia diferencias entre las operaciones que puede generar el sistema y las que el usuario realizaría operando manualmente: Esta discrepancia es inevitable siempre que se diseñan estrategias basadas en reglas con ciertas connotaciones subjetivas.
 
Oscar Cuevas, desarrollador de estrategias e indicadores en Visual Chart Group
 
Etiquetas: Guia Sistemas · sistemas de trading · V Bottom · tendencia

El indicador Adaptive Price Zone

1
Publicado por Oscar Cuevas el 19 de febrero de 2013

Estudiando los puntos de giro

Uno de los puntos fuertes sobre los que se fundamenta el análisis de los osciladores consiste en la capacidad de éstos para detectar las posibles zonas de giro del mercado: Momentos de vital relevancia, ya que de confirmarse, implican tanto que el inversor puede colocar sus posiciones en el momento de mayor ventaja como que puede abandonar el mercado en las circunstancias más favorables.
Sin embargo, no siempre queda claro cuando nos encontramos en el momento de mejor posición, ya que las zonas de agotamiento pueden prolongarse durante varias barras
 
En el ejemplo siguiente, observamos al estocástico marcando zona de fin de tendencia bajista: Dicha zona se prolonga en el tiempo, hasta que finalmente el activo sube, por lo que en realidad el indicador no nos ha sabido aportar una buena señal de cambio de tendencia, o al menos no una señal especialmente precisa. 
El indicador Adaptive Price Zone
Precisamente por esto, a la hora de utilizar este tipo de osciladores, la mayoría de los usuarios opta por esperar a la salida del indicador de la zona de agotamiento: En realidad, con esto no nos estamos adelantando al giro, sino que estamos actuando una vez se ha confirmado el impulso, con la consecuente pérdida de oportunidad.
 
En el presente artículo, vamos a dar a conocer un nuevo indicador cuyas principal virtud es que puede darnos posibles puntos concretos de giro: El indicador Adaptive Price Zone.
 

El indicador Adaptive Price Zone

Este indicador fue desarrollado por  Lee Leibfarth en su artículo Identify the Turning Point: Trading with an Adaptive Price Zone.
Se representa de forma similar a las bandas de Bollinger: Esto quiere decir que forma un canal alrededor del activo, lo cual nos servirá para localizar los momentos de mayor desviación.
 
Como decimos, tiene mucho en común con las bandas de Bollinger: De hecho, también se fundamenta en el cálculo de un tipo de media móvil, en concreto, la media exponencial doble.
Este tipo de media no tiene mucho misterio: Se trata simplemente de suavizar la señal dada por una media exponencial calculando una segunda media exponencial sobre ésta.
 
Para aquellos usuarios interesados, a continuación mostramos cómo definir una media exponencial doble en Código Visual Basic para Visual Chart:
media exponencial doble
El uso de una media exponencial se fundamente en que, a diferencia de una media móvil simple, la exponencial da mayor peso a los últimos precios dentro del periodo estudiado, lo cual le permite actuar con mayor rapidez ante las fluctuaciones del activo.
 
Por otro lado, Lee Leibfarth propone calcular el rango de cada barra aplicando una segunda media exponencial doble al tamaño de las barras (Máximo – Mínimo): Este rango se usa como medidor de la volatilidad para evaluar la distancia a la que colocamos cada una de las bandas respecto a la media.
Puesto que la explicación detallada del Adaptive Price Zone se puede ver en el propio artículo del señor Leibfarth, nos vamos a centrar en ver el Código en Visual Basic para Visual Chart del indicador:
indicador sistemas

Interpretación del indicador

El hecho de que el activo fluctúe dentro del canal formado por el Adaptive Price Zone permite definir las zonas de mayor interés: Estas zonas serán aquellas en las que el precio sale fuera del canal, momento en el cual podemos encontrar importantes zonas de oportunidad para anticiparnos al cambio de tendencia.
 
En el siguiente ejemplo, podemos observar cómo la ruptura del canal es seguida en la mayoría de los casos por movimientos de corrección:
ruptura-canal
Como cabe esperar, la capacidad del indicador para detectar los giros de tendencia no es una ciencia exacta y puede dar señales falsas como la que se marca en el gráfico con un círculo rojo.
 
La base de ésta noción de los precios a rebotar sobre las bandas del canal, se fundamenta en que cuando los precios se desvían notablemente respecto a la posición de la media, tienden a retroceder hasta colocarse cerca del valor medio estadístico; Es decir, el principio básico de la naturaleza hacia el equilibrio.
Sin embargo, cuando la fuerza de un impulso genera un rallie de largo recorrido, los propios valores medios se terminan desplazando, lo que provoca que el activo esté constantemente desviándose del valor central: Es en estos casos cuando el Adaptive Price Zone genera más señales falsas.
fallo del indicador
Para evitar las zonas donde el indicador pierde efectividad, Lee Leibfarth propone usar un segundo indicador como referencia para desactivar la señal del Adaptive Price Zone en dichas zonas: En concreto, el Wilder’s Average Directional Movement o ADX.
 
Cuando el ADX supera su banda de referencia, indica que el movimiento actual alcanza un nivel de fuerza lo suficientemente significativo como para esperar que dicho movimiento se prolongue en el tiempo: Por tanto, será cuando éste indicador se mantenga por debajo de su banda cuando las rupturas de las bandas del Adaptive Price Zone tienen mayor efectividad.
indicador ADX
No obstante, esta única comprobación puede no ser suficiente, ya que en la mayoría de los casos, cuando se produce la ruptura de las bandas, el ADX se encuentra en ese momento bajo su nivel de señal.
Esto se debe a que cuando los precios se encuentran en su nivel de equilibrio, existe una alta probabilidad de que la fuerza de la tendencia en ese momento sea baja (puesto que se encuentra en una zona de incertidumbre).
 
Por tanto, si queremos esperar a la confirmación dada por el ADX, necesitaremos esperar varias barras tras el cruce para observar si dicha situación genera un aumento de las fuerzas favorables al movimiento de ruptura o bien el activo presenta una situación de incertidumbre y por tanto se mantiene el equilibrio de las fuerzas. 
Si nos encontramos ante ésta segunda situación, podemos dar por buena la señal del Adaptive Price Zone y por tanto considerar que estamos ante una posible zona de cambio de tendencia.
 
En el siguiente ejemplo, tras romper la banda superior del canal, esperamos un número n de barras antes de dar por buena la señal: Antes de cumplir el tiempo estimado, el ADX supera la banda (25) y por tanto despreciamos esta situación.
buena señal
A continuación, vemos otro ejemplo donde sucede lo contrario: Esperamos un número n de barras tras la ruptura. El ADX se mantiene bajo la banda (25), lo que indica la igualdad entre las fuerzas bajistas y alcistas: Estamos ante una situación óptima para que la señal del APZ sea válida, tal y como sucede en las dos primeras señales.
igualdad señales

Conclusiones

La principal virtud del Adaptive Price Zone es la de aportar al usuario niveles de soporte y resistencia dinámicos, cuyo valor y margen van adaptándose a la volatilidad de los precios.
 
Como ocurre con otras señales antitendencia, podemos disminuir el riesgo de la señal utilizando otro tipo de indicadores de apoyo, como es el caso del ADX. Lógicamente, esto implica un retardo, que se traduce en una pérdida de oportunidad en cuanto a un mejor posicionamiento en el mercado.
 
Oscar Cuevas, desarrollador de estrategias e indicadores en Visual Chart Group
 
Etiquetas: sistemas de trading · indicador · Adaptive Price Zone · Guia sistemas de trading · Guia Sistemas · Bandas de bollinger · media exponencial doble · ADX

Indicador Automatizando patrones Automatizando patrones

1
Publicado por Oscar Cuevas el 18 de diciembre de 2012

La particularidad de los patrones

Durante la fase de investigación de los gráficos, existen innumerables indicadores que nos facilitan la labor de análisis. Todos estos indicadores pueden dividirse en varias categorías entre las que estarían: Indicadores de confirmación de tendencia (MACD), indicadores basados en el volumen  de negociación (OBV), indicadores basados en el estudio de ciclos (RSI) o indicadores que están basados en la aparición de figuras o patrones (Hammer, Head & Shoulder).
 
De todos ellos, estos últimos merecen un punto y aparte debido principalmente a dos características:
  • Son herramientas que tratan de predecir o detectar los cambios de tendencia.
  • Están basados en estructuras geométricas y no en fórmulas matemáticas.
Respecto al primer punto, podemos observar que en la mayoría de los indicadores, la información que podemos extraer de ellos la obtenemos a posteriori, es decir, una vez que se ha establecido el movimiento de los precios y por tanto ha dado tiempo a que se recoja la información necesaria como para que los cálculos reflejen lo que está pasando:
patrones
Sin embargo, para el caso de los patrones, nos basamos en un principio puramente estadístico: Cuando se forma un patrón, no hay indicios suficientes de que la tendencia se esté formando, sin embargo, si aparece la figura en cuestión, por cuestiones probabilísticas, se espera que seguidamente aparezca la tendencia (por eso se le atribuyen características predictivas):
patron
En cuanto al segundo punto, tenemos que, por lo general, el valor que muestra un indicador es el resultado de aplicar una fórmula previamente establecida basada en los datos que nos aporta el gráfico: El valor devuelto en estos casos es innegociable y su fuerza estriba en que es un dato cerrado. Es decir, si dos usuarios estudiaran el mismo indicador sobre plataformas distintas, obtendrían el mismo valor en cualquiera de los casos (suponiendo que los datos de referencia son los mismos, obviamente).
 
Sin embargo, cuando hablamos de patrones o figuras geométricas, la interpretación de los resultados tiene una carga más subjetiva, puesto que depende de muchos factores. Por ejemplo, la aparición de un martillo depende de la tendencia previa y por tanto de un número indeterminado de barras, también depende de si permitimos un tamaño mínimo de sombra inferior o superior, de si tiene que haber un volumen mínimo de negociación, de si el martillo debe tener cuerpo o no, etc…
Veamos el siguiente caso:
sistemas trading
Con este ejemplo, podemos considerar que dos inversores distintos, pueden ver, para este caso, cosas distintas: Uno puede afirmar que dicha vela es una vela martillo mientras que otro puede no considerarla porque entiende que faltan condiciones por cumplir.
 
Desde el punto de vista del desarrollador de estrategias, esta carga subjetiva de los patrones es un gran problema, puesto que a la hora de diseñar un sistema no podemos dejar cabos sueltos y todas las condiciones tienen que depender de consideraciones puramente objetivas. 
¿Quiere decir, por tanto, que no podemos diseñar una estrategia que esté basada en figuras o patrones? Nada más lejos de la realidad: La explicación vamos a verla en el siguiente punto.
 

Desarrollo de sistemas “chartistas”

La idea de desarrollar un sistema basado en patrones debe pasar obligatoriamente por un control estricto de cómo debe ser el patrón. Desde este punto de vista, tenemos que ser especialmente metódicos a la hora de diseñar las reglas.
 
Las expresiones tales como “tendencia alcista” o “movimiento lateral” debemos ser capaces de definirlas con valores numéricos o basándonos en hechos concretos. 
Por ejemplo, decir que un patrón puede aparecer al final de una tendencia bajista, equivale a decir que el patrón puede aparecer con el valor del MACD negativo (lo que equivale a tendencia bajista), pero estando el valor de su señal por encima del propio MACD (lo que equivale a que el impulso bajista está perdiendo fuerza).
Decir que un Martillo tiene una sombra inferior grande, equivale a decir que la proporción entre el tamaño del cuerpo de la vela (apertura menos cierre) y el tamaño de la sombra inferior (mínimo del cuerpo menos mínimo de la vela) es superior a, por ejemplo, un 150%.
 
Con estos ejemplos, nos hacemos una idea de qué es lo que hay que hacer para trasladar definiciones puramente “humanas” a un lenguaje que pueda entender la “máquina”.
 

Aplicación práctica: La estrategia de Raghee Horner

Vamos a acabar este artículo con una explicación práctica. Para ello, partiremos de una estrategia desarrollada por el trader Raghee Horner y veremos qué pasos hay que dar para poder automatizar ésta idea. 
 
El autor plantea el siguiente escenario: Abrimos un gráfico y le insertamos tres medias exponenciales de periodo 34. Cada una de las medias estará calculada sobre un valor distinto de la barra: Una sobre los cierres, otra sobre los máximos y otra sobre los mínimos. El resultado será una especie de canal al que el autor llama “THE WAVE”:
the wave
El uso de éste indicador tiene dos finalidades: Por un lado, determinar la dirección de los precios, según si están por encima o debajo de “la ola”. Y por otro lado, identificar los movimientos laterales del mercado.
 
Raghee Horner establece los momentos laterales como puntos de partida de la operativa. De ahí que cobre especial relevancia la localización de los mismos:  Para el autor, su identificación se dará cuando se cumpla la norma de que la ola se encuentre plana o “en calma”.
En la siguiente imagen, observamos cómo tras un movimiento alcista, el canal se estabiliza y entra en una situación lateral:
ejemplo
La tendencia previa no tiene por qué implicar cambio de dirección, puesto que puede tratarse de un movimiento de congestión seguido de una continuación de tendencia.
El autor busca estos momentos del mercado para, a partir de aquí, trazar líneas de tendencia. 
 
La finalidad de estas líneas es la de dibujar un tipo de patrones llamados triángulos. Estos patrones consisten en una zona lateral de precios que se va estrechando cada vez más. La salida de dicha zona se determina cuando se cruzan las líneas que marca el triángulo. La dirección del movimiento tendencial dependerá de si la ruptura se produce por debajo o por encima: Es decir, en el momento de dibujar el patrón, aún no disponemos de suficiente información como para saber si la salida de la zona de congestión será en una dirección o en otra.
triangulo
Una vez que se produce la ruptura, el último paso es usar un indicador de confirmación de tendencia que filtre las señales falsas: Por ejemplo, el MACD Histograma. Con este filtro, el señor Horner trata de evitar las rupturas provocadas por ataques inconsistentes.
En la siguiente imagen, podemos ver cómo finalmente se produce una ruptura al alza. Insertamos el MACD Hemelxl (que es el equivalente en Visual Chart al MACD Histograma) para comprobar si la ruptura es relevante:
sistemas
Confirmado este dato, ya tendríamos la señal para tomar una posición a largo:
posicion a largo

Traducción a “lenguaje máquina”

Si ahora quisiéramos crear un sistema siguiendo las pautas que acabamos de ver, lo primero que debemos hacer es pasar las normas a un lenguaje que un programa pudiera entender.
 
Lo mejor para ello es hacer que el sistema en cuestión se apoye sobre indicadores creados previamente, y que éstos indicadores determinen las reglas a considerar.
 
Si usamos de ejemplo Visual Chart, veamos cómo haríamos para identificar las señales de entrada de ésta estrategia a través de indicadores.
 

Regla 1: Usar el canal THE WAVE.

Para esta regla no tenemos problema, ya que sólo tenemos que incluir tres medias exponenciales de mismo periodo pero con una fuente distinta (máximo, mínimo y cierre).
 

Regla 2: La ola se encuentra plana o lateral.

¿A qué nos referimos con que la ola se encuentre plana? Visualmente está claro lo que quiere decir, pero ¿Cómo explicarle esto a la máquina? 
Del siguiente modo: Si lo piensan, lo que estamos diciendo es que la pendiente que traza cada una de las líneas debe tener un valor cercano a cero. 
Para medir esto, podemos usar el indicador RSL y aplicarlo sobre cada una de las tres medias:
RSL

Regla 3: Trazamos las líneas de tendencia.

Necesitamos trazar las líneas de tendencia para dibujar el triángulo, que será el patrón que vamos a seguir. Automatizar el trazado de las líneas de tendencia es realmente complejo, puesto que tiene una carga parcialmente subjetiva. El proceso que podemos seguir para hacer esto podría ser el siguiente:
  1. Aplicar al gráfico el indicador PivotUp. Este indicador localiza los pivots máximos para un periodo determinado, de modo que éstos deben ser los más altos a izquierda y derecha en al menos dos barras.
  2. Coger los dos últimos pivots aparecidos y trazar la tendencia. Debe cumplirse que dicha tendencia no esté ya rota, ya que lo que nos interesa es detectar la ruptura antes de que se produzca.  Además, la pendiente de la tendencia debe ser negativa para que pueda formarse el triángulo.
  3. Si no cumple las reglas de la tendencia, buscar los dos siguientes pivots. Este proceso lo repetimos hasta que aparezcan dos que cumplan la regla o bien hasta que agotemos las posibilidades: En tal caso, descartamos esta situación y esperamos a una nueva.
  4. El proceso es el mismo para el caso de los pivots mínimos. Para este caso, usamos el indicador PivotDown.
regla3

Regla 4: Esperar a la ruptura del triángulo.

En este caso, lo que debemos hacer es mantener las líneas de tendencia que previamente hemos trazado y prolongarlas en el tiempo. Lo único que tenemos que hacer es gestionar el momento de cruce.
 

Regla 5: Confirmación de ruptura a través del MACD Histograma

Aquí tampoco tenemos problema porque lo único que tenemos que hacer es añadir el indicador MACD Hemelxl y observar  que la dirección del indicador está en consonancia con el tipo de ruptura: Si la ruptura ha sido al alza, el indicador debe ser positivo, si ha sido a la baja, el valor del indicador debe ser negativo.
En la imagen siguiente podemos ver cómo quedaría el escenario final con todas las herramientas que vamos a necesitar para poder llevar la teoría a la práctica:
regla5
Llegados a este punto, hemos eliminado todo el factor subjetivo de la estrategia y ahora podemos, sin temor a haber dejado ningún cabo suelto, aventurarnos a diseñar nuestro sistema automático.
 
 
Oscar Cuevas, desarrollador de estrategias e indicadores en Visual Chart Group
 
Etiquetas: sistemas de trading · indicadores · patrones · sistema basado en patrones · tendencia alcista · RSI · MACD

Desarrollando un sistema de trading

0
Publicado por Rankia el 21 de noviembre de 2012

Javier Domínguez, Alejandro Mendoza, Víctor García y Fernando Bodí, fueron los protagonistas de la charla que inauguró el noveno encuentro Rankia y lo hicieron aportando algo más de luz al tema de los sistemas de trading, cada uno desde la perspectiva de sus respectivas empresas que son: Clicksistemas (Javier Domínguez y Víctor García), Todobolsa (Alejandro Mendoza) y Gestrading Management LLC (Fernando Bodí).

Trás una pequeña introducción de Javier Domínguez acerca de los sitemas de trading, destacó las ventajas que ofrece la empresa Clicksistemas entre las que se encuentran: una mejor latencia, órdenes que llegan rápidamente al mercado y el logro de conseguir simplicidad para un producto que a priori presenta una cierta complejidad.

A continuación de la breve introducción, se dió paso a Alejandro Mendoza.   Leer más

Etiquetas: Encuentro Rankia · sistemas de trading · sistemas · automatico · Rentabilidad · Clicksistemas

Indicador La disciplina La disciplina

3
Publicado por Mario Somada el 05 de noviembre de 2012

En los artículos precedentes hemos ido desgranando cuestiones que consideramos fundamentales a la hora de trabajar con sistemas de trading. Ahora echando la vista atrás vemos que quizás hemos dado por supuesto algunas cosas, por el hecho de que en el operador veterano ya están integradas, mientras que el que comienza puede verlas como una barrera infranqueable. Una de ellas es la disciplina; me refiero al momento puntual en que uno de nuestros sistemas genera una orden y hemos de lanzar esa orden al mercado; pero también a la disciplina necesaria para resistir las rachas de perdidas.

Cuando vemos el sistema en nuestro programa esto no es ningún problema, damos por hecho que todas las ordenes se ejecutan tal cual, como vimos detalladamente esto no es así por varios motivos: El principal es que el programa nos da un precio teórico, y en el mercado real la orden no se hará a ese precio exactamente, la otra es que pasar esa orden en el mercado real, activa, a veces y en según que personas de forma extrema, determinadas emociones, que llegan incluso a paralizar a la persona impidiéndole pasar la orden al broker, o en una variante mas peligrosa haciendo tomar una decisión diferente a la de nuestro sistema, incluso en muchos casos la opuesta. Con este cambio de actitud nos llevamos por delante todo el trabajo teórico que hemos hecho en el pasado, pasando a estar como al principio en manos de nuestras emociones.    Leer más

Etiquetas: Guia sistemas de trading · gestion alternativa · sistemas · indicadores

Evaluando sistemas de trading

0
Publicado por Mario Somada el 29 de octubre de 2012

Una vez que hemos logrado programar los sistemas y antes de comenzar su utilización en el mercado, deberemos tomar una serie de precauciones:

Lo primero es verificar que el sistema no tiene ningún error en el código, lanzando correctamente al mercado; es decir, que da las mismas operaciones en tiempo real que en el histórico; o mejor dicho, que no modifica las ordenes que genera en tiempo real. Para estar totalmente seguros de esto no hay mas remedio que ir tomando nota de las operaciones que lanza y después comprobar que tras abrir y cerrar el programa sigue manteniendo las mismas señales.

 

Otra verificación que nosotros consideramos muy importante es someter al sistema a un protocolo riguroso a fín de evaluar su fiabilidad; ya que si no sometemos al sistema a una prueba de este tipo nos tendríamos que guiar únicamente por su estadística y sabemos que sistemas mas optimizados seria sinónimo de mejor sistema. Como sabemos esto no es real, y sistema muy optimizado suele ser sinónimo de fracaso a corto o medio plazo.   Leer más

Etiquetas: sistemas de trading · Guia sistemas de trading · optimización

Principios básicos

0
Publicado por Mario Somada el 22 de octubre de 2012

En este artículo pretendemos sintetizar los publicados en los 4 post anteriores de este blog. A todos los que nos lean por primera vez les recomendamos que repasen los posts números, donde explicamos más a fondo lo que aquí resumimos. La experiencia nos dice que quienes nos acercamos a este fascinante mundo por primera vez, cometemos los mismos errores, por lo tanto no nos cansamos de repetir que es lo que tenemos que hacer para evitarlos.

En el primer articulo hablamos de la importancia de trabajar en mercados con la suficiente liquidez para que los deslizamientos no nos hagan transformar una estrategia, en principio ganadora, por otra ruinosa. El deslizamiento es la diferencia entre el precio teórico al que se hace una operación, y el precio real al que esa operación se ejecuta en el mercado. Esta diferencia viene influenciada, por la liquidez del mercado, el tamaño de nuestra orden, la naturaleza de la orden, y la forma de lanzarla al mercado.   Leer más

Etiquetas: sistemas de trading · gestion alternativa · deslizamiento · comisiones · diversificacion · parametros · money management

Autores

Alexey de la Loma
Mario Somada
Rankia

Rankia

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

Oscar Cuevas