我是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)
感谢您的帮助。
答案 0 :(得分:0)
您没有报告实际的错误消息(您可以通过调用ohRangeRetrieveError
函数并将其传递给包含错误的单元格的地址来查找),但我猜它会告诉您有关缺少修理。
只要定价日期在生效日期之前,浮动利率优惠券的所有定价都可以从利率曲线中预测。但是,如果定价日期晚于生效日期,则某些定价结果将成为过去。在这种情况下,您无法再预测它们(曲线仅涵盖未来),因此您必须提供它们。您可以通过调用qlIndexAddFixings
函数来完成此操作;在你这样做之后,计算将把它们拿起来。要找出所需的特定修复方法,可以查看上面提到的错误消息。
答案 1 :(得分:0)
ohRangeRetrieveError( )
很好。我还在第一个选项卡的第一列中使用ohLogSetFile( logfile, loglevel)
来打开整个电子表格的日志文件。日志级别为5会产生最详细的日志记录。