0

我复制了EONIA 曲线引导的示例。我试图将输入链接到 DepositRateHelper 类的相应关键字参数。我检查了文档中的关键字参数,结果如下

import QuantLib as ql
today = ql.Date(11, 12, 2012)
ql.Settings.instance().evaluationDate = today
helpers = [ ql.DepositRateHelper(rate = ql.QuoteHandle(ql.SimpleQuote(rate/100)), 
                             tenor = ql.Period(1,ql.Days), 
                             fixingDays = fixingDays, 
                             calendar = ql.Germany(), 
                             convention = ql.Following, 
                             endOfMonth = False,
                             dayCounter = ql.Actual360()
                             )
        for rate, fixingDays in [(0.04, 0), (0.04, 1), (0.04, 2)] ]

现在我得到一个 TypeError:

TypeError: __init__() got an unexpected keyword argument 'dayCounter'

如果跳过所有“关键字”,则代码可以正常工作。所以我的问题是,有没有办法了解所需的关键字,还是我在错误的地方搜索?

最好的丹尼尔

4

1 回答 1

1

不幸的是,QuantLib 模块中的极少数类中允许使用关键字,并且DepositRateHelper不是其中之一。这是 SWIG 导出重载构造函数的方式的产物;它不能定义关键字,因为它们对于每个重载都必须不同。

此外,由于 SWIG 将包装器声明为f(*args, **kwargs)即使它支持关键字参数,IDE 也无法显示它们。要找到它们,您必须在https://github.com/lballabio/QuantLib-SWIG/tree/master/SWIG检查 SWIG 接口。

于 2018-03-20T11:15:26.130 回答