【问题标题】:Pricing of Asian Option using the Heston Model using QuantLib Python使用 QuantLib Python 使用 Heston 模型对亚洲期权定价
【发布时间】:2021-04-24 12:18:25
【问题描述】:

我正在尝试使用 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()

【问题讨论】:

  • 您的问题似乎与期权定价等无关。这似乎只是传递错误参数的根本错误。您需要显示导致错误的行,以及方法签名是什么
  • 嗨!问题已用导致错误的行进行了编辑。谢谢

标签: python option quantlib


【解决方案1】:

AnalyticHestonEngine 不适合为亚洲期权定价。 尝试此处列出的引擎之一:

QuantLib Python Reference

【讨论】:

    猜你喜欢
    • 2020-10-18
    • 1970-01-01
    • 2015-06-24
    • 2021-05-12
    • 2020-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多