QuantLib报错TypeError: new_Thirty360参数异常,跨环境运行差异咨询
问题原因分析:QuantLib Thirty360构造函数报错差异
核心原因是两台电脑安装的QuantLib版本不一致:
- 旧版本QuantLib(如0.19.x及更早)支持
Thirty360()无参构造,默认采用Thirty360::USA约定,因此代码能正常执行。 - 新版本QuantLib(如0.20.x及以后)调整了
Thirty360的构造逻辑,强制要求传入约定参数(如ql.Thirty360.USA),不再支持无参调用,无参构造会触发参数不匹配的TypeError。
解决方案
- 统一版本:将报错电脑的QuantLib降级至与正常运行电脑相同的版本,执行命令:
pip install QuantLib==<正常环境的版本号> - 适配新版本:修改代码,给
Thirty360传入合法的约定参数,示例:
可根据业务需求选择其他约定,如dayCount = ql.Thirty360(ql.Thirty360.USA)ql.Thirty360.European。
内容的提问来源于stack exchange,提问作者darkuss
相关产品推荐
相关产品推荐

