Bond pricing

Bonds contain a number of different characteristics that depend on the issuer, priority, coupon rate, and redemption features. This article shows how to price only the most common types of bonds, such as a government or corporate bond without any embedded options (e.g. not callable, not an MBS).

Microsoft Excel was used for this article. However, Open Office Calc will work equally well and is a free application that is supported on several operating systems. Open Office financial functions are very similar to Microsoft's functions.

Excel formulas are shown where possible. The figures were created from the examples. All examples are available for download at the bottom of this page.

Required yield
The interest rate, or discount rate, that the investor wants from investing in a bond is called the required yield. Required yield is often specified as an annual interest rate. For purposes of calculating cash flows, a bond's semiannual interest rate is conventionally set to one-half the annual interest rate.

However, note that using a periodic rate as one-half the annual interest rate will result in an effective annual yield that is greater than the annual interest rate (an error in the actual interest rate).

Pricing a bond
Bond price is the sum of the present value of the cash flows, which is determined by adding:
 * 1) The present value of the (semiannual) coupon payments
 * 2) The present value of the par or maturity value

This is shown mathematically as:
 * $$\begin{align}p

&= \left(\frac{c}{(1+i)^1}+\frac{c}{(1+i)^2}+ ... +\frac{c}{(1+i)^N}\right) + \frac{M}{(1+i)^N}\\ &= c\left(\frac{1-\frac{1}{(1+i)^N}}{i}\right)+ \frac{M}{(1+i)^N} \end{align} $$
 * where
 * p = Price
 * c = Semiannual coupon payment
 * i = Periodic interest rate (required yield/2)
 * n = Number of periods (number of years x 2)
 * M = Maturity value

As the semiannual coupon payments are equivalent to an ordinary annuity, the same present value formula used for Comparing Investments applies.

Price/Yield curve
The six financial variables for a bond:
 * 1) PV = Bond price. A sum of the cash flows.
 * 2) FV = Par (Maturity) value. Set by the bond issuer, cannot change.
 * 3) PMT = Coupon rate. The interest rate set by the bond issuer, cannot change.
 * 4) Type= 0. Ordinary annuity. Does not change.
 * 5) N = Number of compounding periods, typically twice a year (semiannual). Set by the bond issuer as the Maturity date, cannot change.
 * 6) I = Required Yield, an interest rate desired by the investor. Normally specified as an annual rate (Semiannual rate = Required Yield / 2).

As yields change in the marketplace, the only variable that can compensate for these changes is price (sum of PV). This why bond charts show price and yield- they are the only 2 variables that are not set by the bond. Change one and the other follows.


 * {| style="margin:1em auto 1em auto;" cellpadding= "3" border="1" style="border:1px solid black; border-collapse: collapse;"


 * +Bond Price/Yield Relationship
 * Bond_Price-Yield_Curve.png
 * }

Notice how the price of a bond follows the basic property of present value - as the interest rate rises, the price drops and vice versa. The curve of this graph has a convex shape, which can have significant implications for the investment properties of a bond.

Coupon rate, required yield, and price relationships
As shown below, when the required yield is equal to the coupon rate, the price of the bond is equal to the par value. In this case, a 20-year, $1,000 par value, 9% coupon bond has a price of $1,000 when the required yield is 9%.
 * {| style="margin:1em auto 1em auto;" cellpadding= "3" border="1" style="border:1px solid black; border-collapse: collapse;"


 * +Premium / Discount Price Regions
 * Bond - Premium - Discount Curve.png
 * }

At the time of issuance, a bond's coupon rate is set to the (approximate) prevailing yield in the market. The price of the bond is then (approximately) equal to the par value. This leads to:
 * When the investor's desired interest rate (required yield, 9%) is the same as the bond's interest rate (coupon rate, 9%), the investor will pay the par value ($1,000) and vice versa.

Suppose the marketplace yields rise. The bond's coupon rate is now below the prevailing rates and is no longer competitive. Consequently, the bond's price is forced to drop below par value. This price drop represents a form of interest income to the investor as compensation for the bond's coupon rate being lower than the marketplace (required yield). A bond selling below it's par value is called selling at a discount. This leads to:
 * If the marketplace yield increases above the coupon rate (interest rate goes above 9%), the bond price will drop below par value (below $1,000) and sell at a discount.

Alternatively, the marketplace yields drop below the coupon rate. The bond's interest rate is now higher than the market place (required yield), which makes this bond a very attractive investment. The bond's price increases as investors bid for the higher yields. A bond selling above it's par value is called selling at a premium. This leads to:
 * If the bond's coupon rate is higher than prevailing marketplace yields (interest rate goes below 9%), the price will rise above par value (above $1,000) and sell at a premium.

Purchasing a bond at a discount or a premium can have important implications to the tax treatment of the bond's future cash flows, even in the case of tax-exempt bonds.

A bond's path over time
The price of a bond is only valid at a single point in time, even if the required yield does not change. Why? The maturity date gets closer (remaining number of compounding periods decreases):
 * The number of remaining coupon payments is less
 * The present value of the par value changes

Even within the span of a single day, the price that must be paid to purchase a given bond changes, since the bond has accrued interest that has not yet been paid out by the coupon. If this were not the case, then arbitrageurs could purchase bonds the day before their coupon payment and sell them the day after. Because arbitrageurs do exactly that, the market remains efficient and sellers of bonds are compensated for accrued interest. Note that accrued interest is often listed separately from the price of a bond.

When the required yield (marketplace interest rate) does not change:


 * The price of a discount bond always increases towards par value over time.
 * The price of a premium bond always decreases towards par value over time.
 * If the required yield is equal to the coupon rate (marketplace interest equals bond interest), the price is always the par value.

The path of a bond over time (required yield does not change) is one of three fundamental factors that influence price.

For example, the price over time of a 20-year, 9% coupon rate, $1,000 par value bond:
 * {| style="margin:1em auto 1em auto;" cellpadding= "3" border="1" style="border:1px solid black; border-collapse: collapse;"


 * +Bond Price over Time (Required Yield Does Not Change)
 * Bond - Price over Time.png
 * }

Note that, while this graph shows the path through time as a smooth line, the path of a coupon-paying bond appears more sawtooth-shaped, as accrued interest builds until a coupon payment is made, then the value drops by the amount of the coupon that was disbursed (see example below).

The last row shows the Excel formulas used to create the table and chart.

Changes in bond price
There are three major factors which affect bond prices:
 * 1) Changes in required yield due to the credit quality of the issuer
 * 2) Changes in required yield due to changes in the marketplace
 * 3) The price change which occurs from simply moving over time (required yield is fixed)

Separating marketplace and credit quality changes from how the bond would perform with unchanging yield is important.

For example: A 20-year, 9% coupon, $1,000 bond is purchased at a price of $774.30. In 4 years, the future required yield of comparable bonds is expected to be 8%. What happens to the change in price 4 years from now?


 * {| style="margin:1em auto 1em auto;" cellpadding= "3" border="1" style="border:1px solid gray; border-collapse: collapse;"


 * align = "right"|The coupon payment per period is:
 * $45 = $1,000 * 9%/2
 * Semiannual
 * align = "right"|The 20-year bond yield at purchase is:
 * 11.6% = 2*45/774.30
 * (coupon payment / purchase price) * 2 payments / year
 * }
 * }

In four years, the 20-year bond becomes a 16 year bond.
 * {| style="margin:1em auto 1em auto;" cellpadding= "3" border="1" style="border:1px solid gray; border-collapse: collapse;"


 * align = "right"|With an (expected) required yield of 8%, the bond price is:
 * $1,089.37
 * =PV(8%/2,16*2,-45,-1000)
 * align = "right"|Assuming the required yield has not changed (time path of bond), the bond price is:
 * $811.32
 * =PV(11.6234%/2,16*2,-45,-1000)
 * }
 * }

The total price change is:
 * {| style="margin:1em auto 1em auto;" cellpadding= "3" border="1" style="border:1px solid gray; border-collapse: collapse;"


 * $315.07 = $1,089.37 - $811.32
 * Price if the yield changes - price if the yield does not change
 * }

Which is broken down as:
 * {| style="margin:1em auto 1em auto;" cellpadding= "3" border="1" style="border:1px solid gray; border-collapse: collapse;"


 * align = "right"|The price due to the bond's path over time (yield fixed):
 * $37.02 = $811.32 - $774.30
 * Price change over 4 years, yield does not change
 * align = "right"|The price due to the change in required yield:
 * $278.05 = $315.07 - $37.02
 * What remains, due to marketplace and credit quality
 * }
 * }

Zero coupon bonds
Zero coupon bonds do not have periodic payments. Therefore, the price of the bond is due solely to the present value of the par value.

Example: A 10-year zero coupon bond, maturity value of $1,000, and required yield of 8.6% has a price of $430.84.


 * {| style="margin:1em auto 1em auto;" cellpadding= "3" border="1" style="border:1px solid gray; border-collapse: collapse;"


 * align = "center"|$430.84
 * align = "center"|=PV(8.6%/2,10*2,0,-1000)
 * }
 * }

The formula is used consistently with coupon bearing bonds: Required yield = (annual rate/2), a semiannual compounding period (N*2).

Bond price quotations
Bond prices are quoted using a percentage of par value.


 * Price quotes less than 100 are selling at a discount
 * Price quotes equal to 100 are selling at par value
 * Price quotes greater than 100 are selling at a premium

Some securities state the quotes in terms of fractions. Just convert everything to decimal and multiply by the bond's par value to arrive at the price.

For example, a price quote of 97-7/32% for a $25,000 par value bond:


 * {| style="margin:1em auto 1em auto;" cellpadding= "3" border="1" style="border:1px solid gray; border-collapse: collapse;"


 * align = "right"|The decimal percentage:
 * 95.21875% =0.95 + 7/32/100
 * Sells at discount
 * align = "right"|Sells at:
 * $23,804.69 = 95.21875%*25000
 * }
 * }
 * }

Price between coupon periods
The price must be adjusted to account for bond transactions in-between coupon periods. There are 3 steps:
 * Determine the number of days until the next coupon payment
 * Determine the present value of the cash flow for this incremental period, a modification of the cash flow period
 * Determine the accrued interest, this is simple interest
 * {| style="border:1px solid darkgray;"


 * align="left" |Accrued Interest = c * (Number of days from last coupon payment to settlement date / Number of days in the coupon period)
 * where c is the coupon payment
 * }
 * }

All of these steps are combined in the following example:

For example, a corporate bond with a coupon rate of 10% maturing on March 1, 2003, was purchased with a settlement date of July 17, 1997. What is the price assuming a yield of 6.5%? What is the accrued interest?

If the bond has a face value of $500, the price paid is $600.14.


 * {| style="margin:1em auto 1em auto;" cellpadding= "3" border="1" style="border:1px solid gray; border-collapse: collapse;"


 * align = "right"|Settlement date:
 * 7/17/1997
 * Cell G103, Date format
 * align = "right"|Maturity date:
 * 3/1/2003
 * Cell G104, Date format
 * align = "right"|Day Convention:
 * 30/360
 * Convention = 0
 * align = "right"|Coupon Rate:
 * 10%
 * annual
 * align = "right"| Yield:
 * 6.5%
 * annual
 * align = "right"| Price as % of par value:
 * 100
 * Number format
 * align = "right"| Days in coupon period:
 * 180
 * =COUPDAYS(G103,G104,2,0)
 * align = "right"| Days from coupon to settlement date:
 * 136
 * =COUPDAYBS(G103,G104,2,0)
 * align = "right"| Days to next coupon period:
 * 44
 * =COUPDAYSNC(G103,G104,2,0)
 * align = "right"| Number of coupons remaining:
 * 12
 * =COUPNUM(G103,G104,2,0)
 * align = "right"|Clean price, % of par value:
 * $116.25
 * =PRICE(G103,G104,10%,6.5%,100,2,0)
 * align = "right"| Accrued interest:
 * $3.78
 * =100*10%/2*COUPDAYBS(G103,G104,2,0)/COUPDAYS(G103,G104,2,0)
 * align = "right"| Dirty price, % of par value:
 * $120.03
 * $116.25 + $3.78
 * align = "right"|Face Value:
 * $500.00
 * align = "right"|Clean Price:
 * $581.25
 * =500*116.25/100
 * align = "right"|Dirty Price:
 * $600.14
 * =500*120.0281/100
 * }
 * align = "right"| Dirty price, % of par value:
 * $120.03
 * $116.25 + $3.78
 * align = "right"|Face Value:
 * $500.00
 * align = "right"|Clean Price:
 * $581.25
 * =500*116.25/100
 * align = "right"|Dirty Price:
 * $600.14
 * =500*120.0281/100
 * }
 * align = "right"|Dirty Price:
 * $600.14
 * =500*120.0281/100
 * }

Notes on the use of PRICE:
 * Coupon rates and yield are annual, but coupon payments are semiannual (frequency = 2).
 * Redemption is the security's redemption value per $100 face value, which is to say that it's in terms of percent par value. Multiply the result by the face value to arrive at the price.

Dirty price vs. clean price
The buyer must compensate the seller for the portion of interest between the settlement date and the next coupon payment. This is because the seller will then send the next payment to the buyer. This interest is called accrued interest.

The price of a bond which includes the accrued interest is called the dirty price. A bond priced at the settlement date (no accrued interest) is called the clean price.


 * {| style="border:1px solid darkgray;"


 * align="left" |Dirty Price = Clean Price + Accrued Interest
 * }

When the dirty price is calculated, the next coupon payment is a discounted value. However, accrued interest is not discounted. Therefore, if a bond is selling at par and the settlement date is not a coupon date, the yield will be slightly less than the coupon rate. Only when the coupon date and settlement date coincide is the yield equal to the coupon rate for a bond selling at par.

The convention is to quote a bond's clean price, but the buyer will pay the dirty price. In the above example, a buyer will be quoted $581.25, but have to pay $600.14.

As the interest accumulates in-between coupon periods, the price acquires a saw-tooth shape when the accumulated interest drops to zero at the next coupon payment. An example using a 20-year, 3% coupon, 4% required yield bond is shown below for the first 4 years of the bond.


 * {| style="margin:1em auto 1em auto;" cellpadding= "3" border="1" style="border:1px solid black; border-collapse: collapse;"


 * +Separation of Dirty Price, Clean Price, and Accrued Interest
 * Bond - Dirty vs. Clean Price over Time.png
 * }

Bonds have an ex-coupon (ex-dividend) date, which is a date in which the trade must occur in order for the buyer to receive the next coupon. If the trade occurs after that date, the accrued interest must be subtracted from the price. This is known as negative accrued interest. When the buyer receives the next coupon, the bond is said to be traded cum-coupon (cum-dividend).
 * {| style="border:1px solid darkgray;"


 * align="left" |Negative Accrued Interest = Coupon * (Days from the settlement date to the coupon date / Days in coupon period)
 * align="left" |Dirty Price = Clean Price - Negative Accrued Interest
 * }
 * }

Day count conventions
The number of days between coupon periods vary by bond issuer. The notations have been standardized in the form of:
 * Number of days in a month / actual number of days in a year

Some example conventions:
 * {| style="margin:1em auto 1em auto;" cellpadding= "3" border="1" style="border:1px solid gray; border-collapse: collapse;"


 * align = "center"|Basis
 * align = "center"|Day Count Basis
 * align = "center"|Market
 * align = "center"|0
 * US (NASD) 30/360
 * U.S. Corporate, U.S Government agency, U.S. Municipal
 * align = "center"|1
 * Actual/actual
 * U.S. Government (U.S. Treasury)
 * align = "center"|2
 * Actual/360
 * align = "center"|3
 * Actual/365
 * align = "center"|4
 * European 30/360
 * }
 * align = "center"|3
 * Actual/365
 * align = "center"|4
 * European 30/360
 * }
 * European 30/360
 * }
 * }

Microsoft Excel's financial functions use these conventions, such as COUPDAYSNC. See the Excel help file to understand how it works.