4 votos

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

¿Podemos intercambiar el uso de 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 utilizamos 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 puedes convertir una matriz de covarianza en una de correlación.

3voto

eduffy Puntos 17061

Puedes usar cualquiera, ya que ambos necesariamente son definidos positivos simétricos; la covarianza es una preferencia personal. Realmente es solo una cuestión de escala, ya que $\mathcal{N}(0,\Sigma)$ es distributivamente $\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, así que sospecho que no es inusual, sin embargo también he visto correlación (por ejemplo, el ejemplo de @Probilitator).

0 votos

Sí, idealmente, deberíamos poder usar 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 riesgos 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 un enfoque correcto?

3voto

Paul Solecki Puntos 11

Creo que Cholesky en una 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, variables no correlacionadas con volatilidades a, b y c. Debido a que eso es definido positivo, podemos hacer Cholesky sin problemas, con un resultado también [[a,0,0], [0,b,0], [0,0,c]]

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

Si, en cambio, hubiéramos hecho nuestra codificación en términos de una matriz [diagonal] S de volatilidades y una matriz de correlación K, realizaríamos Cholesky en K (para obtener una matriz A por ejemplo) y funcionaría correctamente incluso en casos de volatilidad cero. La matriz de covarianza es entonces (SA)^2.

La razón subyacente es que una matriz de correlación es definida positiva siempre que la matriz de covarianza lo sea, 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