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:
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:
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:

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:

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:
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:

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:
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:
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:

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:
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:
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
Óscar Cuevas
¿Quieres dar tus primeros pasos en bolsa o cambiar a un bróker que se adapte mejor a tus necesidades? Te ayudamos a encontrar el mejor bróker de acciones y derivados que mejor se adapta a ti en menos de 2 minutos. El estudio es gratuito y sin compromiso.
¡Comenzar búsqueda!
Herramienta gestionada por Rankia S.L.