Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FloatingRateCoupon fixingDate() Following #2015

Open
klin333 opened this issue Jul 9, 2024 · 1 comment
Open

FloatingRateCoupon fixingDate() Following #2015

klin333 opened this issue Jul 9, 2024 · 1 comment

Comments

@klin333
Copy link
Contributor

klin333 commented Jul 9, 2024

Hi,

In FloatingRateCoupon fixingDate(), it hardcodes Preceding business day convention.

Date FloatingRateCoupon::fixingDate() const {
// if isInArrears_ fix at the end of period
Date refDate = isInArrears_ ? accrualEndDate_ : accrualStartDate_;
return index_->fixingCalendar().advance(refDate,
-static_cast<Integer>(fixingDays_), Days, Preceding);
}

What can be done if I want Following business day convention. An example is this Australian bank hybrid, where the coupon schedule is Unadjusted, ie coupon accrual start and end dates are 22nd of each quarter, Unadjusted (even though coupon payment itself is Following business day adjusted with no compensation to holder for the delay). I believe this means that the Schedule object must use Unadjusted. However, this hybrid bond also states that the index fixing "will be determined on the first Business Day of each Distribution Period", ie in the quoted lines above in fixingDate(), I need Following.

This feels like quite a large job, as it involves FloatingRateCoupon, FloatingLeg, IborCoupon, IborLeg, FloatingRateBond.

https://www.westpac.com.au/content/dam/public/wbc/documents/pdf/aw/ic/Westpac_Capital_Notes_5_Prospectus.pdf

@lballabio
Copy link
Owner

Hmm, you're right, it's tricky to add to the current implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants