C++ Quantlib Vanilla Swap:为浮动边设置未来定价日期和杠杆
C++ Quantlib Vanilla Swap: setting future fixing dates and gearing for floating leg
用户是否可以在 Quantlib 中更改浮动边的未来固定日期和杠杆?
首先,当Quantlib计算浮动腿的NPV时,它会进入couponpricer.hpp调用内联函数BlackIborCouponPricer::swapletPrice()
。在这个函数内部,有一个参数叫做gearing_
。在我的例子中,此参数自动设置为 1。如果我需要将其更改为其他值,比如 0.8,我应该在哪里进行更改?
其次,我所有的未来固定日期都与浮动腿时间表中生成的日期向量相同。即固定日期与权责发生期开始日期相同。是否可以将这些固定日期更改为不同于应计期开始日期,比如根据正常工作日约定调整的应计开始日期前 2 个工作日?或者,我可以传递一个日期向量来存储这些固定日期吗?
非常感谢。
VanillaSwap
不将传动装置作为构造函数参数(我想这个想法是为了保持简单)。相反,您可以使用 FixedLeg
和 IborLeg
类 分别创建固定和浮动边,并将它们传递给 Swap
实例。您可以在 SwapTest::testInArrears()
中的 test-suite/swap.cpp
文件中看到一个示例。
至于固定日期:当您构建要传递给IborLeg
的IborIndex
实例时,您可以将一定数量的固定日期传递给它的构造函数。但是,如果您使用 Euribor
或 USDLibor
等可用索引,它们已经使用了 2 个固定日(以及正确的日历和工作日约定)。
用户是否可以在 Quantlib 中更改浮动边的未来固定日期和杠杆?
首先,当Quantlib计算浮动腿的NPV时,它会进入couponpricer.hpp调用内联函数BlackIborCouponPricer::swapletPrice()
。在这个函数内部,有一个参数叫做gearing_
。在我的例子中,此参数自动设置为 1。如果我需要将其更改为其他值,比如 0.8,我应该在哪里进行更改?
其次,我所有的未来固定日期都与浮动腿时间表中生成的日期向量相同。即固定日期与权责发生期开始日期相同。是否可以将这些固定日期更改为不同于应计期开始日期,比如根据正常工作日约定调整的应计开始日期前 2 个工作日?或者,我可以传递一个日期向量来存储这些固定日期吗?
非常感谢。
VanillaSwap
不将传动装置作为构造函数参数(我想这个想法是为了保持简单)。相反,您可以使用 FixedLeg
和 IborLeg
类 分别创建固定和浮动边,并将它们传递给 Swap
实例。您可以在 SwapTest::testInArrears()
中的 test-suite/swap.cpp
文件中看到一个示例。
至于固定日期:当您构建要传递给IborLeg
的IborIndex
实例时,您可以将一定数量的固定日期传递给它的构造函数。但是,如果您使用 Euribor
或 USDLibor
等可用索引,它们已经使用了 2 个固定日(以及正确的日历和工作日约定)。