¿Nos visitas desde USA? Entra a tu página Rankia.us.
Sistemas de trading
Sistemas automáticos de trading y money management.

Estudio de la correlación: Parte I

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

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

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


¡Comenzar búsqueda!
Herramienta gestionada por Rankia S.L.
  1. #1

    David Snchz

    La verdad que el estudio de las correlaciones es una gran ayuda a la hora de abrir operaciones. ¿Crees que con un indicador de volatilidad junto a éste indicador de correlaciones se podría sacar un buen sistema?

    Un saludo!

  2. #2

    Oscar Cuevas

    en respuesta a David Snchz
    Ver mensaje de David Snchz

    Los índices de volatilidad, como puede ser el ADX (por ejemplo), suelen ser un buen aliado para confirmar señales de tendencia. Mi opinión es que de usar este tipo de instrumentos en combinación con una estrategia de correlación, sería para confirmar las operaciones de entrada, de modo que yo no supeditaría las operaciones de liquidación o cierre a los filtros de volatilidad. Obviamente depende del par de productos que utilicemos y del periodo temporal a usar, pero desde mi punto de vista, el estudio de correlación es interesante en cuanto a que se adelanta a las señales dadas por otro tipo de herramientas (como pueden ser medias u osciladores), de modo que usar una segunda herramienta para filtrar sus señales sería quitarle todo el potencial que de por sí contiene.

Autores

  • Rankia

    Portavoz oficial de la empresa editora de este sitio web Rankia

  • Alexey de la Loma

  • Mario Somada

  • Oscar Cuevas

    Ingeniero Informático dedicado durante más de diez años al diseño de estrategias e indicadores técnicos sobre distintas plataformas (Visual Chart, ProRealTime, Multicharts...).

Envía tu consulta


Este sitio web usa cookies para analizar la navegación del usuario. Política de cookies.

Cerrar