Como hay muchos comentarios pero ninguna respuesta, permítanme resumir algunos de los comentarios.
¿Resolver una EDP o hacer algo de probabilidad?
Normalmente, cuando se quiere resolver la SDE se obtiene una distribución para $X$ . Sin embargo, en el mundo real suele ser más útil conocer algunas de las propiedades de esta distribución, como su valor esperado $\mathbb{E}(X)$ o más generalmente $\mathbb{E}(f(X))$ . Sabemos por el teorema de Feynman-Kac que la resolución de esta expectativa (posiblemente una expectativa condicional) también corresponde a la resolución de una EDP. Entonces, depende de ti decidir qué es más fácil, ¿resolver una EDP con unas condiciones de contorno complicadas, o encontrar una expectativa con unos extraños enunciados condicionales? Cada uno tiene sus propias ventajas y desventajas, pero la mayor parte se reduce a dimensionalidad .
Los PDEs pueden volverse muy desagradables muy rápidamente
Si sólo tenemos un movimiento browniano impulsor y estamos resolviendo una variable aleatoria escalar, es probable que sea mejor formular el problema en su forma de EDP (cuando sea posible), ya que resolver las EDP en 2 dimensiones es un trabajo bastante fácil para la mayoría de los ordenadores. Por lo tanto, a menos que tenga algunas condiciones de contorno muy desagradables, esta será probablemente su mejor opción. Sin embargo, en las aplicaciones del mundo real existen muchas condiciones de contorno desagradables, piense en las opciones de barrera, las opciones asiáticas, etc., y éstas empiezan a corresponder a problemas de valor de contorno en movimiento y cosas peores.
Cuando las dimensiones son muy grandes
Una desventaja muy simple de un solucionador de EDP, es que en última instancia, es probable que se reduzca a la producción de algún tipo de rejilla o celosía, y luego utilizar la diferencia finita o algo similar. Normalmente no se pueden resolver las EDP en toda la $\mathbb{R}^d$ y así consideras algún volumen y pones puntos equidistantes en cada dimensión. Incluso con unos modestos 2 puntos en cada dimensión, si tiene que resolver una SDE de 50 dimensiones (lo que no es infrecuente en algunas opciones de cestas o si quiere modelar un índice o un conjunto de cambios de divisas), entonces necesitará una cuadrícula de $2^{50} \approx 10^{15}$ puntos, lo que supone un petaflop de datos.
Sin embargo, al plantear esto como un problema de Monte Carlo utilizando $N$ números aleatorios entonces el error escala como $N^{-1/2}$ que no depende de la dimensión del problema y, por tanto, es probablemente la única forma factible de resolver problemas de alta dimensión.
Las condiciones de contorno son ahora fáciles (más fáciles)
Por supuesto, si has escrito un solucionador de Monte Carlo y un solucionador de PDE, está bastante claro que el primero suele ser más fácil. Ahora implementando cualquier función exótica $f$ es bastante trivial, y esto es cierto para la mayoría de los tipos de opciones exóticas. Ahora hay algunas sutilezas nuevas sobre la introducción de sesgos a partir de varios estimadores y esquemas, pero suelen ser para las cosas más avanzadas.
Cálculo de griegas
También hay que decir que hay algunas formas sencillas (y complicadas) de calcular las derivadas (también conocidas como griegas) de estas expectativas con respecto a los parámetros de la EDS. En Monte Carlo se puede utilizar el mismo esquema para simplemente hacer que la simulación nos dé una derivada, utilizar métodos de relación de verosimilitud o de sensibilidad a la trayectoria, o se pueden utilizar métodos más complicados como la diferenciación algorítmica. Algunos de ellos te dan algunas griegas (casi) gratis. Sin embargo, por lo que sé, si quieres hacer lo mismo utilizando el enfoque Fokker-Planck, tienes que empezar a resolver una EDP mucho más complicada.
Precisión
Si la dimensionalidad es pequeña, es probable que las EDP te den la respuesta más precisa lo más rápido posible, y posiblemente la única vía para obtener una respuesta muy precisa si la necesitas (sin tener que alquilar un súper clúster de ordenadores). Sin embargo, como se señala en los comentarios de Quantuple, si se tiene un buen conocimiento del problema se pueden obtener respuestas muy precisas con algunas técnicas de reducción de la varianza, y reducir el tiempo de cálculo con cosas como QMC o MLMC, etc.
¿Tienes que codificarla?
Si tienes que codificarlo, sin duda será mucho más fácil implementar un simple esquema de Euler-Maruyama como parte de un programa de Monte Carlo. Por supuesto, hay excepciones, pero creo que hay más escollos y dificultades en la resolución de las EDP que en la producción de una tonelada de números aleatorios.
Resumen
Si las dimensiones son pequeñas, la SDE no es demasiado desagradable (piense en autónoma y Lipschitz), y no está interesado en nada demasiado complicado que tenga que ver con $p(x,t)$ entonces tal vez se vaya por la ruta Fokker-Planck. De lo contrario, es probable que Monte Carlo sea una apuesta segura.
Descargo de responsabilidad Trabajo mucho con esquemas de Monte Carlo y menos con solucionadores de EDP, así que por favor siéntanse libres de añadir cualquier cosa que haya omitido/olvidado.
2 votos
La precisión - especialmente en las colas (eventos de 4+ sigma) y la velocidad si se puede evaluar utilizando funciones características de forma cerrada (las expansiones de fourier-coseno son mi técnica de elección aquí). Si desea utilizar la ecuación FP para ayudar a estimar las expectativas condicionales de un proceso bivariado como el que se encuentra en un modelo estocástico de vol local, supera los enfoques de Monte Carlo sin lugar a dudas en mi opinión. Descarte todo lo anterior si su función característica no es de forma cerrada o muy aproximada a ella.
3 votos
Yo añadiría que los métodos de diferencias finitas realmente luchan con esta condición inicial siendo una función de Dirac. Esta es una ventaja de los métodos de MC y Fourier, aunque los métodos de MC se degradan rápidamente a medida que se aleja el horizonte temporal (cuando las 10.000 trayectorias comienzan a dispersarse...)
2 votos
Muy buenos los puntos mencionados por James Spencer-Lavan (aunque yo diría que, dependiendo del tiempo que estés dispuesto a dedicar a las técnicas de reducción de la varianza, MC puede ser bastante acertado). Sin embargo, uno de los mayores problemas de la FD es que no se adapta bien a dimensiones elevadas (N>2 factores estocásticos), mientras que Monte Carlo sí lo hace. Asimismo, las distribuciones de capital en fechas discretas deben tenerse en cuenta mediante condiciones de no salto en los nodos de la red, mientras que en Montecarlo se manejan de forma más natural. Así que supongo que depende del caso de uso.
1 votos
Un truco útil: si ya has implementado las diferencias finitas para el hacia atrás Kolmogorov, basta con sustituir las matrices tridiagonales por su transposición para obtener un esquema de diferencias finitas para la adelante Ecuación de Kolmogorov, sin necesidad de programación adicional.
0 votos
Gracias por sus comentarios. Así que, por ahora, considero la precisión y posiblemente la velocidad como una ventaja de la PF, y la maldición de la dimensionalidad como la desventaja habitual. Siéntase libre de añadir más pensamientos, lo haré si encuentro algunos ;-)
0 votos
@AntoineConze: ¿tienes alguna referencia de eso? Sé que la ecuación hacia adelante y hacia atrás son adyacentes entre sí teóricamente, pero no sabía que uno puede explotar eso en los números.
0 votos
@davidhigh: intuitivamente puede verse como una consecuencia de que las ecuaciones hacia adelante y hacia atrás son adyacentes entre sí, o alternativamente como una consecuencia de que el esquema de diferencias finitas para la ecuación hacia atrás es una cadena de markov discreta para la cual la ecuación hacia adelante discreta se resuelve utilizando la transposición de la matriz de probabilidades de transición. ljll.math.upmc.fr/pironneau/publi/publications/kolmogorov.pdf
0 votos
@AntoineConze: aquí es también una presentación de Mike Giles que afirma lo mismo. Todavía tengo algunas dificultades para entender -- las suposiciones para que funcione así son imo (i) la desaparición en los límites para realizar la integración parcial y (ii) una representación numérica exacta de los conceptos teóricos que no daría por sentado. Sólo tengo la sensación de que obtengo algo diferente si utilizara la PF directamente (es decir, incluir todas las derivadas de los coeficientes). ¿Lo has comprobado tal vez?
0 votos
Sí, he comprobado - empíricamente - que la resolución de FP directamente con FD o la resolución de FP utilizando el adjunto del operador lineal Kolmogorov Backward FD convergen al mismo valor. También prefiero el enfoque adjunto porque se convierte en la ecuación discreta de FP asociada a la cadena de markov que resulta de la FD aplicada a la ecuación hacia atrás, por lo que la fijación de precios de las opciones hacia adelante y hacia atrás dan exactamente los mismos precios, lo que es bueno porque la fijación de precios hacia adelante se utiliza principalmente para la calibración (por ejemplo, para la sonrisa de la volatilidad de las opciones de vainilla), mientras que la fijación de precios hacia atrás se utiliza para la valoración del libro y las griegas.
0 votos
@AntoineConze: una cosa que me desconcierta: considerar una función $v_0$ se propaga hacia adelante un paso a través de $v_1 = exp(L\Delta t) v_0$ , donde $L$ es el operador lineal. Ahora, vuelve a dar un paso atrás, para lo cual, según tu receta, utilizo la transposición: $v_0 = exp(-L^T \Delta t) v_1 = exp((L-L^T) \Delta t) v_0$ (el último paso sólo es válido si $L$ y $L^T$ conmutan, lo que hacen si $L$ es diagonalizable). Para obtener $v_0$ de nuevo del paso atrás, $L$ tiene que ser sesgado-simétrico, de lo contrario tomar un paso hacia adelante y otro hacia atrás produce resultados diferentes. Pero $L$ no es un símbolo sesgado en general.
0 votos
@AntoineConze: entonces, al dar un paso adelante y otro atrás se obtiene la función original sólo cuando $L$ es simétrica, lo que no se cumple en general. ¿Dónde está el error? ¿Esperaría que la ecuación hacia adelante y hacia atrás fueran intercambiables?
0 votos
Con un paso atrás estás computando una expectativa $v_k = E_k[v_{k+1}]$ . Con un paso adelante se está calculando una distribución $p_{k+1} = \text{Prob}_{k+1}|_{p_k}$ . Supongamos ahora (con sus anotaciones) $p_{k+1} = e^{L\Delta t}p_k$ y establecer $v_k=e^{L^T\Delta t}v_{k+1}$ . Entonces $p_{k+1} . v_{k+1}=(e^{L\Delta t}p_k) . v_{k+1}=p_k.(e^{L^T\Delta t}v_{k+1})=p_k . v_k$ . Así, el cálculo $E_0[v_T]$ utilizando el algoritmo hacia atrás o hacia delante dará el mismo valor.
0 votos
@AntoineConze: Gracias. Sí, se trata de la condición adjoint, que ya conocía (por ejemplo, por su artículo). La pregunta era más bien si también es posible una inversión temporal "real". Por ejemplo, en el caso de las matrices simétricas, la matriz exponencial utilizada para la evolución temporal se convierte en una matriz ortogonal que, al retroceder en el tiempo, simplemente se invierte. En efecto, esto produce exactamente la función original. Me pregunto si esto también se puede conseguir aquí.