当前位置: 首页 > 工具软件 > QuantLib > 使用案例 >

python 隐含波动率_python - QuantLib XL隐含波动率 - 堆栈内存溢出

司徒高丽
2023-12-01

我使用QuantLib为各种股票期权定价。 我正在使用Python和QuantLib XL。 在Python中,很容易构建一个选项,创建一个Black Scholes过程,然后根据价格计算价格或计算隐含波动率。

只是:

from QuantLib import *

exercise = EuropeanExercise(Date(3,August,2019))

payoff = PlainVanillaPayoff(Option.Call, 105.0)

option = EuropeanOption(payoff,exercise)

#spot

S = QuoteHandle(SimpleQuote(100.0))

#risk free

r = YieldTermStructureHandle(FlatForward(0, TARGET(), 0.03,

Actual360()))

#dividend

q = YieldTermStructureHandle(FlatForward(0, TARGET(), 0.01,

Actual360()))

#vol handle

sigma = BlackVolTermStructureHandle(BlackConstantVol(0,

TARGET(), 0.20,

Actual360()))

#BS process

process = BlackScholesMertonProcess(S,q,r,sigma)

#Now calculate implied volatility

option.impliedVolatility(25.0, process)

#Alternatively,

engine = AnalyticEuropeanEngine(process)

option.setPricingEngine(engine)

option.NPV()

这可以使用=qlGeneralizedBlackScholesProcess()以类似的方式在XL中完成。 定价和希腊人使用=qlInstrumentNPV()和qlVega()等是直截了当的。但是,目前尚不清楚如何根据价格计算隐含波动率。 做这个的最好方式是什么?

 类似资料: