Python 分段Cubiczero和分段LogCubicDiscount之间的差异
我正在创建一条分段立方Czero曲线和一条分段对数立方Discount,并从这两条曲线中获得1年零利率。我希望我的1年零利率等于我1年的票面利率。 我有两个问题:Python 分段Cubiczero和分段LogCubicDiscount之间的差异,python,quantlib,Python,Quantlib,我正在创建一条分段立方Czero曲线和一条分段对数立方Discount,并从这两条曲线中获得1年零利率。我希望我的1年零利率等于我1年的票面利率。 我有两个问题: 为什么分段立方CzeroCurve和 分段对数立方计数 为什么1年零利率不等于1年利率? 我试着玩弄工作日数和会议。但到目前为止,这并没有解决问题 来自QuantLib导入的* 今天=日期(2019年1月29日) Settings.instance().evaluationDate=今天 约定=实际值365固定值() helper
- 为什么分段立方CzeroCurve和 分段对数立方计数 为什么1年零利率不等于1年利率?
*
今天=日期(2019年1月29日)
Settings.instance().evaluationDate=今天
约定=实际值365固定值()
helpers=[OIRateHelper(2,句号(*期限),
QuoteHandle(simplekote(rate)),Eonia()
对于利率,期限为[(0.001,(1年)),(0.002,(2年))]
curve1=分段Cubiczero(0,TARGET(),helpers,约定)
curve2=分段LogCubicDiscount(0,TARGET(),helpers,约定)
打印(‘折扣系数(零)’,曲线1.折扣(今天+期间(1年)))
打印(‘折扣系数(折扣)’,曲线2.折扣(今天+期间(1年)))
打印('预期贴现系数',1/(1+0.001))
打印(“零(零)”,曲线1.zeroRate(今天+期间(1年),惯例,年度))
打印(“零(折扣)”,曲线2.zeroRate(今天+期间(1年),惯例,年度))
打印('预期为0.1%')
打印语句输出:
discount factor (zero) 0.9989871380405977
discount factor (discount) 0.9989954702856564
expected discount factor 0.9990009990009991
zero (zero) 0.101389 % Actual/365 (Fixed) Annual compounding
zero (discount) 0.100554 % Actual/365 (Fixed) Annual compounding
expected zero 0.1%
我认为这是一个工作日惯例和结算日的问题 使用EONIA标准的
convention=Actual360()
zero (zero) 0.099999 % Actual/360 Annual compounding
zero (discount) 0.099999 % Actual/360 Annual compounding
expected zero 0.1%
使用“结算日>0”时,您必须相应地调整曲线和到期日。谢谢,这解决了问题。仍然存在一个小的舍入误差,但我可以接受:计算的折扣系数:0.998987138预期的折扣系数:0.999000999