12 votos

¿Son correctos estos pasos para calcular el Valor en Riesgo con una simulación de Monte Carlo?

Tengo un problema para calcular el VaR con la simulación de Monte Carlo.

Seguí los siguientes pasos y me gustaría saber si es una forma correcta de calcular el VaR o si necesito algo más.

Los pasos

  1. Generar números aleatorios

  2. Definir la Matriz de Correlación

  3. Definir las volatilidades, la deriva y los pesos

  4. Realizar una descomposición Cholesky de la matriz de correlación

  5. Multiplicar los números aleatorios por la matriz de Cholesky

  6. Multiplicar el resultado de la etapa 5 por la volatilidad y la deriva

  7. Tome el exponente de los resultados del paso 6

  8. Tome los registros de los resultados del paso 7

  9. Crear los rendimientos ponderados de la cartera

  10. Calcular el VaR (usar la función de percentil en el intervalo de confianza correcto)

  11. Calcula los volátiles de tus números aleatorios

  12. Comprobación cruzada con el VaR analítico

3 votos

13 hornear a tope durante 50 minutos o hasta que se le acabe la paciencia.

0 votos

El primer paso es "generar números aleatorios" y después calcular las correlaciones. Pero en realidad se necesitan las correlaciones para generar los números aleatorios... entonces, ¿qué es lo primero?

2voto

scottishwildcat Puntos 146

En cuanto a la rentabilidad ponderada de la cartera. Si tiene ponderaciones $w_i$ y los rendimientos individuales $r_i$ de sus activos, entonces sólo es cierto que el rendimiento de la cartera $r$ viene dado por el producto escalar $$ r = \sum_{i=1}^n w_i r_i $$ si $r_i$ es el retorno aritmético/simple habitual (no logreturn).

Con ello me refiero a la simple devolución $$ r = P_{t+1}/P_t - 1 $$ a diferencia del log-returm $$ R = \ln(P_{t+1}/P_t) = \ln P_{t+1} - \ln P_{t+1}. $$ Pasar de una a otra es tan fácil como $$ R = \ln(1+r) $$ y $$ r = \exp(R)-1. $$ Las rentabilidades logarítmicas son buenas para la elaboración de modelos estadísticos, ya que oscilan entre $-\infty$ a $\infty$ y ahí es donde viven las distribuciones útiles. Para una cartera debe utilizar el retorno geométrico.

Lo que puedes hacer:

  1. generó rendimientos logarítmicos aleatorios para cada activo, convirtiéndolos en rendimientos de somple.
  2. agregado a los rendimientos simples de la cartera
  3. convertir los rendimientos de la cartera en rendimientos logarítmicos
  4. calcular un cuantil.

Para más información sobre las devoluciones, puede consultar aquí y aquí .

1voto

Puedo compartir cómo una aplicación de precios (por ejemplo: QuantLib) calcula el VaR con Monte-Carlo.

  1. Generar un vector de números aleatorios gaussianos independientes. Una implementación típica (y sencilla) es Box-Muller. Yo prefiero el método de la transformada inversa, y creo que también es el que viene por defecto en QuantLib.

  2. Ahora, necesitaremos generar rendimientos correlacionados. Necesitaremos una matriz de correlación. Descomponemos la matriz por Cholesky o por Descomposición de Valor Singular. SVD es una versión estable pero más lenta. Personalmente, he utilizado ambas y las he encontrado satisfactorias.

  3. Utilice los rendimientos corregidos para aplicar un esquema de simulación. Es decir, sustituir los números aleatorios correlacionados en los términos de difusión. Normalmente, utilizamos el esquema de Eurler, pero también se puede utilizar el esquema de Milstein. El esquema de Eurler aproxima hasta los segundos órdenes.

  4. Utiliza el esquema para generar una lista de trayectorias de simulación independientes. Ponga un precio a cada trayectoria en el momento de su vencimiento.

  5. Ahora deberías tener una lista de pagos, uno por cada camino. Descuéntalos y calcula el cuartil. Este será tu VaR.

Cuando informe de su VaR, siempre tendrá que incluir su nivel de significación y su horizonte temporal. La estimación por sí sola no tiene sentido.

0voto

Oliver G Puntos 172

No has sido muy preciso en la explicación de tus pasos, sin embargo recuerda que "número aleatorio" es una expresión bastante genérica ya que el método que describes se puede aplicar a una clase restringida de distribuciones ( entre ellas la normal y la t ). Teniendo en cuenta que no estoy seguro de tu metodología mi consejo es que sigas un enfoque más clásico, por lo tanto define la distribución de tus factores de riesgo y genéralos ( apriori cualquier distribución está bien) . Una vez que tengas una muestra puedes calcular las pérdidas del factor de riesgo haciendo explícita la relación L=V(t+1)+V(t)=-f(t+1,Z(t+1))+f(t,Z(t))donde Z son los factores de riesgo ...Luego ordena todas las pérdidas que has simulado y toma el (q*(# simulaciones)) valor más alto para obtener el VaR(q)

0voto

Sammo034 Puntos 26

Yo diría que el Monte Carlo puede no ser necesario en su caso. Usted puede mirar a través del papel http://www.sciencedirect.com/science/article/pii/S0167715215003247

introduzca aquí la descripción del enlace

Buena suerte.

0 votos

¿Qué? Te cuento un nuevo enfoque, que es más fácil en tu caso. Es su negocio para mirar en él. ¿Por qué es inútil?

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