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 $g_t = E[G(X_T)|X_t]$ para $t\leq T$.
Me gustaría simular el proceso de $g_t$, 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 $g_t$ en función de $X$ y $t$, simular $X_t$ y calcular $g_t$ (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 $g_t$ golpea a una determinada barrera de $b$, así que para hacer lo que yo necesito para simular la trayectoria total de $g_t$. Es fácil simular $X_t$ para cualquier tiempo t, pero, a continuación, para obtener $g_t|X_t$ 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?