4 votos

¿Proceso estocástico para modelizar la correlación?

Esta pregunta está relacionada con el Aprendizaje Automático Financiero, y más concretamente con concursos como Numerai .

En esta competición tenemos un conjunto de datos X y un objetivo y (rentabilidad en un horizonte determinado). El conjunto de datos contiene algunas características (digamos característica_0 a característica_n) y tiempo. Cada vez se dispone de valores diferentes.

Una métrica importante es la correlación entre las características y el objetivo. La correlación puede ser de Spearman o de Pearson. Podemos observar correlaciones pasadas. Me preguntaba si existe una forma estándar de modelar este tipo de correlación a lo largo del tiempo.

Las correlaciones parecen muy aleatorias, cambiando de signo con bastante frecuencia, oscilando alrededor de 0. Estaba pensando en algún proceso de reversión a la media, centrado en algún valor cercano a 0. Estaba pensando en un proceso OU con una pequeña deriva y un alto coeficiente de reversión.

Sin embargo, como son correlaciones, estarían limitadas por -1 / +1. No sé cómo hacer frente a esto. Como la correlación están oscilando alrededor de 0, estoy tentado a ignorar esta restricción. Pero podría ser mejor añadir alguna función logística en alguna parte.

¿Alguna idea de un método estándar para modelizar la correlación a lo largo del tiempo?

3voto

RealityGone Puntos 163

Probablemente necesitemos más información sobre los choques.

Pero, por ejemplo, si los choques son gaussianos, basta con definir una matriz conjunta de varianza-covarianza. Deberías aplicarlo a la matriz de covarianza y a partir de ahí calcular la matriz de correlación. Aquí tienes un ejemplo correlacionando 3 variables aleatorias normales.

Déjalo:

$$ \bf Y \sim \mathcal N(0, \Sigma) $$

donde $\textbf{Y} = (Y_1,\dots,Y_n)$ es el vector de variables aleatorias normales, y $\Sigma$ la matriz de covarianza dada.

El proceso es:

  1. Simular un vector de variables aleatorias gaussianas no correlacionadas, $\bf Z $
  2. A continuación, hallar root cuadrada de $\Sigma$ es decir, una matriz $\bf C$ tal que $\bf C \bf C^\intercal = \Sigma$ .

Entonces el vector objetivo viene dado por $$ \bf Y = \bf C \bf Z. $$

He aquí un código matlab ficticio:

N = 500000
u_1 = normrnd(zeros(N,1),1);
u_2 = normrnd(zeros(N,1),1);
u_3 = normrnd(zeros(N,1),1);
u_4 = normrnd(zeros(N,1),1);

rv = [u_1 '; u_2'; u_3'; u_4'];

VarCov = [Some positive semi-definite matrix here 4x4];

ch = chol(VarCov);
result = ch * rv;

A continuación, basta con dividir cada entrada de la matriz de resultados por el producto de las desviaciones típicas para obtener una matriz de correlaciones.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X