QuantLib 的 HestonModelHelper class 抛出错误

QuantLib's HestonModelHelper class is throwing error

我在 python -

中有以下 QuantLib 模型
import QuantLib as ql
import pandas as pd
day_count = ql.Actual365Fixed()
calendar = ql.UnitedStates()
calculation_date = ql.Date(6, 11, 2015)
spot = ql.SimpleQuote(659.37)
risk_free_rate = ql.SimpleQuote(0.01)
dividend_rate = ql.SimpleQuote(0.0)

riskFreeCurve = ql.FlatForward(
                                calculation_date, 
                                ql.QuoteHandle(risk_free_rate), 
                                day_count
                            )
dividend_yield = ql.FlatForward(
                                calculation_date, 
                                ql.QuoteHandle(dividend_rate), 
                                day_count
                            )
yield_ts = ql.YieldTermStructureHandle(riskFreeCurve)
dividend_ts = ql.YieldTermStructureHandle(dividend_yield)
p = ql.Period(ql.Date(6,12,2015) - calculation_date, ql.Days)
s = 527.50
vols = 0.35
helper = ql.HestonModelHelper(
                                            p,          
                                            calendar, 
                                            ql.QuoteHandle(spot), 
                                            ql.QuoteHandle(ql.SimpleQuote(s)), 
                                            ql.QuoteHandle(ql.SimpleQuote(vols)),
                                            yield_ts, 
                                            dividend_ts
                                        )

上面我得到了以下错误-

Traceback (most recent call last):
  File "<stdin>", line 8, in <module>
  File "/usr/local/lib/python2.7/dist-packages/QuantLib/QuantLib.py", line 9840, in __init__
    _QuantLib.HestonModelHelper_swiginit(self, _QuantLib.new_HestonModelHelper(*args))
TypeError: Wrong number or type of arguments for overloaded function 'new_HestonModelHelper'.
  Possible C/C++ prototypes are:
    HestonModelHelper::HestonModelHelper(Period const &,Calendar const &,Real const,Real const,Handle< Quote > const &,Handle< YieldTermStructure > const &,Handle< YieldTermStructure > const &,BlackCalibrationHelper::CalibrationErrorType)
    HestonModelHelper::HestonModelHelper(Period const &,Calendar const &,Real const,Real const,Handle< Quote > const &,Handle< YieldTermStructure > const &,Handle< YieldTermStructure > const &)

我的代码出错的任何线索都将非常有帮助。

谢谢,

问题是 HestonModelHelper 期望现货类型和行权价是浮动的。

要使其以最小的变化工作,请使用:

helper = ql.HestonModelHelper(
                                            p,          
                                            calendar, 
                                            spot.value(), 
                                            s, 
                                            ql.QuoteHandle(ql.SimpleQuote(vols)),
                                            yield_ts, 
                                            dividend_ts
                                        )