# How to Compute Dates for Bond

I would like to understand how to compute from Maturity Date the Payment Dates of a coupon bond. For example, consider that today I am buying a bond that matures in 31/12/2017 and that pay semi-annual coupon.

Which are the Cash Flow Dates? 31-12-2016 and 30-06-2016? or 31-12-2016 and 1-07-2016? or I have to subtract the exact number of days?

What is the Exact Meaning of "Semi-Annual"? 6 Month? 365/2 days? Does exist any kind of this convention?

To compute the cash flow dates you need to know the maturity date, the tenor, the payment frequency, the business day convention and the holiday calendar.

The cash flow dates step backward from the maturity of the bond, in units of the payment frequency. For example, for a two year bond maturing on 31/12/2017 with a semi-annual coupon, you step back in units of six months, getting

• 31/12/2017
• 30/06/2017
• 31/12/2016
• 30/06/2016

You then need to make a business day adjustment for dates that don't fall on a business day. For example, the 30th Jun 2017 is a Saturday, and the 31st Dec 2016 is a Sunday. You would also need to adjust if a day was a holiday (e.g. Independence Day in the US, or Christmas Day in many countries).

There are four business day conventions in common use -

• Following (move payments to the next business day)
• Previous (move payments to the previous business day)
• Modified Following (move to the next business day, unless it falls in a different month, in which case use the previous business day)
• Modified Previous (move to the previous business day, unless it falls in a different month, in which case use the next business day)

I believe that the convention for US treasuries is Modified Following, though it is worth checking this.

For the payment on 30/06/2017 (Saturday) the next business day is 02/07/2017, but this falls in a different month, so the payment actually happens on 29/06/2017 (a Friday).

For the payment on 31/12/2016 (Sunday) the next business day is 02/01/2017 (which is a Tuesday - note that Monday 1st Jan is a public holiday, even though it is not a weekend) which again falls in a different month, so the payment happens on 29/12/2016 (Friday).

Note that this approach works for most bonds, but not all. For example, Mexican government bonds have a payment frequency of 182 days, rather than 6 months. An advantage of this is that 182 days is exactly 26 weeks, so the payments will always fall on the same day of the week, which reduces the need for business day conventions. On the other hand, it will not always fall on the same day of the month - a payment on Weds 16th March 2016 will be followed by a payment on Weds 14th Sep 2016, rather than Fri 16th Sep 2016. If it is important to get the dates correct for a particular bond, the best thing to do is find a source of static data which can tell you the exact coupon dates (e.g. Bloomberg can do this).

• I do not exactly understand the fact that 6 month before the 31/12/2017 is the 30/06/2017, is it a convention? A month is not considered by 30 days? If i simply subtruct the month number then i have to adjust the date like the bond that i wrote before, how do i adjust that date? Why did you choose the 30/06 and not the 01/07? – Nicola Dec 15 '16 at 13:11
• You subtract six full months, keeping the day of the month the same, with the convention that if there aren't enough days in the month (e.g. you started in December with 31 days and land in June with 30 days) then you just use the last day of the month. – Chris Taylor Dec 15 '16 at 18:12
• It's important to realize that this is all just convention, mostly from a time when these calculations were done by hand, so they're designed to be easy to do without a computer - hence the prevalence of day counts like 30/360 which make very little sense, but are quite easy to calculate without a computer. – Chris Taylor Dec 15 '16 at 18:14
• This is an excellent answer. But to nitpick a bit, this is a very swap centric answer. Bonds differ in several ways. First, the cash flows are rarely adjusted for holidays. The actual "payment" dates are usually holiday adjusted ("Following" for US Treasuries, not Mod Following), but for analytical purposes, the "coupon" dates are not holiday adjusted. Second, an important concept in date schedule calculation is "roll day." If the first coupon date is 6/30/2015. The next date could be 12/30/2015 (roll day = 30), or 12/31/2015 (roll on end of month, which is the US Treasury convention). – Helin Dec 16 '16 at 15:26
• @helin-gai That‘s a valuable observation. Can you suggest a widely available written reference where this terminology and the relevant details are gathered? Thanks! – Michaël Le Barbier Mar 12 '18 at 8:18