Ex-coupon adjustment based on unadjusted coupon dates

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Ex-coupon adjustment based on unadjusted coupon dates

igitur
Hi all,

In South Africa, bond settlement is T+3 trading days and the ex-coupon period is 10 calendar days from the UNadjusted coupon payment date.

So for a trade date of 2017-06-30 the settlement date is 2017-07-05 (over a weekend).

One specific bond, the R207, has a coupon payable on 2017-07-15 (a Saturday), which is adjusted to Monday (BDC = Following).

The correct ex-coupon date should be 2017-07-15 - 10 calendar days = 2017-07-05, which means on the trade date of 2017-06-30 that coupon was already ex.

However, I see in fixedratecoupon.cpp, line 154+ that the ex-coupon date is calculated based on the adjusted coupon payment date (line 166).

Unless there is a better alternative, I'd like to add a parameter to the ex-coupon details to enable the calculation of the ex-coupon date based on the UNadjusted coupon payment date. If you are happy with this, I'll submit a PR, but I just wanted to confirm with you first.

thanks
Francois Botha

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: Ex-coupon adjustment based on unadjusted coupon dates

NickG
Hi Francois,

When I added the ex-coupon code, it was primarily with European government bonds in mind.  These either have adjusted coupons (eg Italian BTP) or ex-dividend dates (eg UK Gilts) but not both.

I wonder if there are any other situations outside of SA, where both coincide.
An extra parameter certainly wont hurt.

Nick
Reply | Threaded
Open this post in threaded view
|

Re: Ex-coupon adjustment based on unadjusted coupon dates

igitur
In reply to this post by igitur
Sorry, ignore this.

I'll just calculate my own adjusted ex-coupon period when required and pass that through.

regards

Francois Botha

On 19 July 2017 at 11:55, Francois Botha <[hidden email]> wrote:
Hi all,

In South Africa, bond settlement is T+3 trading days and the ex-coupon period is 10 calendar days from the UNadjusted coupon payment date.

So for a trade date of 2017-06-30 the settlement date is 2017-07-05 (over a weekend).

One specific bond, the R207, has a coupon payable on 2017-07-15 (a Saturday), which is adjusted to Monday (BDC = Following).

The correct ex-coupon date should be 2017-07-15 - 10 calendar days = 2017-07-05, which means on the trade date of 2017-06-30 that coupon was already ex.

However, I see in fixedratecoupon.cpp, line 154+ that the ex-coupon date is calculated based on the adjusted coupon payment date (line 166).

Unless there is a better alternative, I'd like to add a parameter to the ex-coupon details to enable the calculation of the ex-coupon date based on the UNadjusted coupon payment date. If you are happy with this, I'll submit a PR, but I just wanted to confirm with you first.

thanks
Francois Botha


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev