No es un proceso multidimensional X se define a través de su SDE (podemos suponer que se trata de una difusión tipo de proceso), y permite definir otro proceso por gt=E[G(XT)|Xt] para t≤T.
Me gustaría simular el proceso de gt, es decir, discretizar para su uso en una simulación Monte-Carlo. ¿Cuál es la mejor manera de hacerlo?
Los dos enfoques que puedo pensar es en (i) el uso de Feynman-Kac y Finito Differeces para obtener gt en función de X y t, simular Xt y calcular gt (ii) el uso de alguna forma de Longstaff-Schwarz algoritmo
Es mejor/método más sencillo?
EDIT: creo que no fui claro con mi pregunta. Estoy tratando de estimar un tiempo de parada cuando el proceso gt golpea a una determinada barrera de b, así que para hacer lo que yo necesito para simular la trayectoria total de gt. Es fácil simular Xt para cualquier tiempo t, pero, a continuación, para obtener gt|Xt necesitaría para ejecutar otro monte carlo (dentro de la monte carlo) para cada camino y cada paso de tiempo de la original de monte carlo, que es, probablemente, va a tomar mucho tiempo. Longstaff-Schwarz se utiliza el algoritmo de opciones estadounidenses precisamente por esta razón - para usar una rápida heurística en lugar de las simulaciones de monte carlo...
EDIT 2: me permite incluir algunos pseudo-código
for(int i=0; i<NoRuns; ++i)
{
X_t = initial value;
g_t = g(0, X_t); //TODO - how to calculate g_t?
t=0;
for(int j=0; j<NoSteps; ++j)
{
t+=dt;
X_t = move X_t by dt, using e.g. Euler scheme
g_t = g(t, X_t); //TODO - how to calculate g_t?
if (g_t<= barrier) report(t, X_t, g_t);
}
}
Los bits no estoy seguro de cómo implementar son las líneas:
g_t = g(0, X_t); //TODO - how to calculate g_t?