7 votos

Cómo simular un salto proceso de difusión?

Me gustaría que el precio de los Asiáticos y de opciones Digitales bajo Merton salto-modelo de difusión. A tal fin, voy a tener que simular de un salto proceso de difusión.

En general, el precio de las acciones del proceso está dada por $$S(t) = S(0)e^{(r-q-\omega t+X(t)},$$ donde $\omega$ es la deriva del término que hace el descuento del precio de las acciones en el proceso de una martingala y donde $X(t) = \sigma W(t)+\sum_{i=1}^{N(t)} Y_i$ es un salto proceso de difusión. El proceso $N(t)$ es un proceso de Poisson con intensidad $\lambda$ y el salto de los tamaños de $Y_i$ son iid Normalmente distribuida $Y_i \sim N(\mu \delta^2)$.

Así, la cuestión aquí es la simulación de $X(t)$. Me gustaría simular $X(t)$ de la siguiente manera: en primer lugar, puedo construir una red $[0,T]$ con cuadrícula de tamaño de paso de $\Delta t = 1/252$ (número de días de negociación en un año). Ahora quiero calcular $X$ en esta cuadrícula paso a paso. Por lo tanto: $$X_{n\Delta t} = X_{(n-1) \Delta t}+\sigma \sqrt{\Delta t} \epsilon_n + p_n,$$ donde $\epsilon_n$ son aleatoria normal estándar variables (fácil simular en Matlab) y donde $p_n$ está Compuesto de Poisson variables aleatorias independientes de $\epsilon_n$. La pregunta es, cómo simular a partir de estos $p_n$?

Yo estaba pensando en escribir un compuesto de Poisson generador de mí mismo:

function [p] = CPoissonGenerator(mu,delta,lambda,dt,rows,columns)
   N = poissrnd((1/lambda)*dt,rows,columns);
   Y = normrnd(mu,delta,1,N);
   cP = cumsum([0,Y]);
   p = cP(end);
end

Sin embargo, no sé cómo generar una matriz de variables aleatorias de Poisson sin utilizar un bucle en el código anterior? Esto puede consumir mucho tiempo. Además, no estoy seguro de si el programa es correcto. Hay una manera mejor de hacer esto?

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