如何在quantlibxl中定价IRS浮动腿

时间:2016-02-15 05:50:13

标签: excel quantlib

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

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

以下是条款清单:

  

定价日期:2015年10月30日
  生效日期:2015年7月23日
  终止日期:7/23/2022
  男高音: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 Index (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)

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

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

只要定价日期在生效日期之前,浮动利率优惠券的所有定价都可以从利率曲线中预测。但是,如果定价日期晚于生效日期,则某些定价结果将成为过去。在这种情况下,您无法再预测它们(曲线仅涵盖未来),因此您必须提供它们。您可以通过调用qlIndexAddFixings函数来完成此操作;在你这样做之后,计算将把它们拿起来。要找出所需的特定修复方法,可以查看上面提到的错误消息。

答案 1 :(得分:0)

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

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