He estado aplicando un, en mi opinión, interesante método de diferencias finitas (Runge-Kutta-Legendre de segundo orden) para valorar opciones americanas en el modelo estándar de Black-Scholes (véase "Pricing American Options with the Runge-Kutta-Legendre Finite Difference Scheme, F. Le Floc'h, International Journal of Theoretical and Applied Finance, vol 24, 2021"). Se trata de un método explícito que utiliza el llamado super time-stepping.
Pero mi pregunta no está relacionada directamente con el método en sí, sino con la elección de las condiciones de contorno para la malla de diferencias finitas en la dirección espacial. Muchos autores recomiendan suponer que la segunda derivada es cero en la frontera, $\frac{\partial^2 f}{\partial S^2}(t,S_{min}) = \frac{\partial^2 f}{\partial S^2}(t,S_{max}) = 0$ .
Sin embargo, esto parece conducir a grandes errores en varios casos, incluso si el límite superior $S=S_{max}$ se elige muy grande. La motivación dada en artículos y libros parece ser que esta condición es cierta para la mayoría de los pagos.
Aunque estoy de acuerdo en que esto es razonable en la madurez, la condición no parece muy apropiada cuando se retrocede en el tiempo en la malla de diferencias finitas (A menos que haya cometido algún error trivial, por supuesto, que es ciertamente posible).
Para concretar un poco más, veamos la ecuación de Black-Scholes (invertida en el tiempo): \begin{equation} \frac{\partial f}{\partial t} =\frac{1}{2} \sigma^2 S^2\frac{\partial^2f}{\partial S^2} + \mu S\frac{\partial f}{\partial S} - rf \end{equation} Aquí $r$ es la tasa libre de riesgo, $\mu = r - \delta$ , donde $\delta$ es la rentabilidad continua de los dividendos y $\sigma$ es la volatilidad.
Centrémonos en el límite superior. Supongamos que intentamos valorar una opción de venta europea estándar con vencimiento en $5$ años, con huelga $K=100$ donde nuestro límite espacial superior en la malla es $S_{max} = 500$ . Para S = S_max, tenemos entonces \begin{equation} \frac{\partial f}{\partial t}(t,S_{max}) = \mu S\frac{\partial f}{\partial S}(t,S_{max}) - rf \end{equation} Para aclarar esto, supongamos que $r=\mu=0$ . Entonces nuestra condición en el límite superior se convierte en \begin{equation} \frac{\partial f}{\partial t}(t,S_{max}) = 0, \quad \forall t \end{equation} Tenemos que \begin{equation} f(0, S_{max}) = max(K - S_{max}, 0) = 0. \end{equation} Todo esto significa que tendremos $f(t, S_{max}) = 0$ para todo t. El valor se estanca en 0. Esto da lugar a grandes errores, especialmente para los vencimientos más largos y las volatilidades más altas. De hecho, podemos ver que el término de segundo orden que supusimos que era cero está en realidad muy lejos de serlo, especialmente si lo comparamos con los otros términos de la EDP de Black-Scholes (que en realidad eran cero en nuestro caso).
Más concretamente Si observamos el término de segundo orden en el momento en que se cotiza la opción (tiempo real no invertido $t=0$ ) \begin{equation} \frac{1}{2} \sigma^2 S^2\frac{\partial^2f}{\partial S^2}, \end{equation} tenemos que esto es $\frac{1}{2} \sigma^2 S_{max}^2 \cdot \Gamma$ , donde $\Gamma$ es la gamma de la opción. Podemos calcularla explícitamente para las opciones europeas. Tenemos \begin{equation} \frac{1}{2} \sigma^2 S_{max}^2 \cdot \Gamma = \frac{\sigma \cdot S_{max}}{2 \sqrt{T}} e^{-d_1^2/2}, \end{equation} donde \begin{equation} d_1 = \frac{\log(\frac{S_{max}}{K}) + T \cdot \frac{\sigma^2}{2}}{\sigma \cdot \sqrt{T}} \end{equation} Esto no se acerca a cero a menos que $S_{max}$ es extremadamente grande, por lo que ignorar este término suele dar lugar a un error considerable, si es que no me he equivocado.
Así que la pregunta es si estoy haciendo algo mal en mi razonamiento aquí. Puedo ver los errores claramente en los gráficos y también la teoría parece confirmarlo. Pero dado que la condición es tan comúnmente recomendada me pregunto si podría haber pasado algo por alto aquí?
¿Hay alguna solución fácil para este problema? Una forma que he encontrado para evitarlo es hacer muchos puntos con una distancia entre ellos que crezca exponencialmente fuera del límite superior original. Pero esto hace que los cálculos tomen más tiempo también.