Tenía la impresión de que las simulaciones que implican un movimiento browniano geométrico no deben arrojar números negativos. Sin embargo, estaba probando la siguiente simulación de Monte Carlo en R para un GBM, donde mi precio inicial del activo es: $98.78$ , $\mu = 0.208$ , $\sigma = 0.824$ . He inicializado mi marco de datos como tal: (Sólo estoy haciendo 1000 simulaciones durante 5 años, simulando el precio cada año)
V = matrix(0, nrow = 1000, ncol = 6)
V_df = data.frame(V)
Entonces:
V[, 1] <- 98.78
A continuación, realizo las simulaciones (con $dt = 1$ ):
for (i in 1:1000) {
for (j in 1:5) {
V_df[i,j+1] <- V_df[i,j]*(mu*dt + sigma*sqrt(dt)*rnorm(1)) + V_df[i,j]
}
}
Cuando luego compruebo $V_{df}$ hay muchas entradas negativas. ¿Alguien tiene una idea de por qué esto es así?
Gracias.
1 votos
Estás usando un esquema de iteración para simular un GBM. Dado que estás tomando pasos de tiempo discretos en lugar de pasos infinitesimales, siempre existe la posibilidad de que rnorm(1) sea lo suficientemente negativo como para generar un valor negativo para el precio de tu activo. Simplemente disminuya el tamaño del paso.
1 votos
A $\sigma$ El valor de 0,824 es bastante alto, parece factible que una aproximación discretizada pueda dar números negativos. Cambiar $\mu$ a 0,05 y $\sigma$ a 0,20 para ver números más razonables.