2 votos

Utilice `LocalVolTermStructureHandle` en Python QuantLib

Me gustaría simular una volatilidad local subyacente $$ dS_t = S_t\sigma(t, S_t)dW_t $$ y he revisado el LocalVolTermStructureHandle de QuantLib para hacerlo.

Hasta ahora:

today = ql.Date().todaysDate()
calendar = ql.NullCalendar()
dayCounter = ql.Actual365Fixed()
spot = 100
rate = 0.0

initial_value = ql.QuoteHandle(ql.SimpleQuote(spot))
flat_curve = ql.FlatForward(today, rate, ql.Actual365Fixed())

riskfree_ts = ql.YieldTermStructureHandle(flat_curve)
dividend_ts = ql.YieldTermStructureHandle(flat_curve)

Ahora, tengo una implementación basada en Python localvol_func de $(t, s)\mapsto \sigma(t, s)$ y me gustaría invocar

localvol_ts = ql.LocalVolTermStructureHandle(localvol_func)

(o similar) para finalmente hacer

process = ql.GeneralizedBlackScholesProcess(initial_value, dividendTS=dividend_ts, riskfreeTS=riskfree_ts, localVolTS=localvol_ts)

¿Tiene sentido en absoluto? ¿Lograría lo que estoy intentando lograr? Sé que Python QuantLib es solo un envoltorio, por lo que probablemente no puedo trabajar con una implementación basada en Python de la función de volatilidad local, ¿verdad? ¿Qué tendría que hacer en su lugar?

2voto

Jed Schneider Puntos 153

Echa un vistazo a la línea 64. C++ toma cinco entradas, así que BlackVolTermStructure debe ser añadido.

https://rkapl123.github.io/QLAnnotatedSource/d0/da0/blackscholesprocess_8hpp_source.html

1voto

Brad Tutterow Puntos 5628

A partir de QuantLib 1.30, puedes muestrear tu volatilidad local sobre una cuadrícula y pasar los resultados a la clase FixedLocalVolSurface.

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