Investing & Retirement Bonds & Fixed Income Street convention (30/360, actual/actual)

Bond Price Calculator

Enter a bond's face value, coupon rate, required yield and remaining term, and this calculator returns the price a buyer should pay: the present value of every remaining coupon plus the par redemption, discounted at the yield you demand. It separates the two prices that matter on a trade ticket — the clean price that dealers quote and the dirty price that actually settles — by computing accrued interest for the days elapsed since the last coupon. You also get the price as a percentage of par, the premium or discount to face value, and the current yield.

Calculator

This calculator runs in your browser. Enable JavaScript for live results — the inputs, formula and worked example below remain fully readable without it.

Inputs this calculator takes, with typical values
InputWhat to enterExample
Face (par) valueThe amount the issuer repays at maturity — $1,000 for most US corporates and munis, $100 for Treasuries quoted per hundred.1000 $
Annual coupon rateThe stated rate printed on the bond, as an annual percentage of face value. Enter 0 for a zero-coupon bond.5 %
Required yield (annual, nominal)The yield you demand on this credit and maturity, compounded at the same frequency as the coupon.6 %
Years to maturityTime from the last coupon date to redemption; the calculator turns this into whole remaining coupon periods.10 yr
Coupon frequencyUS Treasuries, corporates and munis pay semiannually; most eurobonds pay annually.Semiannual (2 per year)
Days since the last couponDays from the previous coupon date up to (but not including) settlement. Enter 0 to price on a coupon date.60 days
Days in the current coupon period180 for a semiannual bond on 30/360; use the actual day count (181, 182, 184) for Treasuries on actual/actual.180 days

It returns

  • Clean price — The quoted price, excluding accrued interest.
  • Dirty (invoice) price — What actually settles: clean price plus accrued interest.
  • Accrued interest
  • Clean price as % of par
  • Premium (+) or discount (−) to par
  • Current yield — Annual coupon divided by the clean price.

The formula

P=k=1NC/m(1+y/m)k+F(1+y/m)N
AI=CmdT
Pdirty=P(1+y/m)d/T,Pclean=PdirtyAI

In plain text: P = Σ(k=1..N) (C/m) / (1 + y/m)^k + F / (1 + y/m)^N

  • PPrice on the last coupon date (present value of all remaining cash flows) ($)
  • CAnnual coupon in currency: face value × coupon rate ($)
  • mCoupon payments per year (per year)
  • yRequired yield, quoted as a nominal annual rate compounded m times (decimal)
  • NWhole coupon periods remaining: years × m (periods)
  • FFace (par) value repaid at maturity ($)

The coupon leg is an ordinary annuity, so the sum has the closed form (C/m)·(1 − (1 + y/m)^−N)/(y/m), which the calculator uses. When y = 0 that expression is replaced by (C/m)·N.

Updated Category Bonds & Fixed Income Verified against published test cases Reading time 14 min

What a bond price actually is

A bond price is a present value, nothing more. You own a claim to a fixed schedule of payments — a coupon every six months for most US issues, then the face value back at maturity — and the price is what that schedule is worth today at the return you demand for holding it. Change the demanded return and the price changes; the cash flows never do.

That single sentence explains the two facts every fixed-income desk works from. First, price and yield move in opposite directions: if you insist on a higher return from an unchanged stream of payments, the only lever you have is to pay less for it. Second, a bond's price is not an opinion about the issuer's business the way a share price is. It is arithmetic applied to a promise, plus a judgement about whether that promise will be kept. The judgement lives entirely inside the yield you type in.

The yield you supply here is the market's required yield for this credit quality and this maturity — roughly the Treasury yield for the same term plus a credit spread. If you already know the price and want the yield instead, invert the problem with the yield to maturity calculator.

The formula, term by term

You discount each cash flow by the number of periods until you receive it. With m coupons a year, the periodic yield is i = y/m and the number of periods to the k-th coupon is simply k. So the k-th coupon of C/m dollars is worth (C/m) ÷ (1 + i)k today, and the face value F arriving at period N is worth F ÷ (1 + i)N.

Because every coupon is identical, the coupon leg is an ordinary annuity and collapses to a closed form: (C/m) × (1 − (1 + i)−N) ÷ i. That is what the calculator evaluates, which is why it stays fast even on a 30-year bond with 60 periods. The one case the closed form cannot handle is i = 0, where the fraction is 0/0; the code substitutes (C/m) × N, which is the correct limit.

Why divide the annual yield by the frequency rather than compound it? Because bond markets quote yields on a nominal basis. A 6% semiannual bond-equivalent yield means 3% every six months, not 6% compounded annually. The effective annual rate is 1.03² − 1 = 6.09%. Both numbers are correct; they answer different questions, and mixing them is the most common source of a price that is off by a few tenths of a point.

Why a whole number of periods? The formula above prices the bond on a coupon date, when exactly N periods remain. Real settlement almost never falls on a coupon date, which is where accrued interest comes in.

Clean price, dirty price and accrued interest

Dealers quote the clean price, but the buyer wires the dirty price — also called the full or invoice price. The difference is accrued interest: the seller held the bond for part of the current coupon period and is entitled to that part of the coupon, even though the issuer will pay the whole coupon to whoever owns the bond on the record date.

Accrued interest is a simple pro-rata share, not a compounded amount: AI = (C/m) × d/T, where d is the days from the last coupon to settlement and T is the days in the full coupon period. The convention that fixes d and T is the day count. US corporates and municipals use 30/360, which treats every month as 30 days and every year as 360, so T is always exactly 180 for a semiannual bond. US Treasury notes and bonds use actual/actual, where T is the real number of calendar days between coupon dates — 181, 182, 184 depending on the months involved. The Municipal Securities Rulemaking Board sets out the required calculations for municipal dollar prices and accrued interest in MSRB Rule G-33, and the Treasury's own pricing and accrual formulas are published in 31 CFR Part 356, Appendix B.

The dirty price itself is the coupon-date price carried forward by the fraction of a period elapsed: P × (1 + i)d/T. Subtract the simple-interest accrual and you get the clean price. Because the price grows by compound interest while the accrual grows by simple interest, a clean price computed this way dips slightly below par mid-period even on a bond trading exactly at its coupon rate. That sawtooth is real and it is why clean prices, not dirty prices, are the quoted convention: clean prices are almost flat when nothing has changed.

Worked example: an 8% bond priced to a 10% yield

Price a $1,000 face corporate bond with an 8% coupon paid semiannually, 10 years remaining, when the market demands a 10% yield. Settlement is 90 days after the last coupon on a 30/360 basis.

  1. Periodic figures. The coupon is $1,000 × 8% ÷ 2 = $40 every six months. The periodic yield is i = 10% ÷ 2 = 0.05. Periods remaining: N = 10 × 2 = 20.
  2. Discount factor. 1.0520 = 2.653298, so (1.05)−20 = 1 ÷ 2.653298 = 0.376889.
  3. Present value of the coupons. The annuity factor is (1 − 0.376889) ÷ 0.05 = 12.462210. Multiply by the $40 coupon: 40 × 12.462210 = $498.49.
  4. Present value of the principal. $1,000 × 0.376889 = $376.89.
  5. Price on the coupon date. $498.49 + $376.89 = $875.38, or 87.538% of par.
  6. Carry it to settlement. 90 days of a 180-day period have elapsed, so w = 0.5. The dirty price is $875.3779 × 1.050.5 = $875.3779 × 1.0246951 = $896.995.
  7. Accrued interest. $40 × 0.5 = $20.00.
  8. Clean price. $896.995 − $20.00 = $876.995. The buyer wires $897.00 to settle, and the trade prints at 87.70.

Sanity-check the result the way a trader would: the coupon rate (8%) is below the required yield (10%), so the bond must trade below par, and it does. The current yield is $80 ÷ $876.995 = 9.12%, which sits between the 8% coupon rate and the 10% yield to maturity — exactly where it belongs on a discount bond.

Notice that the clean price of $876.995 is above the $875.378 coupon-date price. That is not a mispricing: half a period of the 10% yield has been earned and only $20 of it is handed to the seller as accrued interest, so the remaining $1.62 stays with the buyer as a higher quoted price. On a bond whose coupon rate and yield are equal the same arithmetic runs the other way and the clean price sits a few cents below par mid-period.

How to read the price you get

Start with the price as a percentage of par, because that is how the market talks. A bond at 87.538 is quoted as "87 and a half" and everyone in the conversation knows what a point is worth: one point is 1% of face, so $10 on a $1,000 bond and $10,000 on a million of face. Dollar prices are for confirmations; percentage prices are for trading.

Then read the sign of the premium or discount. A bond prices above par whenever its coupon rate exceeds the required yield, and below par whenever it does not. The size of the gap tells you how far the market has moved since the bond was issued, and the maturity tells you how long you will live with it. That gap does not persist: it is amortised or accreted away, so a premium bond's price grinds down toward 100 and a discount bond's grinds up, even if yields never move again. This pull to par is a real component of return and it is the reason a premium bond's current yield always overstates what you will actually earn.

Finally, look at how steep the price–yield curve is around your yield. The chart the calculator draws is not a straight line — it is convex, bowing upward. A 100 basis point fall in yield gains you slightly more than a 100 basis point rise costs you, and that asymmetry grows with maturity. Quantify it with the Macaulay duration calculator and the modified duration price change calculator rather than eyeballing the curve.

One judgement this calculator deliberately does not make: whether your required yield is right. Pricing a single-B corporate at the 10-year Treasury yield will return a beautiful, precise, useless number.

Price per $100 of par for a 5% semiannual-coupon bond

Price of a 5% coupon bond paying semiannually, per $100 of face value, at a range of required yields and maturities. Multiply by 10 for a $1,000 bond.
Required yield5 years10 years20 years
3.0%109.22117.17129.92
4.0%104.49108.18113.68
5.0%100.00100.00100.00
6.0%95.7392.5688.44
7.0%91.6885.7978.64
8.0%87.8379.6170.31

Read across a row to see how much more a long bond moves for the same yield change: at an 8% yield the 5-year loses 12.17 points from par while the 20-year loses 29.69. That difference is duration.

The yield you enter must match the coupon frequency

This calculator compounds the required yield at the coupon frequency you select, which is the street convention. If you take an annually compounded yield of 6.09% from one source and price a semiannual bond with it, you will discount at 3.045% per half-year instead of 3.000% and get a price that is wrong by a fraction of a point — small, consistent, and exactly the kind of error that survives a spot check. Convert first: the semiannual bond-equivalent yield equivalent to an effective annual rate EAR is 2 × ((1 + EAR)0.5 − 1).

Mistakes that produce a wrong bond price

  • Using the coupon rate as the discount rate. The coupon rate sets the cash flows; the required yield discounts them. They are equal only for a bond priced at par.
  • Quoting the dirty price. Dealers quote clean. If you compare a dirty price against a screen quote you will think the bond is cheap by roughly one accrued coupon.
  • Assuming 180 days for a Treasury. Treasuries accrue on actual/actual, so the coupon period is the real day count between coupon dates. Using 180 misprices the accrual by up to a few cents per $100.
  • Ignoring the call. Most corporate and municipal bonds are callable. A bond trading well above par is usually priced to the call date, not to maturity — use the yield to call calculator and price to the worst outcome.
  • Comparing a municipal yield to a taxable one. Municipal coupons are generally exempt from federal income tax, so their yields are not comparable to corporate yields until you gross them up with the tax-equivalent yield calculator.
  • Forgetting that this model assumes no default. Discounted cash flow pricing takes every promised payment as certain. Credit risk enters only through the yield you choose, which is a blunt instrument for a bond that might not pay.

What this model leaves out, and what to use instead

This is a single-yield model: every cash flow is discounted at the same rate. Real term structures are not flat, and an arbitrage-free valuation discounts each cash flow at the spot rate for its own maturity. For an option-free bond the two approaches give prices that are close, and the single yield that reproduces the spot-curve price is precisely the yield to maturity. The single-yield form remains the market's language because it compresses a whole curve into one quotable number.

Embedded options break the model outright. A callable bond gives the issuer the right to redeem early, which caps the price on rallies and produces negative convexity; a putable bond does the opposite. Neither is captured by discounting a fixed schedule, and pricing them properly needs a lattice or a Monte Carlo model with a volatility assumption. Floating-rate notes are a different problem again, since their coupons reset — they price near par by construction and are analysed on discount margin rather than yield.

Two nearby tools cover the simpler special cases. A bond with no coupons at all is handled directly by the zero-coupon bond price calculator, which is this formula with the annuity term deleted. And if you only want the income-per-dollar-invested view rather than a full valuation, the current yield calculator gives you coupon divided by price in one step — useful, but silent about the pull to par that dominates returns on deeply discounted or premium bonds.

Key terms

Par (face) value
The principal the issuer repays at maturity and the base on which the coupon is calculated. Coupon payments do not change when the market price does.
Clean price
The quoted price, excluding accrued interest. Expressed as a percentage of par in the market, in dollars on a confirmation.
Dirty (full, invoice) price
Clean price plus accrued interest — the amount that actually settles.
Day count convention
The rule for counting days in the accrual: 30/360 for US corporates and municipals, actual/actual for Treasuries, actual/360 for many money-market instruments.
Pull to par
The tendency of a bond's price to converge on face value as maturity approaches, holding the yield constant. It amortises a premium and accretes a discount.
Basis point
One hundredth of a percentage point. Yields move in basis points; prices move in points and thirty-seconds.

Frequently asked questions

Why is the clean price slightly below par when the coupon rate equals the yield?

Because the price compounds between coupons while accrued interest accrues on simple interest. The dirty price of a par bond grows by (1 + i) raised to the fraction of a period elapsed, but the accrual you subtract is a straight-line share of the coupon. The compound growth is smaller than the straight-line accrual in the middle of the period, so the clean price sags a few cents below 100 and returns to exactly 100 on each coupon date. It is an artefact of the convention, not a mispricing.

Should I enter the yield to maturity or the coupon rate as the required yield?

Enter the yield to maturity you demand — the market's required return for this issuer and maturity. The coupon rate is already captured by the coupon rate field, where it determines the cash flows. If you enter the coupon rate in both fields you will always get a price of exactly par, which tells you nothing.

How do I price a bond quoted per $100 rather than per $1,000?

Set the face value to 100. Every output then reads in points, which is how the market quotes. The clean price as a percentage of par is unchanged either way, so if you only care about the quote you can leave the face value at $1,000 and read the percentage output.

What is a normal price for an investment-grade corporate bond?

There is no normal price, because price is an accident of when the bond was issued. Issuers set the coupon close to the prevailing yield at issue, so a bond starts life near 100 and then moves as market yields move; the reference table above shows the size of that drift. A deep discount tells you rates rose sharply after issue, or that the maturity is long, or that the credit has deteriorated — and the yield, not the price, is what separates those cases. A price well above par is usually a bond issued in a higher-rate era, and it is nearly always callable, so quote it to the call rather than to maturity.

Does this calculator handle callable or putable bonds?

No. It discounts a fixed schedule to maturity and assumes no early redemption. For a callable bond, run the same cash flows to each call date and take the lowest resulting yield — the yield to worst — using the yield to call calculator. Properly valuing the embedded option needs an interest-rate lattice and a volatility assumption, which is beyond a closed-form model.

Why does a longer bond move more for the same change in yield?

Because more of its value sits in cash flows that are far away, and distant cash flows are the ones whose discount factors change most. In the reference table, a one-point rise in yield from 5% to 6% costs the 5-year bond 4.27 points and the 20-year bond 11.56 points. Duration is the formal measure of this sensitivity, and it rises with maturity and falls with the coupon rate.

What day count should I use if I do not know the convention?

Use 30/360 with a 180-day period for US corporate and municipal bonds, and actual/actual with the true calendar day count for US Treasury notes and bonds. If you have the last and next coupon dates, count the actual days between them for the period and the actual days to settlement for the accrual. The difference between conventions is usually a few cents per $100 of face, but it is the difference between matching a dealer's invoice and arguing about it.

Can the required yield be negative?

Yes, and the calculator accepts values down to −5%. Negative yields were common in German and Japanese government bonds during the 2010s, and the arithmetic is unchanged: the discount factors simply exceed 1, so the price rises above the undiscounted sum of the cash flows. The only thing that breaks is a periodic yield of −100% or worse, where the discount factor is undefined; the calculator returns a dash rather than a number in that case.

Why does the calculator round years to a whole number of coupon periods?

Because the discounted-cash-flow formula counts periods, not years, and a bond pays on fixed dates. If you enter 10.3 years on a semiannual bond, that is 20.6 periods, which is not a schedule any bond has. The calculator rounds to 21 periods and flags it, then lets you handle the part-period separately through the days-since-last-coupon fields, which is exactly how settlement between coupon dates is treated in practice.

References