JPYLibor在日本假日期间修理:负时间错误

时间:2016-05-11 10:02:04

标签: python quantlib

我正在使用QuantLib 1.7和Python界面。

我按照标准惯例构建了JPY Fixed-Float交换曲线。对于交换时间表,我有一个与日本和UnitedKingdom的JointCalendar。我的JPYLibor指数仅限英国日历。

当我将市场日期设定为2009年5月1日时,我使用PiecewiseFlatForward进行自助运行,结算日期为2009年5月8日,因为在日本日历中有一个长假,从2009年5月4日(星期一)到2009年五月,6。

现在,通过这条引导曲线,我尝试估算2009年5月7日浮动付款的掉期。当我尝试对它进行估值(或计算2009年5月5日有重置日期的下一个floatingLeg现金流的amount()函数)时,我收到错误消息“第二段:负时间(-0.00277778)给出”。< / p>

我猜这与2009年5月5日这个价值日期为2009年5月7日的伦敦定价日在日本假期有关?

我的掉期付款时间表和重置时间表与彭博相匹配,因此我对理论上的信心是正确的约定。我已经阅读了一些关于美国交换的类似问题的旧帖子,但据我所知,这是一个在QuantLib 0.9时期被纠正的错误。

我的问题可能与同一个错误有关,或者我没有正确使用QuantLib?

1 个答案:

答案 0 :(得分:1)

问题是5月7日付款的起息日期是今天的日期和曲线的参考日期之间。需要预测,因为它将来(定义日期是5月5日);但由于曲线在5月8日有效开始,因此无法返回预测修正所需的5月7日折扣。

这种情况通常不会发生的原因是,当价值日期介于今天和参考日期之间时,定价日期通常在今天的日期之前,因此可以从过去加载定价的。

在这种特殊情况下,使其工作的方法是创建一个没有结算日的曲线,以使其参考日期与今天的日期相同。如果你想要5月8日的价格,那么你必须在5月1日到8日之间手动调整掉期NPV以获得折扣。