7 votos

Densidad negativa en la calibración del modelo de volatilidad estocástica local (LSV)

Estoy tratando de calibrar el modelo de volatilidad estocástica local utilizando el método de diferencias finitas, y estoy siguiendo principalmente esta referencia: Tian (2015) .

Me encontré con un problema al calibrar la función de apalancamiento - la ecuación de fokker planck discritizada con el esquema ADI Douglas generará una densidad negativa, lo que lleva a un valor negativo en las integrales de la función de apalancamiento y esto romperá el cálculo de root cuadrada. Sin embargo, no parece haber mucha discusión en las referencias sobre este tema.

Así que mi pregunta es:

  • ¿Se supone que el ADI preserva la positividad de la función de densidad? (Si es así, esto indica que mi implementación actual está sujeta a algún error).
  • Si no es así, ¿qué debo hacer para evitarlo?

-----------------------------------------
Actualizaciones (0401):

He comprobado que aplicando la condición de contorno de flujo cero (descrita en Documento QuantLib ) ayuda mucho a estabilizar el proceso de calibración - no más integrales negativas en la función de root cuadrada. El recorrido de Monte Carlo de la opción a cinco años tiene un error de 0,5 (en comparación con el precio BS) con el strike ATM.

Sin embargo, sólo es estable cuando el paso de tiempo es pequeño (dt=1/300). Si intento utilizar una malla temporal no uniforme que tenga un paso de tiempo mayor para vencimientos más largos, la densidad perderá su estructura y la calibración fallará. Otra preocupación es que veo que la densidad se hace más pequeña a medida que la calibración avanza en el tiempo y actualmente estoy arreglando esto reescalando la densidad a uno en cada paso.

Así que mi pregunta actual es:

  • Implementé la condición de contorno de flujo cero sólo en el límite de v y apliqué una condición de contorno más simple sobre S - asumir un término de segundo orden decreciente en la EDP. Me pregunto si esta es la forma correcta de hacerlo. ¿Debería aplicar el flujo cero en la frontera de S también? si no, ¿qué debería usar?

  • ¿Cómo debo tratar la pérdida de densidad en la calibración?

  • ¿Cómo puedo mejorar la estabilidad de la calibración para un paso de tiempo grande?

¡Muchas gracias!

-----------------------------------------
Actualizaciones (0405):

El proceso de calibración aún no es estable. El truncamiento en cero sólo ayuda para un paso de tiempo pequeño. Creo que debe haber algo que ver con la forma en que implemento el esquema ADI. Aquí están los detalles sobre cómo trato con Fokker Planck en ADI.

Parto de la ecuación de Fokker Planck como sigue: \begin {align*} \partial_ {t}f = & \frac {1}{2}v \partial_ {x}^2L^2f \\ &+ (-r+q) \partial_ {x}f + \frac {v}{2} \partial_ {x}L^2f \\ &+ \frac { \sigma ^2}{2} \frac {1}{v} \partial_ {z}^2f \\ &+ ((- \kappa\theta - \frac { \sigma ^2}{2}) \frac {1}{v} + \kappa ) \partial_ {z}f + \kappa\theta\frac {1}{v}f \\ &+ \rho\sigma\partial_ {x} \partial_ {z}Lf \end {align*} donde $x=log(S/S_0)$ y $z=log(v/v0)$ .

Entonces reescribo esto en forma de matriz: $$\partial_{t}f = F_0+F_1+F_2 $$ $$F_0 = \sigma*\rho*dx@f@dz$$

\begin {align*} F_1=f @ &[(- \kappa * \theta -0.5* \sigma ^2)*dz@Diag(1/v \_vec ) \\ &+ \kappa *dz \\ &+ 0.5* \sigma ^2*dz2@Diag(1/v \_vec ) \\ &+ \kappa * \theta *Diag(1/v \_vec )] \end {align*}

para $ j = 1,2,...,Nz:$ \begin {align*} F_2[:,j]=&[-r*dx \\ &+ 0.5*v \_vec [j]*dx@Diag(L^2) \\ &+ 0.5*v \_vec [j]*dx2@Diag(L^2)]@f[:.j] \end {align*}

donde:

  • $f$ es un $m\times n$ matriz. $L$ es un vector de longitud $m$ . $v\_vec$ es un vector de longitud $n$ .
  • $dx,dx2,dz,dz2$ son todos operadores diferenciales (matriz tri-diagonal).
  • $Diag(A)$ representa una matriz cuadrada con $A$ siendo diagonal.
  • $'*'$ representa la multiplicación normal y $'@'$ representa la multiplicación de matrices.

Entonces esta forma puede encajar directamente en la estructura ADI descrita en Tian(2015) .

¿Alguien ve algún problema en estos pasos de ADI? Muchas gracias.

3voto

Andrew Koester Puntos 260

Sí, debería conservar la positividad. Sin embargo, debido al ruido numérico, puede observar valores negativos muy pequeños en los bordes de la red, que puede truncar a cero.

Si se resuelve con Fokker-Planck se puede empezar por $t=\delta t$ utilizando una aproximación gaussiana para la densidad en el primer paso, a fin de partir de una densidad suave.

Una alternativa al uso de Fokker-Planck es utilizar el adjunto discreto del esquema Kolmogorov ADI hacia atrás, lo que es relativamente fácil de hacer porque equivale a invertir los pasos del ADI y utilizar las matrices transpuestas. En este caso se pueden resolver directamente las funciones verdes discretas.

0 votos

Gracias por las respuestas. Por ahora sigo centrándome en el método de Kolmogorov hacia delante. Utilizo la distribución normal bivariante para aproximar la densidad inicial. He descubierto que aplicando la condición de contorno sin flujo la estabilidad de la función de densidad a través del proceso de calibración mejora mucho. Sin embargo, sólo es estable cuando el paso de tiempo es pequeño (dt = 1/300). ¿Por casualidad tienes alguna pista sobre este tema? Muchas gracias.

0 votos

¿se obtiene el mismo comportamiento cuando la correlación entre spot y vol es cero (de modo que la parte de derivada cruzada explícita se anula)? que sólo es estable cuando $dt$ es pequeño sugiere que al esquema le falta una parte implícita. Utilizo una condición genérica de derivada segunda cero en los límites, pero no creo que eso suponga una gran diferencia.

0 votos

Muchas gracias por su amable ayuda. Probé la correlación cero y seguía teniendo el mismo problema. El proceso de calibración fallará cuando el paso de tiempo sea mayor. Creo que todavía puede haber algún problema en mi implementación ADI ... He actualizado la pregunta con más detalles. Estaré muy agradecido si usted tiene alguna idea de lo que he hecho mal.

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