#python #option #quantlib
#python #вариант #quantlib
Вопрос:
Я пытаюсь оценить азиатский вариант с геометрическим средним типом, используя 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, 0, 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, v0, sigma, correlation)
engineHeston = ql.AnalyticHestonEngine(ql.HestonModel(hestonProcess), 0.01, 1000)
AsianOptionHeston.setPricingEngine(engineHeston)
AsianOptionHeston.NPV()
Комментарии:
1. Ваш вопрос, похоже, на самом деле не связан с ценообразованием опционов и т. Д. Кажется, это просто фундаментальная ошибка передачи неправильного параметра. Вам нужно показать, какая строка вызывает ошибку, и какова сигнатура метода
2. Привет! Вопрос был отредактирован со строкой, вызывающей ошибку. Спасибо
Ответ №1:
AnalyticHestonEngine
Не подходит для оценки азиатских вариантов. Попробуйте один из перечисленных здесь движков: