Rankia España Rankia Argentina Rankia Brasil Rankia Chile Rankia Colombia Rankia Czechia Rankia Deutschland Rankia France Rankia Indonesia Rankia Italia Rankia Magyarország Rankia México Rankia Netherlands Rankia Perú Rankia Polska Rankia Portugal Rankia Romania Rankia Türkiye Rankia United Kingdom Rankia USA
Acceder
Estudio de la correlación | Analizarla y estrategias reales

Estudio de la correlación | Analizarla y estrategias reales

Existe un enorme interés en el estudio de la correlación entre diferentes productos. A raíz de esto, vamos a 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
 

Hemos hablado del uso de indicadores de correlación a través de Visual Chart. También hemos visto 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 hemos vimos que se podían establecer una serie de reglas de trading básandonos en este estudio. Ahora 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 con oscilador beta

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:

Elegir indicador de correlación

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

Indicador de compra

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:

Indicador de venta

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:

Ejemplo de estrategia

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 final de la estrategia de correlación

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. 

 

Conclusiones y opinión final sobre el estudio de las correlaciones

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.

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.

  1. #3
    03/03/22 11:07
    De lo más completo de internet. Enhorabuena 😁
  2. en respuesta a David Snchz
    -
    #2
    20/01/14 10:24

    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.

  3. #1
    17/01/14 13:12

    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!

Definiciones de interés