4 votos

El método de diferencias finitas en Matlab para SABR volatilidad modelo no puede proporcionar los valores de la opción correcta

Actualmente, estoy tratando de implementar una Diferencia Finita (FD) en el método de Matlab para mi tesis (Finanzas Cuantitativas). He implementado el FD método de Black-Scholes y ya tengo resultados correctos. Sin embargo, quiero extender a trabajar para el SABR la volatilidad del modelo. Aunque algunos datos sobre este modelo se puede encontrar en el internet, esto principalmente se refiere Hagan la fórmula aproximada para la UE de las opciones. Estoy particularmente interesado en la solución numérica (FD).

He tomado los siguientes pasos:

Sustituir los derivados en el SABR PDE con sus aproximaciones de diferencias finitas. He utilizado el llamado método implícito (https://en.wikipedia.org/wiki/Finite_difference_method#Implicit_method) para esto. Posibilidad para la variable de transformación a partir de $F$ a $x$ y $\alpha$ a $y$ se incorpora en el PDE de discretización, pero no aplica todavía (por lo tanto, $\dfrac{\partial x}{\partial F}=\dfrac{\partial y}{\parcial \alpha}=1$ y $\dfrac{\partial^2 x}{\partial F^2}=\dfrac{\partial^2 y}{\parcial \alpha^2}=0$ en las fórmulas a continuación). La sustitución de diferencia hacia adelante en el tiempo y central diferencias en las dimensiones de espacio y reescritura, me da el siguiente ecuación: $$ V_{i,j,k} = V_{i-1,j-1,k+1}[-c] + V_{i,j-1,k+1}[-d+e+g] + V_{i+1,j-1,k+1}[c] + V_{i-1,j,k+1}[-a+b+f] + V_{i,j,k+1}[2a+2d+(1-h)] + V_{i+1,j,k+1}[-a-b-f] + V_{i-1,j+1,k+1}[c] + V_{i,j+1,k+1}[-d-e-g] + V_{i+1,j+1,k+1}[-c], (1) $$ donde

$a = 0.5\sigma_x^2\dfrac{1}{dx^2}(\dfrac{\partial x}{\partial F})^2d\tau$

$b = 0.5\sigma_x^2\dfrac{1}{2dx}\dfrac{\partial^2 x}{\partial F^2}d\tau$

$c = \rho\sigma_x\sigma_{y}\dfrac{\partial x}{\partial F}\dfrac{\partial y}{\parcial \alpha}\dfrac{1}{2dxdy}d\tau$

$d = 0.5\sigma_{y}^2\dfrac{1}{dy^2}(\dfrac{\partial y}{\parcial \alpha})^2d\tau$

$e = 0.5\sigma_y^2\dfrac{1}{2dy}\dfrac{\partial^2 y}{\parcial \alpha^2}d\tau$

$f = \mu_x\dfrac{\partial x}{\partial F}\dfrac{1}{2dx}d\tau$

$g = \mu_{y}\dfrac{\partial y}{\parcial \alpha}\dfrac{1}{2dy}d\tau$

$h = - rdt$

Escrito en notación matricial,

$V_{k+1} = A^{-1}( V_{k} - C_{k+1} )$

Tenga en cuenta que el vector $$ C contiene los valores que no pueden ser incorporados a través de la $Una$ de la matriz, ya que dependen de la frontera de los puntos de cuadrícula.

Edición 19 De Junio: Desde mi otro post se centra en el límite superior de $F$ dimensión, vamos a discutir límite superior en el vol dirección aquí, ya que @Yian_Pap proporcionado una respuesta por debajo con respecto a esto. Tenga en cuenta que he corregido la cruz de derivados, a ser: $\dfrac{\partial^2 V}{\partial F \partial \alpha}=\dfrac{V_{i+1,j+1} - V_{i+1,j-1} - V_{i-1,j+1} + V_{i-1,j-1}}{2\Delta F\Delta \alpha}$, no contiene $V_{i,j}$.

Ahora, como vol obligado I conjunto $\dfrac{\partial V}{\partial \alpha}=0$.

La sustitución de segundo orden precisa hacia atrás FD aproximación,

$\dfrac{1}{\Delta \alpha}(V_{i,M}-V_{i,M-1})=0$,

dado que el término en frente no es cero, se debe sostener que,

$V_{i,M}-V_{i,M-1}=0$,

por lo tanto,

$V_{i,M}=V_{i,M-1}$ (2),

Esto puede ser implementado en los coeficientes de la matriz $A$. Dado (1),

$V_{i,j,k} = z_1 V_{i-1,j-1,k+1} + z_2 V_{i,j-1,k+1} + z_3 V_{i+1,j-1,k+1}+ z_4V_{i-1,j,k+1} + z_5V_{i,j,k+1} + z_6V_{i+1,j,k+1}+ z_7V_{i-1,j+1,k+1} + z_8V_{i,j+1,k+1} + z_9V_{i+1,j+1,k+1}$,

Imponer la condición de (2) como sigue:

$V_{i,M,k} = z_1 V_{i-1,M-1,k+1} + z_2 V_{i,M-1,k+1} + z_3 V_{i+1,M-1,k+1}+ (z_4+z_7)V_{i-1,M,k+1} + (z_5+z_8)V_{i,M,k+1} + (z_6+z_9)V_{i+1,M,k+1}$,

Pregunta principal: ¿Soy la implementación de esta enlazado correctamente?

Lado de la pregunta: Cuando la configuración de $\nu=0$ y $\beta=1$, $z_7$, $z_8$ y $z_9$ son iguales a cero, ¿correcto? Así, en este caso, la condición de límite de vol no afectará FD resultados?

Mejor,

Pim

1voto

Michał Górny Puntos 351

La cruz derivados FD fórmula está mal para empezar. Si usted toma el factor de 4 en el denominador, se convertiría en un válido (1er orden) de fórmula. Como sea, es evidente mal y bien puede ser la razón de sus problemas (aunque, por supuesto, puede haber más razones). Por cierto, el otro espacial FD aproximaciones son de segundo orden, por lo que no es seguro que la intención de este (una mezcla de 1er y 2º orden), probablemente no.

Si esto no resuelve tu problema, y usted todavía está interesado, voy a editar y añadir más. Por ejemplo, la elección de la cruz derivado de la fórmula puede de hecho hacer que la solución numérica más o menos propenso a valores negativos, dependiendo del signo del coeficiente de correlación. Utilizando central FD aproximaciones para la convección (1ª derivada de los términos (como lo están haciendo) también puede provocar oscilaciones espurias y por lo tanto valores negativos, si tu problema es la convección dominado. Es decir, si los coeficientes de los términos de convección son grandes en comparación con los de la difusión de los términos.

EDITAR Jun 15: veo que todavía no han corregido la cruz derivados de discretización, que debe hacer lo que es absolutamente incorrecto. Ahora, si usted está usando $ν=0$ no importa, pero si usted desea conseguir SABR a trabajar en el caso general, y no sólo cuando se reduce a BS, debe corregirlo! Pruebe el 2º fin de fórmula que no involucre la $V_{i,j,k}$ punto.

Ahora tiene un par de postes separados alrededor de este problema, así que estoy un poco confundido ahora, en cuanto a lo que las condiciones de contorno que está utilizando. De todos modos, que no menciona a la huelga de valor en el ejemplo de cálculo, así que no tengo idea de hasta qué punto la su $F_{max}$ (250) es de la huelga. Cuando usted está buscando en esos grandes valores de la volatilidad (1000%), que usted necesita para truncar su subyacente (F) de la cuadrícula de muy, muy lejos de la huelga en el orden de la solución para tener el "espacio" para difundir correctamente. Así que si la huelga es decir 50 y está truncando a 250, entonces esta sería la razón para que sus resultados inexactos en alta vols. Pruebe la configuración de $F_{max}$ a, digamos, 50 veces la huelga y me dicen si la situación mejora. Por supuesto, si usted hace esto, usted será al mismo tiempo aumentar la discretización de error si usted continúa utilizando los 60 puntos de cuadrícula en la F-dirección (porque usted está usando un uniforme de la cuadrícula y de su $dF$ se convertirá en mucho más grande). Por lo que sería necesario aumentar el número de F-puntos de cuadrícula muy posiblemente. Un montón de cosas a considerar:)

Alternativamente, una mejor condición de frontera de la omi para la parte superior vol límite es conjunto $\dfrac{\partial V}{\partial α}=0$ (Neumann). Además, ya que usted está usando $ν=0$, en esta etapa, no es necesario para su volatilidad límite superior para estar tan lejos. Usted puede truncar en un valor un poco más alto que el vol usted está interesado en saber el precio de la opción para. En la práctica, el vol nunca va a ser 1000% y que sólo se necesitan para truncar la cuadrícula que lejos si su $ν$ era distinto de cero y bastante grande.

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