4 votos

¿Se utiliza la matriz de covarianza o de correlación en la descomposición de Cholesky para generar muestras correlacionadas?

¿Podemos usar indistintamente la descomposición de Cholesky de la matriz de covarianza y la matriz de correlación para generar simulaciones? Si no es así, ¿en qué situaciones usamos uno u otro y por qué? Gracias de antemano.

0 votos

El enfoque habitual es descomponer la matriz de correlación. Ver por ejemplo aquí sitmo.com/article/generating-correlated-random-numbers Dada la relación entre correlación y covarianza $\rho_{XY}=\frac{cov(X,Y)}{\sigma_X \sigma_Y}$ siempre se puede convertir una matriz de covarianza en una de correlación.

3voto

eduffy Puntos 17061

Puedes usar cualquiera, ya que ambos son necesariamente simétricos definidos positivos; la covarianza es una preferencia personal. Realmente es solo una cuestión de escalado, ya que $\mathcal{N}(0,\Sigma)$ se distribuye como $\sqrt{\Sigma} \mathcal{N}(0,1) $.

La correlación requeriría escalado adicional (es decir, la multiplicación de cada elemento $\mathcal{N}(0,\rho)$ por su respectiva volatilidad, y por lo tanto requiere más operaciones).

Glasserman (p. 72-74) también utiliza la matriz de covarianza para su introducción a la factorización de Cholesky, por lo que sospecho que no es inusual, sin embargo también he visto correlación (por ejemplo en el caso de @Probilitator).

0 votos

Sí, idealmente, deberíamos ser capaces de utilizar cualquiera de esos para generar las muestras aleatorias. Pero ¿hay alguna implicación práctica? Al discutir el mismo tema con alguien que trabaja como consultor de riesgo de mercado, me dijo que algunas implementaciones solo calculan la matriz de correlación una vez al mes y calculan la matriz de covarianza diaria basada en las varianzas diarias y la matriz de correlación. Supongo que este enfoque ahorraría algo de tiempo de cálculo, pero ¿es este un enfoque correcto?

3voto

Paul Solecki Puntos 11

Creo que Cholesky en la matriz de correlación es mejor porque hace que el código se aplique de manera más general en caso de que no tengamos rango completo.

Por ejemplo, supongamos que queremos simular tres normales correlacionadas con una matriz de covarianza [[a^2,0,0], [0,b^2,0], [0,0,c^2]]

es decir, las variables no están correlacionadas y tienen volatilidades a, b y c. Debido a que esto es definido positivo, podemos hacer Cholesky sin problema, con resultado también [[a,0,0], [0,b,0], [0,0,c]]

Sin embargo, si obtenemos nuevos datos que nos dicen que b = c = 0, la descomposición de Cholesky fallará debido a que no es definida positiva. Por lo tanto, necesitaríamos modificar nuestro código para manejar este caso.

Si en cambio hubiéramos codificado en términos de una matriz [diagonal] S de volatilidades y una matriz de correlación K, haríamos Cholesky en K (para obtener la matriz A por ejemplo) y funcionaría bien incluso en casos de volatilidad cero. La matriz de covarianza estaría dada por (SA)^2.

La razón subyacente es que una matriz de correlación es definida positiva siempre que lo sea la matriz de covarianza, pero lo contrario no es cierto.

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