关于QuantLib OvernighIborBasisSwapRateHelper缺失付款滞后参数的技术咨询
QuantLib OvernightIborBasisSwapRateHelper 付款滞后参数处理方案
OvernightIborBasisSwapRateHelper的简化构造接口确实没有直接提供付款滞后(payment lag)的配置项,不过可以通过以下两种方式解决:
手动构建掉期实例传入Helper
放弃使用Helper的快捷构造函数,先自行创建OvernightIborBasisSwap对象,在构建过程中明确指定付款滞后参数,再将这个自定义掉期传入Helper的对应构造函数。示例代码如下:// 初始化隔夜指数与IBOR指数 auto overnightIndex = ext::make_shared<OvernightIndex>(...); auto iborIndex = ext::make_shared<IborIndex>(...); // 自定义基差掉期,设置付款滞后、结算日、计息滞后等参数 auto customSwap = MakeOvernightIborBasisSwap(tenor, iborIndex, overnightIndex) .withPaymentLag(2) .withSettlementDays(2) .withFixingDays(0, 0); // 将自定义掉期传入RateHelper auto rateHelper = ext::make_shared<OvernightIborBasisSwapRateHelper>( rateQuote, tenor, settlementDays, calendar, paymentFreq, convention, dayCounter, iborIndex, overnightIndex, spreadQuote, customSwap);注意:不同QuantLib版本的构造函数参数可能略有差异,请根据你使用的版本调整。
调整指数的默认付款滞后
如果你的业务场景中该付款滞后是全局统一的,可以在创建隔夜指数或IBOR指数时,通过构造函数的paymentLag参数设置默认值。后续基于这些指数构建的掉期会自动继承该参数,但这种方式会影响所有使用该指数的金融工具,需谨慎使用。
另外,计息滞后(fixing days)可以通过Helper构造函数的fixingDays参数分别设置两端的数值,你需求的0天可以直接配置。
内容的提问来源于stack exchange,提问作者Nick
相关产品推荐
相关产品推荐

