python - 日本假期期间日元 Libor 定盘 : negative time error

标签 python quantlib

我正在使用带有 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/

相关文章:

python - Python 中的 QuantLib - 无法腌制 'SwigPyObject' 对象

python - 在 Windows 7 : 'unrecognized command line option ' -mno-cygwin'' 上构建 QuantLib python 绑定(bind)

c++ - 通过 Rcpp 从 R 调用 QuantLib

Linux 操作系统中的 Python 子进程调用未按预期工作

python - 扭曲的客户端/服务器通信问题

python - 如何在rpython程序中导入rlib以使用pypy的rpython进行翻译

c++ - Quantlib 求解器未产生与 BondFunctions::yield 相同的到期 yield

python - 构建 Python 时出现 QuantLib 1.9 fatal error

python - 在 python 中,如何将特定本地时间(不是本地时间)的日期时间转换为 UTC

python - matplotlib.pyplot.subplots() - 如何设置图形名称?