Financial · Live
Bond Calculator,
price & yield.
Calculate a bond's yield to maturity from its market price, or find the fair value of a bond from a required yield. Outputs include current yield, Macaulay and modified duration, total return, and full coupon schedule, updated as you type.
Inputs
Mode
Payment frequency
Yield to Maturity
for a $950.00 market price
$50.00 discount below par
- Current yieldⓘ
- 5.263%
- Annual coupon
- $50.00
- Coupon / period
- $25.00
- Total coupon income
- $500.00
- Total payoutⓘ
- $1,500.00
- Total return
- $550.00
- Macaulay duration
- 7.93 yrs
- Modified durationⓘ
- 7.71 yrs
- Coupon periods
- 20
Bond investing guide
How to calculate bond price and yield to maturity.
A bond is a fixed-income instrument through which an issuer, a corporation, government, or municipality, borrows money from investors and agrees to pay periodic interest (the coupon) and return the principal (the face value) at a specified future date (the maturity date). Bond calculators let you find either the fair price of a bond given a target yield, or the implied yield given a market price.
The bond price formula
The theoretical price of a coupon bond is the present value of all future cash flows — every coupon payment plus the face value returned at maturity, discounted at the bond's yield to maturity (YTM). For a bond with n coupon periods, periodic coupon C, face value F, and periodic yield r:
Here r is the yield per period — annual YTM divided by the payment frequency and n is the total number of coupon periods (years × frequency). The first term discounts the coupon annuity; the second term discounts the lump-sum face value.
Worked example: semi-annual bond
A 10-year bond with a $1,000 face value, 5% annual coupon rate, and 5.5% required yield pays $25 every 6 months (5% × $1,000 ÷ 2). With n = 20 periods and r = 2.75% per period:
Because the required yield (5.5%) is higher than the coupon rate (5%), the bond trades at a discount: its price is below par.
What is yield to maturity (YTM)?
Yield to maturity is the single discount rate that makes the present value of all a bond's future cash flows equal to its current market price. It is the annualised total return you will earn if you buy the bond today and hold it until it matures, assuming all coupons are reinvested at the same rate.
There is no closed-form solution for YTM — the equation above must be solved numerically. This calculator uses Newton-Raphson iteration seeded with the standard approximation:
That approximation is accurate to within a few basis points for most bonds and converges in under ten Newton-Raphson steps for all practical inputs.
Current yield vs. yield to maturity
Current yield is simply the bond's annual coupon income divided by its market price:
It ignores the time value of money and the capital gain or loss that arises when the bond is redeemed at par. YTM accounts for both, so it is the more complete measure of return. For a discount bond, YTM > current yield > coupon rate. For a premium bond, the order reverses.
Premium vs. discount bonds
A bond trades at a premium (price > par) when its coupon rate is higher than prevailing market yields. Buyers are willing to pay extra because the future coupons are above-market relative to today's rates. Conversely, a bond trades at a discount (price < par) when its coupon rate is below market yields.
| Relationship | Bond status | Price vs. par |
|---|---|---|
| Coupon rate > YTM | Premium | Price > $1,000 |
| Coupon rate = YTM | At par | Price = $1,000 |
| Coupon rate < YTM | Discount | Price < $1,000 |
How payment frequency affects yield
Most US government and corporate bonds pay coupons semi-annually. UK gilts and many international bonds pay annually. Some structured products pay quarterly or monthly. The more frequent the compounding, the slightly higher the effective annual yield for a given stated YTM. This is the difference between nominal yield and effective annual yield (EAY):
where m is the number of payments per year. For a 6% YTM bond paying semi-annually, EAY = (1.03)² − 1 = 6.09%.
Understanding bond duration
Duration measures a bond's price sensitivity to interest rate changes. This calculator reports two complementary duration metrics.
Macaulay duration is the weighted-average time (in years) until you receive a bond's cash flows, where each cash flow's weight is its share of the bond's total present value:
Modified duration converts Macaulay duration into a direct price-sensitivity measure. It approximates the percentage change in bond price for a 1% (100 basis point) change in yield:
For example, if a bond has a modified duration of 7.5, a 1% rise in market yields will cause its price to fall approximately 7.5%. Longer maturity and lower coupon rates both increase duration , making the bond more sensitive to rate moves.
Zero-coupon bonds
Enter a 0% coupon rate to model a zero-coupon bond (e.g., US Treasury STRIPS, savings bonds). These pay no periodic interest, all return comes from purchasing below par and receiving the full face value at maturity. The Macaulay duration of a zero-coupon bond always equals its time to maturity, and its modified duration is the highest possible for a bond of that maturity, making zeros the most interest-rate-sensitive bonds.
How to use this calculator
- Choose a mode. Select Calculate YTM if you know the bond's market price and want to find its yield. Select Calculate Price if you have a target yield and want to know how much the bond is worth.
- Set payment frequency. Choose annual, semi-annual, quarterly, or monthly — match the bond's actual coupon schedule.
- Enter face value. This is the par value printed on the bond, typically $1,000 for US corporate and Treasury bonds.
- Enter annual coupon rate. For a bond paying $50 per year on a $1,000 face value, enter 5. For a zero-coupon bond, enter 0.
- Enter years to maturity. The number of years until the bond redeems at par. Decimals are accepted — 2.5 means 2½ years.
- Enter market price or required yield. In YTM mode, enter what you would pay today. In Price mode, enter the annual yield you require.
All outputs update in real time. The Save Calculation button at the top of the page stores your inputs so you can return to them later.