QuantLib的HestonModelHelper类正在抛出错误

2024-09-28 23:38:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我在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 &)

任何关于我的代码哪里出错的线索都会非常有用

谢谢


Tags: dateraterealdividendhandleyieldqlts
1条回答
网友
1楼 · 发布于 2024-09-28 23:38:25

问题在于,HestonModelHelper预计该点的类型和走向是浮动的

要使其在最少更改的情况下工作,请使用:

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

相关问题 更多 >