QuantLib XL隐含波动率

时间:2019-04-29 10:44:04

标签: python finance quantitative-finance quantlib quantlib-swig

我正在使用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()等工具可以很容易地确定价格和希腊文。但是,尚不清楚如何从价格计算隐含波动率。最好的方法是什么?

0 个答案:

没有答案