Quantlib USDLibor,它怎么知道哪个是正确的固定日期

Quantlib USDLibor, how does it knows which is the correct fixing date?

本文关键字:日期 USDLibor Quantlib      更新时间:2023-10-16

在定价浮动利率债券时,需要使用USDLibor类的实例,并在给定日期(相当于上次重置日期减去两个工作日)添加新的固定值。然而,有时它会抱怨运行时告诉用户指定日期的修复不可用(意味着用户提供了错误日期的修复)。

USDLibor的实例如何知道哪个日期是正确的?我问这个问题是因为也许我可以通过直接检索正确的日期来解决这个问题,因为USDLibor可以解决计算正确日期的问题。

正如您所说,固定日期是重置日期前两个工作日(如果您想检查,逻辑的实现在FloatingRateCoupon::fixingDate()方法中)。

但是,您可能使用了错误的工作日。美元伦敦银行同业拆借利率在伦敦是固定的,因此假期是根据英国日历而不是美国日历确定的。

无论如何,一旦你建立了债券,你可以用这样的东西询问现金流本身的固定日期(我还没有测试过,所以它甚至可能不会编译,但你应该明白了):

using namespace QuantLib;
Leg cashflows = bond.cashflows();
std::vector<Date> fixingDates;
for (Size i=0; i<cashflows.size(); ++i) {
    boost::shared_ptr<FloatingRateCoupon> coupon =
        boost::dynamic_pointer_cast<FloatingRateCoupon>(cashflows[i]);
    if (coupon)
        fixingDates.append(coupon->fixingDate());
}

之后CCD_ 2矢量将包含(毫不奇怪)固定日期。