Bond Calculator
Enter the face value, coupon rate, years to maturity, coupon frequency and the market yield, which is the yield to maturity you want to price the bond at. The calculator returns the bond price, the annual coupon, the current yield and the Macaulay duration. It works from a yield you enter and does not solve for the yield from a price.
How to use the Bond Calculator
- Enter your numbers in the Bond Calculator above.
- Press the Calculate button to see the result.
- To try other numbers, change any value and press the button again.
The bond price formula
Price = Σ [C / (1 + y)^t] + F / (1 + y)^n
C is the coupon payment per period, y is the yield per period, t counts the periods from 1 to n, n is the number of coupon periods and F is the face value. The price is the sum of the present values of every coupon and of the face value, discounted at the yield. Current yield is the annual coupon divided by that price.
Worked example
A 10-year bond with a $1,000 face value and a 4% annual coupon ($40 a year), priced at a 5% yield with annual coupons: Price = $922.78. At a 6% yield the same bond prices at $852.80, so a higher yield means a lower price. At 5% its Macaulay duration is 8.36 years.
Frequently asked questions
What is yield to maturity?
The yearly return you get if you buy the bond at its price and hold it to maturity, counting the coupons and the repayment of face value. In this calculator you enter it as the market yield, and the Yield to Maturity line shows the figure you typed.
What does the duration figure mean?
The calculator shows Macaulay duration: the average time, in years, until you receive the bond's cash flows, each weighted by its present value. A zero-coupon bond's duration equals its term. Divide it by (1 + yield per period) to get modified duration, which estimates the percentage price change for a one-point change in yield.
Why do bond prices fall when rates rise?
Existing bonds at lower coupons become less attractive than newly issued bonds at higher rates, so the market reprices old bonds down until their yields match the new rate environment.
Why does it show no result?
A field is empty, the face value or term is 0 or less, or the term is not a whole number of coupon periods, such as 10.3 years with semi-annual coupons.