Python QuantLib计算SOFR Swap与BBG结果差异排查求助
SOFR Swap定价差异排查请求
使用Python QuantLib对SOFR Swap定价时,已确保所有输入参数与彭博(BBG)一致,但计算结果存在差异:
- NPV差异:QuantLib计算值为**-28451.35**,BBG结果为**-28449.30**
- 现金流差异:固定端日程完全匹配,但浮动端现金流不符
已附上相关代码、现金流对比截图、输入参数及曲线数据截图,请求协助排查需调整的环节。
核心排查方向
以下是QuantLib与BBG SOFR Swap定价常见的差异点,建议逐一验证:
SOFR Index配置
确认QuantLib中SOFR指数的初始化参数是否与BBG一致:- 复利方式:是否使用期后复利(arrears)(SOFR Swap通常采用此方式)
- 观察期偏移:是否设置了正确的观察窗口(如BBG可能使用lookback或锁定天数)
- 日计数规则:是否为
Actual/360(SOFR标准日计数)
曲线构建逻辑
检查贴现曲线与SOFR预测曲线的构建细节:- 插值方法:BBG常用立方样条插值,需确认QuantLib是否使用相同的插值方式(默认可能为线性插值)
- 曲线节点:确保所有曲线节点(包括利率、到期日)与BBG完全一致
- 日计数与节假日日历:曲线计算使用的日计数规则、节假日日历需与BBG对齐(如US联邦节假日日历)
浮动端现金流计算
重点核对浮动端的现金流生成逻辑:- 重置日期:SOFR Swap的浮动端重置通常在计息期结束日(arrears reset),确认QuantLib是否正确设置重置日期规则
- stub期处理:若存在stub期,检查其计息天数计算方式是否与BBG一致(如前端/后端stub的日计数规则)
- 复利计算:确认计息期内的SOFR利率是否按BBG的方式复利(如每日复利vs平均利率)
日期调整规则
验证所有日期(起息日、付息日、重置日)的营业日调整规则是否与BBG一致:- 营业日惯例:如Modified Following vs Following
- 滚动规则:是否允许日期跨月调整
建议重点检查上述环节,结合提供的代码与截图,可进一步定位具体差异点。
内容的提问来源于stack exchange,提问作者Hanqing
相关产品推荐
相关产品推荐

