¿Qué es la correlación y para qué sirve?

Las dos métricas más importantes, aparte de la rentabilidad, que la mayoría de gestores de fondos tienen como objetivo son la volatilidad y el drawdown del portfolio.

Una forma de reducir la volatilidad y el drawdown de un sistema sin sacrificar en exceso el CAR es operar productos que no estén correlacionados. Si quieres aprender o ampliar tu conocimiento sobre la que es la correlación entre activos y cómo usarla para mejorar tus rendimientos estás en el lugar adecuado.  

¿ Qué es la correlación ?

La correlación es cualquier relación estadística, causal o no, entre dos variables aleatorias. Un ejemplo de correlación en bolsa sería la relación entre los retornos diarios de Santander con los retornos diarios de Repsol.


Una forma de ver que es la correlación de forma visual es mediante el juego de la cuerda. El equipo azul vemos que tira hacia la izquierda y los rojos hacia la derecha:

  • Los miembros de un equipo tienen una correlación positiva ya que tiran hacia el mismo lado
  • Los miembros de los diferentes equipos tienen una correlación negativa ya que tiran en direcciones opuestas.
Correlacion - Descripción gráfica

Como veremos más adelante, pero debido a la importancia del concepto, quiero recalcar que correlación no implica causalidad.

Coeficiente de Correlación

Habiendo recalcado lo anterior, no existe una única forma de medir la correlación entre variables y por eso, como sucede con los indicadores técnicos, existen varios coeficientes de correlación. 

El más utilizado es el de Pearson. Aunque también es interesante analizar la de Spearman. 

Coeficiente de correlación de Pearson

Es la covarianza entre dos activos normalizada con el producto de la desviación estándar de los mismos activos. Es decir, mide la relación lineal entre dos variables.

Estas variables han de ser continuas, pero no nos tenemos que preocupar ya que el precio de las acciones es una variable continua.

Ya se que en realidad es discreta ya que no disponemos del tiempo en cada instante, pero se puede asumir continua. 

Coeficiente de correlación de Spearman

Este coeficiente indica cómo de bien se ajustan dos variables a una función monotónica, es decir a una función que se mueve en un único sentido. ¿Sigue sonando a chino ? 

En esta gráfica están representados los retornos diarios entre 1999 y el 2000 del S & P 500 (SPY) y del sector tecnológico (XLK). Si trazamos una línea (regresión cuadrática) por medio vemos que sigue una única dirección, es decir es monotónica. 

Retornos SPY vs XLK

¿Y cómo funciona ? Hace un ranking para cada una de las dos variables, algo similar a lo que se hace con el método de inercia alcista, pero por partida doble. 

Luego aplica la Correlación de Pearson sobre los ránkings. No voy a entrar en la fórmula ya que no es el propósito de este post. Si quieres conocer más sobre este tema la página en inglés de wikipedia proporciona suficiente información sobre cómo se calcula el Coeficiente de Correlación de Spearman

¿Para qué sirve la correlación?

Y después del tostón con conceptos abstractos, te estarás preguntado… y esto de la correlación entre variables para qué sirve, para qué se usa ?

La correlación tiene varias usos prácticos en el mundo de la bolsa

Definir las variables relevantes en un sistema

A la hora de estudiar los parámetros de un sistema (indicador RSI, MACD, ATR) tenemos que usar aquellos que sean independientes del resto ya que de otra forma sólo estamos añadiendo una variable que no aporta nada al sistema ya que está correlacionada con otra. 

Seleccionar los activos de una cartera

Se suele decir que el oro es un buen activo dentro de una cartera pero un valor pésimo por si solo. La razón? La razón por la que el oro, o los bonos, son buenos diversificadores de cartera es porque tienen un bajo coeficiente de correlación con el mercado. 

Esta descorrelación va a disminuir el drawdown máximo de nuestra cartera ya que es probable que cuando uno de los activos esté bajando el otro baje menos o incluso suba. 

Hacer arbitraje

Cuando dos activos están correlados y a su vez presentan cointegración, por ejemplo Visa y Mastercard, el Russell 2000 y el S&P 500 podemos tradear el spread. 

Correlacion SPY - XLK 2010 - 2020

Correlación de 0.91829, por lo que sistemas que operen estos activos tendrán más dificultad para reducir el Drawdown total. Hay soluciones como operar sistemas de regresión a la media con tendenciales. Sistemas que operen tanto largos como cortos, etc.  

Correlacion SPY - TLT 2010 - 2020

En el caso del SPY con los bonos (TLT) se observa una correlación negativa, en la matriz de correlación del final del artículo puedes ver el valor actual de dicha correlación.

Correlacion SPY - GBPUSD 2010 - 2020

Correlación 0.095 entre el par libra dólar y el S & P 500, por lo que es más probable que si incluimos un sistema de trading con esperanza matemática positiva en ambos activos el sistema resultante (nuestra cartera) presente unas métricas mejores. 

¿Cómo crear una matriz de correlación con Python?

Aunque esto irá en el Curso de Python para finanzas que estoy haciendo en Youtube os adjunto el Script para descargar los tickers de Yahoo Finance (Tiingo también está disponible). 

Matriz de correlacion de Pearson para Indices Americanos
Matriz de correlacion de Spearman para Indices Americanos
'''


Hecho por Miguel Angel Gisbert
miguelangelgisbert.xyz

'''
from pandas_datareader import data as web
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns

tikers = ['SPY','QQQ','XLK','XLV','XLY',
            'XLI','XLB','XLE','XLF','XLP',
            'XLU','TLT','GC=F','EURUSD=X',
            'EURGBP=X','GBPUSD=X']
			
data = web.get_data_yahoo(tikers,'01/01/2010','01/01/2020',interval='d')

# Sacamos el Adjusted Close del data frame 
close = data['Adj Close']


# Calculamos los retornos en porcentaje

returns = close.pct_change()

# Correlación de Pearson
plt.figure(figsize=(15,15),dpi = 300)
correlation_mat = returns.corr()
plt.title('Correlación de Pearson')
sns.set(font_scale=2)
sns.heatmap(correlation_mat, annot = False,vmin=-1, vmax=1,cmap='bwr')
plt.show()

# Correlación de Spearman
plt.figure(figsize=(15,15),dpi = 300)
correlation_mat = returns.corr(method = 'spearman')
plt.title('Correlación de Spearman')
sns.heatmap(correlation_mat, annot = False,vmin=-1, vmax=1,cmap='bwr')
sns.set(font_scale=2)
plt.show()

Entradas Relacionadas

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *