You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

寻求MATLAB actual/actual日计数基准的Python QuantLib等价实现

MATLAB date2time(basis=0) 转Python QuantLib 等价日计数基准问题

我正在把MATLAB代码迁移到Python,需要找到和MATLAB中date2time函数的basis=0(即actual/actual日计数基准)等价的设置。原MATLAB代码用该函数计算两个日期之间的期间长度(以年为单位),默认使用basis=0的actual/actual规则。

我选用Python的QuantLib库处理这个任务,尝试了ql.ActualActual的所有选项(ISMA、Bond、ISDA、AFB等),但都无法精准复现MATLAB的计算结果。我希望找到现成的解决方案,不想自己去研究MATLAB函数实现再重写Python代码。

可复现示例

MATLAB计算结果

period = date2time(datetime(2006,3,20), datetime(2036,3,31), 1, 0)
period = 30.0302

Python QuantLib测试结果

import QuantLib as ql

dateS = ql.Date(20,3,2006)
dateE = ql.Date(31,3,2036)
# 各选项计算结果
ql.ActualActual(ql.ActualActual.ISDA).yearFraction(dateS, dateE)  # 30.032203009207276
ql.ActualActual(ql.ActualActual.Bond).yearFraction(dateS, dateE)  # 30.083333333333332
ql.ActualActual(ql.ActualActual.AFB).yearFraction(dateS, dateE)   # 30.03013698630137

内容的提问来源于stack exchange,提问作者Martin Kabelka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 15:10:05