Bonds contain a number of different characteristics that depend on the issuer, priority, coupon rate, and redemption features. Bond pricing 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).
This article builds on the basic financial principles from Comparing investments to show how bond prices are calculated. It does not discuss why prices change, nor should it be used to predict future performance. Please consult the forum for guidance.
Microsoft Excel was used for this article. However, LibreOffice Calc will work equally well and is a free application that is supported on several operating systems. LibreOffice 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.
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
- The present value of the (semiannual) coupon payments
- The present value of the par or maturity value
This is shown mathematically as:
- 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
Price / Yield curve
The five financial variables for a bond:
- PV = Bond price. A sum of the cash flows.
- FV = Par (Maturity) value. Set by the bond issuer, cannot change.
- PMT = Coupon rate. The interest rate set by the bond issuer, cannot change.
- N = Number of compounding periods, typically twice a year (semiannual). Set by the bond issuer as the Maturity date, cannot change.
- I = Required Yield, an interest rate desired by the investor. Normally specified as an annual rate (Semiannual rate = Required Yield / 2).
- Type= 0. Ordinary annuity. Does not change.
Since I is in the denominator of the bond price equation, increasing I will decrease the price (the other variables are fixed). Therefore, a bond's price will always theoretically move in the opposite direction to its yield.
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.
Bond Price/Yield Relationship
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%.[note 1]
Premium / Discount Price Regions
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:
Bond Price over Time (Required Yield Does Not Change)
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).
|12 % Required Yield (Discount)||9% Required Yield (Par)||7 % Required Yield (Premium)|
|Years to Maturity||Present Value of
|Present Value of Par||Price of Bond||Present Value of
|Present Value of Par||Price of Bond||Present Value of
|Present Value of Par||Price of Bond|
|Cell C88 =10||=PV(12%/2,C88*2,-45)||=PV(12%/2,C88*2,0,-1000)||=D88+E88||=PV(9%/2,2*C88,-45)||=PV(9%/2,2*C88,0,-1000)||=J88+K88||=PV(7%/2,2*C88,-45)||=PV(7%/2,2*C88,0,-1000)||=G88+H88|
The last row shows the Excel formulas used to create the table and chart.
Changes in bond price
- Changes in required yield due to the credit quality of the issuer
- Changes in required yield due to changes in the marketplace
- 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?
The coupon payment per period is: $45 = $1,000 * 9%/2 Semiannual 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.
With an (expected) required yield of 8%, the bond price is: $1,089.37 =PV(8%/2,16*2,-45,-1000) 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:
$278.05 = $1,089.37 - $811.32 Price if the yield changes - price if the yield does not change
Which is broken down as:
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 The price due to the change in required yield: $241.03 = $278.05 - $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.
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:
The decimal percentage: 95.21875% =0.95 + 7/32/100 Sells at discount 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
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:
Do not use Excel's compound interest rate financial functions, such as present value PV(), for any time other than the exact coupon date. The interest in-between coupon payments is simple interest (not compounded). Using these formulas will always result in an error. Always use the PRICE() function, which is intended for bonds.
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.
Settlement date: 7/17/1997 Cell G103, Date format Maturity date: 3/1/2003 Cell G104, Date format Day Convention: 30/360 Convention = 0 Coupon Rate: 10% annual Yield: 6.5% annual Price as % of par value: 100 Number format Days in coupon period: 180 =COUPDAYS(G103,G104,2,0) Days from coupon to settlement date: 136 =COUPDAYBS(G103,G104,2,0) Days to next coupon period: 44 =COUPDAYSNC(G103,G104,2,0) Number of coupons remaining: 12 =COUPNUM(G103,G104,2,0) Clean price, % of par value: $116.25 =PRICE(G103,G104,10%,6.5%,100,2,0) Accrued interest: $3.78 =100*10%/2*COUPDAYBS(G103,G104,2,0)/COUPDAYS(G103,G104,2,0) Dirty price, % of par value: $120.03 $116.25 + $3.78 Face Value: $500.00 Clean Price: $581.25 =500*116.25/100 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.
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.
Separation of Dirty Price, Clean Price, and Accrued Interest
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). 
Negative Accrued Interest = Coupon * (Days from the settlement date to the coupon date / Days in coupon period) 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:
Basis Day Count Basis Market 0 US (NASD) 30/360 U.S. Corporate, U.S Government agency, U.S. Municipal 1 Actual/actual U.S. Government (U.S. Treasury), CDs (some) 2 Actual/360 3 Actual/365 CDs (some) 4 European 30/360
Microsoft Excel's financial functions use these conventions, such as COUPDAYSNC. See the Excel help file to understand how it works.
- Fabozzi, page 53. Done in Excel for a 20 year, $1,000 par value, 9% coupon bond when the required yield varies from 1% to 20%.
Required Yield (Annual), Column C Present Value of Coupon payments, Column D Present Value of Par Value, Column E Price of Bond Row 24 9% $828.07 $171.93 $1,000.00 Row 24 .09 =PV(C24/2,$D$4,$D$6) =PV(C24/2,$D$4,0,$D$5) =SUM(D24:E24)
- where Cell D4 =2*20 (20 years, semiannual, NPER), D5 =-1000 (par value, FV), D6 =-45 (coupon payment, PMT)
- LibreOffice Calc Financial functions. For example PV(rate; numperiods; payment; futurevalue; type) is identical.
- Fabozzi, Frank J., "Fixed Income Mathematics, Analytical & Statistical Techniques", 3rd edition, page 48.
Note: The graphs on this page are not from this text (derived by the wiki author). There are no spreadsheet programs used in this book- the examples are used to verify results from Excel.
See Periodic Interest Rate in the wiki.
- Fabozzi, page 48.
- Fabozzi, page 54.
- Comparing Investments, Fundamental Property #1, in the wiki
- Fabozzi, page 53.
- Fabozzi, page 54.
- Fabozzi, page 55.
- Fabozzi, page 55.
- New in wiki - Bond Pricing, forum discussion
- Fabozzi, page 55.
- Fabozzi, page 58.
- Fabozzi, page 58. The maturity value of $1,000 is not stated. 12% yield is used, should be 11.6% (the answers match at 12%, a difference of $22.58).
- Fabozzi, page 60. Text shows $430.83 (roundoff error due).
- Fabozzi, page 61.
- Fabozzi, page 62.
- Bond Valuation Using Microsoft Excel
- PRICE() and Coupon financial functions need the Analysis Toolpak add-in for Excel 2003, but are already built-in for Excel 2007.
- Fabozzi, page 67. Used to confirm results with Excel only.
- Fabozzi, page 66.
- Fabozzi, page 67.
- Bond Accrued Interest, example modified to show required yield at 4%. Otherwise, the price would be a straight line (price = par).
- Fabozzi, page 67. Also Bond Accrued Interest.
- Fabozzi, page 64. Also, Microsoft help file for PRICE().
- COUPDAYS function, enable browser cookies to view
- Fabozzi, Frank J., "Fixed Income Mathematics, Analytical & Statistical Techniques", 3rd edition. Also available: 4th edition
- Microsoft Excel Financial Functions, enable browser cookies to view
- Bond Valuation Using Microsoft Excel, from http://www.tvmcalcs.com/
- Bond Accrued Interest, from http://www.riskglossary.com/
- New in wiki - Bond Pricing, forum discussion
- Download the Excel file used for this article (Google Docs): Bond Pricing.xls
- No account required. Contains MS Excel in Office 2003 compatible format.
- Is This How Bond Math Works?, forum discussion which includes several illustrative examples.
- So do we care more about change in bond price or bond yield?, forum discussion.