2 votos

Cálculo de volatilidad local en Python

Estoy tratando de obtener el precio de la volatilidad local en Python usando Dupire (Método de Diferencias Finitas).

Tengo el siguiente conjunto de información.

Spot: 770.05, Strike: 850, Tipo: 'C', tasa libre de riesgo: 0.0066, tiempo hasta vencimiento = 25/365 días, IV: 0.19468.

Para resolverlo usando FDM necesitamos encontrar.

introducir aquí la descripción de la imagen

introducir aquí la descripción de la imagen

He usado el siguiente código en Python, ¿podrías decirme qué falta aquí?

deltat = 0.00071 delta = 1.5

dc_by_dt = ((bsm_price('c',0.1946811865981668,770.05,850,0.0066,25.55/365)+deltat,0)) -(bsm_price('c',0.1946811865981668,770.05,850,0.0066,deltat-(25.55/365),0))) / (2 * delta)

dc2_by_dk2 = ((bsm_price('c',0.1946811865981668,770.05,(850-delta),0.0066,25.55/365,0)) - 2 * (bsm_price('c',0.1946811865981668,770.05,850,0.0066,25.55/365,0)) + (bsm_price('c',0.1946811865981668,770.05,(850 + delta),0.0066,25.55/365,0))) / (delta*delta)

local = np.sqrt((dc_by_dt)/(0.5*(850\*850)\*dc2_by_dk2))

0 votos

¿De qué biblioteca obtienes bsm_price?

0 votos

@Sanjay, Gracias por tu respuesta. `bsm_price` es una función que he definido para precio opciones utilizando la fórmula de Black-Scholes. En ese caso, necesitas scipy y numpy. Pero, mi verdadera preocupación es sobre la volatilidad local utilizando la fórmula de Dupire, ¿puedes por favor ayudarme con algún ejemplo de la vida real en el que hayas trabajado para obtener volatilidad local basada en la volatilidad implícita como entrada? Gracias

2voto

Vincent C. Puntos 111

Lamentablemente no está escrito en Python, sino en R. Si tienes experiencia con R, este ejemplo de la vida real publicado en un blog cuantitativo subterráneo tiene paso a paso lo que estás buscando: (Desplázate hacia abajo hasta la conclusión)

https://quantipy.wordpress.com/2017/08/21/implementation-of-dupires-formula-for-local-volatilities/

(No me atribuyo el mérito de este trabajo de esta persona), pero su intuición me ayudó mucho cuando estaba abordando un problema similar de modelo de volatilidad.

Espero que ayude.

1 votos

Hola Vincent, Gracias por tu respuesta, he mirado su trabajo y realmente aprecio que haya puesto mucho esfuerzo en hacerlo. Estoy más interesado en hacerlo en python, así que supongo que necesito descubrir mi propio camino.

0voto

Dmitry Puntos 1

Al tener una volatilidad implícita constante como entrada, se pierde el propósito de usar volatilidad local y se debe considerar el valor de tu butterfly. Me aventuraré a decir que tu volatilidad local podría explotar.

Una mejor manera es calcular la varianza local de la superficie de volatilidad implícita actual.

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