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:
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.
Trasladando los patrones a código máquina
Como decíamos, podemos utilizar el poder de predicción de las velas japonesas como parte de una estrategia de trading a fin de conseguir mejores posiciones en el mercado.
Cuando diseñamos un sistema automático basado en cualquier instrumento de análisis, no tenemos mayor problema puesto que todos ellos se fundamentan en principios matemáticos: Sólo es cuestión de definir la función correspondiente y aplicar el cálculo con los datos que nos vaya dando el mercado. Pero si queremos usar patrones como las velas japonesas, tenemos como principal dificultad que ésta herramienta no surge como resultado de un algoritmo numérico, sino como representación de una estructura que observamos visualmente sobre los gráficos. Entonces, ¿cómo hacer para traducir esta información a código fuente?
De salida, me atrevo a decir que no es posible obtener un método automático de detección de patrones con un 100% de fiabilidad, puesto que la formación de los mismos no depende sólo de elementos púramente objetivos, sino que tienen una carga subjetiva que no encontramos en otro tipo de instrumentos. ¿Por qué? Porque la aparición de patrones dependen del ojo que los detecta, de modo que sobre el mismo gráfico, dos traders pueden encontrar diferentes patrones en función de la visión a largo o corto plazo que estén tomando… Algo similar a lo que sucede con las Ondas de Elliot.
A pesar de esto, es posible detectar mediante un proceso automático un porcentaje bastante alto de patrones. Para ello, deberemos definir de manera estricta el conjunto de reglas que deben de cumplirse para que aparezca el patrón en cuestión. Voy a tratar de demostrar esta teoría mediante un ejemplo. Para ello, tomaré uno de los patrones de velas más conocido como base y diseñaré un sistema usando Visual Chart 5.
Programación de sistema basado en el patrón Engulfing Bullish
El patrón Engulfing Bullish es un patrón de cambio formado por dos velas que tienen la siguiente estructura:
- Una vela con cuerpo real pequeño negro (bajista).
- Segunda vela con cuerpo real grande blanco (alcista) que cubre en su totalidad el cuerpo de la vela anterior.
Este patrón se detecta tras una tendencia bajista y busca indicar un cambio de tendencia. Cuando aparece la primera vela, indica que el impulso bajista va perdiendo fuerza. La segunda vela indica que las fuerzas alcistas han ganado la partida al conseguir finalizar la sesión por encima de la apertura del día anterior, pese a haber abierto por debajo del cierre previo:
En lo relativo a la teoría, se discute si la segunda vela debe cubrir sólo el cuerpo de la vela (desde apertura hasta cierre) o bien debe cubrir todos los precios (desde máximo hasta mínimo). Para nuestro propósito, consideraremos que nos basta que cubra el cuerpo de la vela, ya que como indicábamos antes, tenemos que ser estrictos en cuanto a las reglas del patrón.
Lo primero que haremos durante la fase de diseño, será especificar los pasos que debe seguir el patrón para poder darse. Vista la teoría, tendremos que tener en cuenta cuatro cuestiones:
- Que antes de la formación del patrón exista una tendencia bajista.
- Que aparezca una vela pequeña con un cierre menor que su apertura.
- Que seguidamente aparezca una vela grande con un cierre mayor que su apertura.
- Que ésta última vela tenga un cierre mayor que la apertura previa y una apertura menor que el cierre previo.
El primer problema con el que nos encontrarmos es ¿Cómo identificar si estamos en tendencia bajista o alcista de un modo objetivo? Esta pregunta supone un importante dilema, ya que dicha detección depende de diversos factores.
Como no nos queda más remedio que elegir un método concreto, nos vamos a decantar por usar un indicador que nos sirva de referencia para identificar la dirección de los precios. En concreto, vamos a usar el indicador de Visual Chart Regression Line Slope. Este indicador es menor que cero cuando detecta una pendiente negativa, así que ésta será mi señal para especificar que venimos de tendencia bajista:
Como ven, he añadido el indicador a la lista de indicadores y luego lo he usado como la primera condición de entrada.
El siguiente punto será detectar la primera vela bajista.
Como el momento donde queremos detectar el patrón es cuando aparezca la segunda vela, la primera vela bajista deberá ser la vela justamente anterior a la actual, esto es, la barra 1. Por tanto, la regla para ver si dicha vela es bajista sería la siguiente:
Una de las reglas para ésta vela es que debe tener un tamaño pequeño. ¿Qué criterio podemos seguir para indicar esto? Podríamos añadir un parámetro que marcase el tamaño mínimo exigido, si bien el tamaño de las velas va variando a lo largo del histórico, de modo que una cantidad x puede ser pequeña durante un intervalo de tiempo y deje de serlo en un intervalo diferente.
Para hacer frente a esta idea vamos a optar por la siguiente solución: Calcularemos el tamaño medio de las últimas 10 velas. Una vez tengamos esto, si el tamaño de la vela a estudiar es inferior a un 50% del tamaño medio, consideramos que la vela tiene un tamaño pequeño:
El rombo azul es un bucle Desde.Hasta con el que nos recorremos las 10 últimas velas. Sumo los tamaños, obtengo la media y luego aplico la condición.
Ya tenemos definidas por tanto las dos primeras reglas del patrón. Nos queda identificar las reglas asociadas a la vela actual. Lo primero que debe cumplirse es que dicha vela tenga un cierre superior a su apertura:
Para la regla del tamaño, podemos optar por seguir el mismo criterior que antes pero en el sentido opuesto. Esto es, que el tamaño de la vela sea superior a un 50% del tamaño medio:
Y por último, comprobar que la vela envuelve a la vela bajista anterior:
Establecidas todas las reglas que debe cumplir el patrón, enviaremos una orden de entrada en stop a x puntos del cierre, para confirmar que seguidamente el precio avanza en dirección a la señal:
El sistema terminaría añadiéndole las correspondientes órdenes de salida por objetivo y stop de pérdidas.
Uso la función GetMarketPosition para saber si tenemos posiciones abiertas o no.
Con esto tendríamos finalizado el sistema.
Resultado Final
Para ilustrar el resultado de éste sistema, veamos cómo actuaría aplicado al gráfico diario de FCC.
Cabe destacar que la vela alcista del patrón podría considerarse que no es excesivamente grande. Si bien, comparada con el cuerpo de las últimas 10 velas que tomamos como referencia, sí que lo es.
En éste gráfico (Septiembre de 2005 de SANTANDER), el sistema compra a 5,122 € tras haber detectado un patrón Engulfing. La señal es válida y el negocio cierra con beneficios. Si observamos, el 22 de Septiembre podríamos considerar que aparece otro patrón Engulfing y sin embargo el sistema no lo detecta. ¿Por qué? Porque la vela bajista del patrón es demasiado grande, y recordemos que el sistema es estricto en cuanto a las reglas del patrón.
Veamos otro ejemplo para aclarar que el patrón no es infalible:
Aquí (Marzo de 2006 de SANTANDER), también aparece un patrón Engulfing pero en este caso el precio no progresa, terminando por cerrar el negocio con pérdidas. En un último ejemplo en SABADELL, vemos cómo el uso de la entrada en stop nos permite evitar señales falsas como consecuencia de que el precio no confirma el cambio de dirección:
Conclusiones
Como hemos recalcado durante el artículo, la detección de patrones de velas mediante sistemas automáticos implica que deben cumplirse una serie de cánones establecidos previamente, mientras que si realizamos la detección manualmente, tenderemos a ser mucho más flexibles en cuanto a los criterios que deben cumplirse.
Obviamente, en la medida en la que nuestro algoritmo de búsqueda sea más complejo, conseguiremos que el intervalo de confianza del mismo sea mejor. Por último, cabe destacar que aunque en el ejemplo que hemos presentado desarrollamos una estrategia basada en un único patrón, lo normal no es realizar el estudio de patrones de forma individual, sino de manera conjunta, si bien con ésto lo que hemos pretendido es dar una muestra de cómo trasladar el estudio de patrones a métodos de operativa mediante estrategias automáticas.
Oscar Cuevas, desarrollador de estrategias e indicadores en Visual Chart Group