我正在使用带有 Python 界面的 QuantLib 1.7。
我按照标准惯例构建了日元固定 float 掉期曲线。对于交换时间表,我有一个与日本和英国的联合日历。我的 JPYLibor 指数仅包含英国日历。
当我将市场日期设置为 2009 年 5 月 1 日时,我使用 PiecewiseFlatForward 进行引导,结算日期为 2009 年 5 月 8 日,因为在日本日历中,从 2009 年 5 月 4 日(星期一)到2009 年 5 月 6 日。
现在,通过这条引导曲线,我尝试对 2009 年 5 月 7 日 float 支付的掉期进行估值。当我尝试对其进行估值(或计算重置日期为 2009 年 5 月 5 日的下一个 floatLeg 现金流量的 amount() 函数时),我收到错误消息“第二条腿:给定的负时间 (-0.00277778)”。
我猜这与起息日 2009-May-7 的伦敦定盘日 2009-May-5 恰逢日本假期有关?
我的掉期付款时间表和重置时间表与彭博社相符,因此我相信理论上这是正确的惯例。我读过一些关于美国互换的明显类似问题的旧帖子,但据我了解,这是一个错误,在 QuantLib 0.9 左右得到了纠正。
我的问题是否与相同的错误有关,或者我没有正确使用 QuantLib?
最佳答案
问题在于付款起息日 5 月 7 日位于今天的日期和曲线的引用日期之间。修复需要预测,因为它是 future 的(修复日期是5月5日);但由于该曲线实际上从 5 月 8 日开始,因此无法返回预测固定价所需的 5 月 7 日折扣。
这种情况通常不会发生的原因是,当起息日在今天和引用日期之间时,定价日期通常早于今天的日期,因此可以从过去的日期加载定价。
在这种特殊情况下,使其发挥作用的方法是创建一条没有结算日的曲线,以便其引用日期与今天的日期相同。如果您想要 5 月 8 日的价格,则必须手动调整掉期 NPV 以获取 5 月 1 日至 8 日之间的折扣。
关于python - 日本假期期间日元 Libor 定盘 : negative time error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37159215/