问题描述
我正在尝试使用 QuantLib 为几何平均类型的亚洲期权定价。但是,我似乎无法计算 NPV 或任何希腊语。我收到以下错误:RuntimeError: wrong argument type
。
请在下面找到我的代码。
导致错误的那一行是:“AsianoptionHeston.NPV()”
valuationDate = ql.Date(30,6,2020)
ql.Settings.instance().evaluationDate = valuationDate
maturityDate = ql.Date(30,9,2022)
calendar = ql.UnitedStates()
dayConvention = ql.Actual360()
businessConvention = ql.Following
optionType = ql.Option.Call
strike = 125
s0 = 110
volatility = 0.2
dividendYield = 0.0368
averageType = ql.Average.Geometric
dividendTermStructure = ql.YieldTermStructureHandle(ql.FlatForward(valuationDate,dividendYield,dayConvention))
discountingTermStructure = ql.YieldTermStructureHandle(ql.FlatForward(valuationDate,0.03,dayConvention))
exerciseType = ql.EuropeanExercise(maturityDate)
payoff = ql.PlainVanillaPayoff(optionType,strike)
AsianoptionHeston = ql.discreteAveragingAsianoption(averageType,1,[ql.Date(31,3,2021)],payoff,exerciseType)
v0 = 0.2 * 0.2 # Spot variance
kappa = 0.1
sigma = 0.015 # Volatility of volatility
correlation = -0.75
spotHandleHeston = ql.QuoteHandle(ql.SimpleQuote(s0))
hestonProcess = ql.HestonProcess(discountingTermStructure,dividendTermStructure,spotHandleHeston,v0,kappa,sigma,correlation)
engineHeston = ql.AnalyticHestonEngine(ql.HestonModel(hestonProcess),0.01,1000)
AsianoptionHeston.setPricingEngine(engineHeston)
AsianoptionHeston.NPV()
解决方法
AnalyticHestonEngine
不适用于亚洲期权定价。
尝试此处列出的引擎之一: