4 votos

Problemas de condiciones de contorno para la EDP de Black-Scholes utilizando diferencias finitas

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.

4voto

Jesper Tidblom Puntos 131

Muy bien, he resuelto mis problemas aquí. Como puede ser útil para otros atascados en lo mismo, lo menciono aquí. El problema que describí acerca de asumir que el término de segundo orden era igual a cero es real, pero como he mencionado, el problema desaparece si el límite superior de la rejilla es enorme.

Mi solución fue no utilizar una cuadrícula uniforme, sino crear una cuadrícula uniforme en algún intervalo $[-C,C]$ para un tamaño lo suficientemente grande $C$ , digamos que $C=15$ . Obtenemos puntos de la cuadrícula $x_i = -C + dx \cdot i, \quad i= 0, 1,2, \ldots$ pour $dx = 2C/ (\textrm{number of spatial steps})$ .
Luego creo los puntos de la cuadrícula en la variable de activos como $S_i = e^{x_i}$ para cada punto de la cuadrícula $x_i$ en la cuadrícula uniforme. De este modo, se puede llegar al punto final en el camino de la malla superior (donde el término de segundo orden es despreciable) sin utilizar demasiados pasos en la dirección espacial.

Por supuesto, no se trata de un nuevo truco de magia, sino que imita cómo se transformaría la cuadrícula tras realizar un cambio de variable al espacio logarítmico $x = log(S)$ que es una de las formas más comunes de transformar la ecuación de Black-Scholes antes de hacer cualquier cálculo numérico. Sin embargo, quería ver si podía hacer todo en la formulación original sin usar esta transformación. Así que resultó bien, después de usar la rejilla "exponencial" descrita. El problema se debió a que utilicé una malla uniforme.

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