Calculating the Price of a Bond with an Odd Last Coupon
Nov
6
Written by:
Charles Flock
11/6/2008 10:58 PM
When we say that a bond has an odd last coupon, what do we mean?
Generally, buying a bond is the equivalent of buying a regular series of cash flows (the coupon) and a future value (the redemption amount). In the blog posting Calculating the Price of a bond (without using the PRICE function), we demonstrated how the price of a bond could be calculated without using the PRICE function, simply by using the PV function, precisely because the bond has this attribute of regular periodic cash flows and a future value.
Not all bonds meet these criteria, however. In this article we will discuss bonds that have what is known as an odd last coupon. As usual there are plenty of text books and online articles that document the pricing associated with bonds that have odd last coupons, but they are very complicated and generally only deal with the simplest cases and never get into the nittygritty of the calculation. Hopefully, we can do a better job of that, here. For purposes of this blog entry, we are going to deal with bonds that settle before the last interest date as bonds that settle on or after the last interest date are priced differently.
When we talk about bonds being ‘regular’, we mean that they pay the same amount of interest at the same time of the month either annually, semiannually, or quarterly. For bonds that pay interest semiannually, that could mean interest might be due on the 15^{th} of January and July, or on the last day of March and September, or on the first day of February and August. The important thing to note is that the interest amount is fixed (and is calculated as the coupon rate multiplied by par divided by the frequency of the coupon payment).
When bonds are bought or sold for settlement on their coupon dates, the calculation of the price (or yield) for the bond is simplified because we do not need to account for partial periods, which is just a way of saying that there is no accrued interest to be calculated. When the settlement date occurs after the coupon date, then the seller of the bond is paid that portion of the coupon interest that has been earned from the previous coupon date to the settlement date. It is only under these conditions that we need to worry about day count conventions.
The day count conventions tell us how to count the days from one coupon date to the next. There are plenty of online resources that do an excellent job of describing these rules, but you can look here http://en.wikipedia.org/wiki/Day_count_convention.
When we say that a bond has an odd last coupon, what do we mean? This terminology refers to the fact that the final payment for the bond occurs on a date that is out of synch with the rest of the coupon dates. It might be that the bond pays interest on the 15^{th} of March and September except for the final payment which will be made on the 1^{st} of October instead of the 15^{th} of September. Or, maybe it will be made on the 1^{st} of September, instead of the 15^{th}.
In the first case, where the coupon period has been lengthened, we refer to the bond as having an odd long last coupon, since the final coupon period is longer than the usual coupon period. In the second case, we refer to the bond as having an odd short last coupon, since the final coupon period is shorter than the usual coupon period. There are a variety of reasons why this occurs, but none of them are really important to this discussion.
First, let’s deal with a bond that has an odd long last coupon. Let’s assume the following facts about the bond:
settlement

9/10/2006

maturity

3/20/2009

last interest

9/10/2008

rate

0.05

yield

0.055

redemption

100

frequency

2

basis

0

The settlement is the date that when the bond is exchanged for cash. The maturity date is the date on which the redemption amount and the final coupon are paid. The rate is the coupon rate of bond, expressed in decimal format. The yield is the value that is going to be used in calculating the price of the bond, expressed in decimal format. The redemption amount is the amount as a percentage of par to be paid at maturity. The frequency specifies how many times per year the coupon interest is paid. The basis is the day count convention, which in this case is 30/360 US, meaning that the year is assumed to consist of twelve 30day months.
The ODDLPRICE function returns the price of the bond directly:
select wct.ODDLPRICE('9/10/2006'
,'3/20/2009'
,'9/10/2008'
,.05
,.055
,100
,2
,0)
Returns the following:

98.8331577049215
(1 row(s) affected)
The following table demonstrates how that result was calculated:
Coupon No.

Date

Cash Flow

Discount Factor

Discounted Cash Flow

1

3/10/2007

2.5

1.0275^1

2.433090024

2

9/10/2007

2.5

1.0275^2

2.367970827

3

3/10/2008

2.5

1.0275^3

2.304594478

4

9/10/2008

2.5

1.0275^4

2.242914334

5

3/10/2009

0

1.0275^5

0

5.055556

3/20/2009

102.6389

1.0275^(5+10/180)

89.48458804

There are a few interesting things to point out. First, unlike with regular periodic coupons, the coupon dates are calculated from the last interest date backwards, rather than from the maturity date. So there are 4 full coupons from the settlement date to the last interest date.
Second, the interest amount at maturity is not a regular coupon payment (it is ‘odd’) and needs to be calculated. The calculation is just like the accrued interest calculation, with the following exception. For odd long coupon periods, we do not calculate the number of days as the number of days from the last coupon date to the maturity date. We need to calculate something that is often referred to as the quasicoupon date, which is simply the date a coupon would have been period if the bond did not have this odd period.
In our table, the quasicoupon date is 3/10/2009, and you can see that we have assigned it a cash flow value of zero.
There will be an interest payment on the 20^{th}, though, and that represents 10 days of interest from the 10^{th} of March to the 20^{th} of March. Since the basis for this transaction is 30/360 US, we know that there 180 days in the period. It the basis had been actual/actual we would have had to calculate the number of days from quasicoupon date to the next quasicoupon date, which in this case is 9/10/2009. The accrued interest fraction is calculated as the number of whole quasicoupons (1) plus the number of days from the previous quasicoupon date to the maturity date (10) divided by the number of days in the quasicoupon period (180). Then the formula is straightforward
Accrued fraction = 1+10/180
Interest at maturity = par * rate/frequency * accrued fraction
Interest at maturity = 100 * .05/2 * 1.0555555556
Interest at maturity = 2.6389
Then, the final cash flow is interest at maturity plus redemption amount
cash flow at maturity = 100 + 2.6389
It should also be obvious at this point that the discount factor that is used for the cash flow at maturity is the accrued fraction calculated in the interest at maturity step, plus the number of whole coupons from the settlement date to the last interest date (4 + 1 + 10/180).
To calculate the discount factor, take 1 plus the yield divided by the frequency (1 + Yield/2) raised to the negative coupon number. Multiply the cash flow amount by the discount factor resulting in the discounted cash flow. Sum the discounted cash flows to arrive at the price of the bond.
As with most examples that I can find (whether online or in textbooks), this is a relatively simple example, in that we do not have to deal with accrued interest. So let’s advance one day forward in time and see what that does to the calculation.
settlement

9/11/2006

maturity

3/20/2009

last interest

9/10/2008

rate

0.05

yield

0.055

redemption

100

frequency

2

basis

0

Again, the ODDLPRICE function returns the price of the bond directly:
select wct.ODDLPRICE('9/11/2006'
,'3/20/2009'
,'9/10/2008'
,.05
,.055
,100
,2
,0)
Returns the following:

98.8341655600417
(1 row(s) affected)
The following table demonstrates how that result was calculated:
Coupon No.

Date

Cash Flow

Discount Factor

Discounted Cash Flow

0

3/10/2007

2.5

1.0275^0

2.5

1

9/10/2007

2.5

1.0275^1

2.433090024

2

3/10/2008

2.5

1.0275^2

2.367970827

3

9/10/2008

2.5

1.0275^3

2.304594478

4

3/10/2009

0

1.0275^4

0

4.055556

3/20/2009

102.6389

1.0275^(4+10/180)

91.94541421

SubTotal




101.5510695




1.0275^(179/180)

98.84805445

ACCRINT




0.01388889

PRICE




98.83416556

As we saw with a bond that has regular periodic coupons, the coupon numbers have changed, representing the number of whole coupons remaining over the life of the bond. Since the settlement date is greater than the previous coupon date, the current period does not count as a whole coupon period and all the coupon periods are one less than they were when the bond settled on the 10^{th}. And we now need to account for the accrued interest, which is 1/180^{th} of the coupon interest and we need to account for the number of days from the settlement date until the next coupon date, which is 179.
The cash flows are the same as they were when the bond settled on the 10^{th}. However, the discount factors have changed by 1, reflecting the reduction in the number of whole coupons by 1. The sum of the discounted cash flows, 101.5510695, represents the value of those cash flows as at the next coupon date. To reflect the value as at the settlement date we multiply that amount by 1.0275^{(179/180) }with the exponent representing the number of days from the settlement date to the next coupon date divided by the number of days in the coupon period. This number reflects the day count conventions that have been used in the calculation. The result of that calculation is 98.84805445.
This amount represents what is known as the dirty price of the bond, which includes the accrued interest. The ODDLPRICE calculation calculates the clean price of the bond, which is the price of the bond without the accrued interest. The accrued interest in this case is 2.5 (the coupon amount) multiplied by 1/180 (the number of days from the previous coupon date to the settlement date divided by the number of days in the period). Again, the day count conventions come into play in calculation both the numerator and the denominator. The accrued interest is 0.01388889. The dirty price minus the accrued interest gives us the clean price of the bond, 98.83416556, which is the same result returned by the select statement.
What about bonds with an odd last period that is shorter than a regular coupon period? Let’s assume the following facts about the bond:
settlement

9/10/2006

maturity

6/10/2009

last interest

3/10/2009

rate

0.05

yld

0.055

redemption

100

frequency

2

basis

1

Again, we can calculate the price directly in a TSQL statement:
select wct.ODDLPRICE('9/10/2006'
,'6/10/2009'
,'3/10/2009'
,.05
,.055
,100
,2
,1)
which returns the following result:

98.747213511112
(1 row(s) affected)
Using the same format as we used in the odd long coupon, we can see how that price was calculated:
Coupon No.

Date

Cash Flow

Discount Factor

Discounted Cash Flow

1

3/10/2007

2.5

1.0275^{1}

2.433090024

2

9/10/2007

2.5

1.0275^{2}

2.367970827

3

3/10/2008

2.5

1.0275^{3}

2.304594478

4

9/10/2008

2.5

1.0275^{4}

2.242914334

5

3/10/2009

2.5

1.0275^{5}

2.182884997

5.500000

6/10/2009

101.25

1.0275^{5.5}

87.21575885





98.74721351

Notice that since the last coupon period is a short period, the accrued fraction represents the number of days from last interest date (3/10/2009) to the maturity date (6/10/2009) divided by the number of days in the quasicoupon period 3/10/2009 to 9/10/2009. Since the day count convention for this bond is actual/actual, that fraction is 92/184 or ½.
Let’s look at what happened if we bought the bond for settlement one day later. Again, we can get the price directly by entering a TSQL statement:
select wct.ODDLPRICE('9/11/2006'
,'6/10/2009'
,'3/10/2009'
,.05
,.055
,100
,2
,1)
which returns the following result:

98.7482029093388
(1 row(s) affected)
The following table demonstrates this calculation:
Coupon No.

Date

Cash Flow

Discount Factor

Discounted Cash Flow

0

3/10/2007

2.5

1.0275^{0}

2.5

1

9/10/2007

2.5

1.0275^{1}

2.433090024

2

3/10/2008

2.5

1.0275^{2}

2.367970827

3

9/10/2008

2.5

1.0275^{3}

2.304594478

4

3/10/2009

2.5

1.0275^{4}

2.242914334

4.5

6/10/2009

101.25

1.0275^{4.5}

89.61419222

SubTotal




101.4627619




1.0275^(180/181)

98.76201506

ACCRINT




0.01381215

PRICE




98.74820291

Again, this is very much like the odd long last coupon. The number of whole quasicoupon periods is zero. There is one day’s accrued interest, which is 2.5 divided by 181 (there are 181 days in the coupon period of the settlement date, 9/10/2006 to 3/10/2007). There are 180 days from the settlement date to the next coupon date.
Hopefully, this provides some enlightenment on the mechanics of calculating the price for a bond with an odd last coupon. In another article, we will discuss the rules for pricing of bonds where there is only one cash flow remaining (the maturity amount).