Bond pricing: coupons, discounts and premiums
How a bond's price is built from discounted cash flows, why price and yield sit on a seesaw, and how clean, dirty prices and accrued interest fit together.
A bond is a promise written in cash flows: fixed coupons on fixed dates, plus the face value returned at maturity. Its fair price is simply the present value of all those cash flows discounted at the market yield. Nothing else is involved — every pricing puzzle reduces to a TVM computation.
The price–yield seesaw
The coupon rate is fixed at issuance; the market yield moves every day. When the required yield rises above the coupon, the price must fall below face value (a discount bond) so the buyer still earns the higher market rate. When the yield falls below the coupon, the price climbs above face value (a premium bond). At coupon = yield the bond trades exactly at par, 100.
| Scenario | Coupon | Yield | Clean price |
|---|---|---|---|
| Discount — 3-year annual pay | 8% | 10% | 95.0263 |
| Par — 6-month to maturity, semi-annual | 6% | 6% | 100.0000 |
| Premium — 3-year annual pay | 8% | 6% | 105.3460 |
Worked example: the discount bond at 95.0263
- Face value 100, coupon 8% annual, maturity 3 years, settlement on a coupon date (2024-01-01 → 2027-01-01).
- Cash flows: 8, 8, and 108 at the ends of years 1, 2, 3.
- Discount each at the 10% market yield and add them up.
- The FinScope bond worksheet (and the BA II Plus BOND function) returns a clean price of 95.0263.
- Flip the question — price 95.0263 given, solve for yield — and the YTM comes back exactly 10%.
The premium case is the mirror image: the same 3-year, 8% coupon priced at only a 6% yield gives 105.3460. You pay more than face because the 8% coupons are richer than the market currently requires — and the price glides back down to 100 as maturity approaches.
Clean price, dirty price and accrued interest
Between coupon dates the seller has held the bond for part of the period and has earned interest the next coupon will formally pay. Quoted prices are clean — they exclude this accrued interest — while the amount actually settled is the dirty price = clean price + accrued interest. Accrued interest is computed linearly: coupon × (days elapsed ÷ days in period).
- Take the 8% semi-annual bond (coupon 4 per period) and settle on 2024-04-01.
- The previous coupon was 2024-01-01 and the next is 2024-07-01 — 91 of 182 days have elapsed.
- Accrued interest = 4 × (91 ÷ 182) = 2.00, engine-verified.
- The worksheet reports dirty − clean = exactly 2.00 and 91 days to the next coupon.
The pull to par
Discount and premium are temporary states. As time passes and fewer coupons remain, the discounted value of the face value dominates, and every bond's price converges to 100 at maturity — up from 95.0263 for the discount bond, down from 105.3460 for the premium bond, all else equal. This 'pull to par' is why holding a bond to maturity immunizes you against interim price swings.
Frequently asked questions
What is the difference between clean and dirty price?
The clean price excludes interest earned since the last coupon date; the dirty price includes it. Settlement always happens at the dirty price: dirty = clean + accrued interest. In the verified example, a semi-annual 8% bond settled 91 days into a 182-day period carries exactly 2.00 of accrued interest on a 4.00 coupon.
Why does the price fall when yields rise?
The bond's cash flows are fixed, so the only way a buyer can earn a newly higher market rate is to pay less today. Each future coupon and the face value are discounted more heavily, and the sum — the price — drops. The same logic works in reverse, which is why falling rates push bond prices up.
How is accrued interest calculated?
Linearly, by time: coupon per period × (days elapsed since the last coupon ÷ total days in the current coupon period). The day-count convention (ACT or 30/360) decides how those days are counted. FinScope shows the day count and the accrued amount side by side in the bond worksheet.
Practice it live
Open the matching worksheet and reproduce every number in this article.
Open calculator