Quiero simular un movimiento browniano geométrico y suponemos que la volatilidad de la acción puede tomar sólo dos valores $\sigma_1=0.2$ y $\sigma_2=0.8$ . También suponemos que los saltos desde la volatilidad más baja $\sigma_1$ a una mayor volatilidad $\sigma_2$ ocurren como un proceso exponencial con tasa $\lambda_1=2$ . Asimismo, los saltos hacia abajo de la volatilidad $\sigma_2$ para reducir la volatilidad $\sigma_1$ ocurren como un proceso exponencial con una tasa $\lambda_2=4$ . Sé cómo simular un movimiento browniano geométrico pero no entiendo cómo simular la volatilidad. Debo comparar un número de la distribución exponencial con lo que en cada paso para decidir si voy a hacer un salto o no?
Respuestas
¿Demasiados anuncios?Además de un par de formas de intentar mejorar su código (que no haré aquí); su comprobación de saltos no funciona correctamente:
En un paso de tiempo $\Delta t$ el proceso saltará con probabilidad $\approx exp(-\lambda \Delta t) $ . Por lo tanto, es necesario comparar
if (unifrnd(0,1) > exp(-lambda * dt))
% jump occured
% flip state
else
% no jump occured
% do not flip state
endif
¿HORA DE LA VERDAD?
NB: Es posible que desee simular un vector de uniformes, y luego iterar sobre los elementos para obtener el estado $1$ o $2$ . A partir de esto, se puede componer un vector de volatilidades por paso de tiempo.
Supongo que está utilizando Matlab
o Octave
? Si es así, ¡la vectorización es el rey!
Basta con utilizar la definición de probabilidad condicional. Con $\gamma_t \in \{-1,1\}$ un indicador que devuelve 1 si $\sigma = 0.8$ y -1 en caso contrario, y $x_{1:T}$ la trayectoria del movimiento browniano en el período de tiempo $[1,T]$ tienes
$$p(x_{1:T}, \gamma_{1:T}) = p(x_{1:T} \vert \gamma_{1:T})p(\gamma_{1:T}).$$
En la práctica sólo se simula, hasta que el tiempo $T$ , alternando los tiempos de los eventos $\tau_i$ de $\text{Exp}(\lambda_1)$ y $\text{Exp}(\lambda_2)$ hasta $\tau_i > T$ . En función de estos tiempos, sólo hay que simular el GBM en función de $\gamma_t$ . Para facilitarte la vida, elige el tamaño de tu paso de tal manera que te acerques a todos los eventos $\tau_i$ al simular el GBM.