如何在 quantlibxl 中定价 IRS 浮动腿

How to Pricing IRS floating leg in quantlibxl

我是 quantlibxl 的初学者,我正在做 Marco Marchioro 的第 2 课 IRS-Floating-leg Sheet 的练习。

这是我的问题:
当我使用给定的示例时,npvs(qunatlib 计算和 excel 计算)都有效。 但是,如果我在生效日期之后更改定价日期,qllegNPV 会给出错误消息 (#NUM)。我该如何解决?

以下是学期 sheet 时间表:

Pricing date: 10/30/2015
Effective date: 07/23/2015
Terminate date: 7/23/2022
Tenor: 3M

我尽量在excel
中解释我的功能 建立现金流表(irs-float-schedule#0000):

=qlSchedule(irs-float-schedule,7/23/2015,7/23/2022,3M,TARGET,Modified Following,Modified Following,Forwad,TRUE,,,,)  

预测曲线(swp-forecast#0000)

=qlFlatForward(swp-forecast,0,TARGET,0.29%,Actual/360,Continous,SemiAnnual,,)  

Libor 指数(euribor#0000)

=qlEuribor(euribor,3M,swp-forecast#0000,,)

折扣曲线(swp-discount#0000):

=qlFlatForward(swp-discount,0,TARGET,4%,Actual/360,Continous,SemiAnnual,,)  

IRS 浮动腿(irs-float-leg#0000):

=qlIborLeg(irs-float-leg,Following,5000000,irs-float-schedule#0000,,,Actual/360,0,1,euribor,0,0,,)

legNPV:

=qlLegNPV(irs-float-leg#0000,swp-discount#0000)

感谢您的帮助。

您没有报告实际的错误消息(您可以通过调用 ohRangeRetrieveError 函数并将包含错误的单元格的地址传递给它来找到),但我猜它会告诉您关于缺少修复。

只要定价日在生效日之前,所有浮动利率票息的定价都可以在利率曲线外进行预测。但是,如果定价日期晚于生效日期,则某些定价结果是过去的。在那种情况下,你不能再预测它们(曲线只涵盖未来)所以你必须提供它们。您可以通过调用 qlIndexAddFixings 函数来实现;在你这样做之后,计算会把它们捡起来。要找出您需要的特定修复,您可以检查上面提到的错误消息。

当您知道哪些单元格是错误的原因时,

ohRangeRetrieveError( ) 很好。我还在第一个选项卡的第一列中使用 ohLogSetFile( logfile, loglevel) 来打开整个电子表格的日志到文件。日志级别 5 会产生最详细的日志记录。