如何在 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 会产生最详细的日志记录。
我是 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 会产生最详细的日志记录。