Tools › Investing › Bonds › Bond Price and Yield


Bond Price and Yield

Price of a fixed-coupon bond from its yield to maturity, or the yield from its price, with every step shown: the coupon, the discounted cash flows, current yield, duration, convexity and the price change for a one-point move in yield. Advanced inputs add accrued interest with clean and dirty price, yield to call and yield to worst. A calculator for education and analysis, not investment advice.

  • Price from yield or yield from price (Newton iteration tabulated), per period compounding, zero-coupon bonds included

  • Current yield, Macaulay duration, modified duration and convexity from the cash-flow table

  • Price change for a ±1 point yield move: duration alone, with convexity, and exact; price against yield chart with the duration line

  • Advanced: accrued interest, clean and dirty price by fraction or dates (actual/actual, 30/360); yield to call and yield to worst

Bond Price and Yield


Unit System: /

/

The Bond (money in one currency; rates in percent per year)








Settlement and Call









×

Bond Price and Yield

Bond Price and Yield: the Method

What it does

A fixed-coupon bond is a loan: the holder receives the same interest payment (the coupon) on fixed dates and the face value at maturity. The tool turns a yield into a price, or a price into a yield, and then measures how far the price moves when the yield moves. Every step is printed with its numbers so that it can be repeated by hand.

The method

Symbols: F face value; cr coupon rate, percent per year; m coupons per year; N coupons remaining; C = F (cr/100)/m the coupon paid each period; y the yield to maturity, percent per year; yp = y/100/m the yield per period; f the fraction of the current coupon period already elapsed at settlement (0 on a coupon date).

Price. A payment received k periods from now is worth its amount divided by (1 + yp)k today. The price is the sum over the N remaining payments, the last one carrying the face value:

P = C/(1 + yp) + C/(1 + yp)2 + … + (C + F)/(1 + yp)N = C [1 − (1 + yp)−N] / yp + F (1 + yp)−N.

The second form sums the equal coupons as an annuity. At a zero yield nothing is discounted and P = N C + F. A zero-coupon bond has C = 0 and P = F (1 + yp)−N.

Between coupon dates each payment is f of a period nearer, so every exponent becomes k − f, which multiplies the price above by (1 + yp)f. This is the dirty (full) price Pd, the amount that changes hands. The seller has earned the accrued interest AI = f C; the quoted, or clean, price is Pc = Pd − AI. The fraction f is entered, or counted from the settlement date and the coupon dates stepped back from maturity: actual days over the actual days in the period (actual/actual), or 30-day months over 360/m days (30/360, U.S. bond basis).

Current yield = 100 m C / Pc: a year of coupons over the clean price. It counts income only.

Yield to maturity is the y that makes the price formula return the price paid. There is no direct formula, so the tool starts from the estimate (annual coupon + (F − P)/years) / ((F + P)/2) and applies Newton's method, ynew = y − (price at y − target price)/slope, keeping each trial between a yield known to be too low and one known to be too high; a step that would leave that bracket is replaced by its midpoint.

Macaulay duration Dmac = Σ tk PVk / Pd, with tk = (k − f)/m the time of payment k in years and PVk its present value: the average time at which the bond's value is received. Modified duration Dmod = Dmac/(1 + yp) equals −(1/P) dP/dy: the percentage price change per point of yield. Convexity Cx = Σ tk (tk + 1/m) PVk / [Pd (1 + yp)2] equals (1/P) d2P/dy2: how fast that sensitivity itself changes.

Price change for a yield change Δy (decimal): ΔP ≈ −Dmod P Δy + ½ Cx P Δy2. The tool prints the first term alone, both terms, and the exact repricing at y ± 1 point.

Yield to call repeats the yield calculation with the payments ending on the call date and the call price in place of F. Yield to worst is the lower of the yield to call and the yield to maturity.

What it assumes

Every payment is made in full and on time (no default). The yield is one rate applied to all payments and compounded once per coupon period, so yields of bonds with different coupon frequencies are not directly comparable. All coupon periods are equal: no odd first or last coupon. The fractional period is discounted at compound interest (the market, or "street", convention); the U.S. Treasury's auction formula (31 CFR Part 356, Appendix B) uses simple interest over that fraction and gives a slightly different price between coupon dates (for its example D, 99.730918 against 99.738573 per 100 here). The call date must be a coupon date. Taxes, fees and bid-ask spreads are left out.

When it misleads

The yield to maturity is earned only if the bond is held to maturity and each coupon is reinvested at that same yield; sell earlier or reinvest at other rates and the realised return differs. Duration and convexity describe a small, equal move in the yield of this one bond; real moves differ by maturity, and for a large move even the convexity estimate drifts from the exact price. For a callable bond the duration printed here is to maturity and overstates the sensitivity when a call is likely, and the yield to worst considers only the one call date entered. A bond with a floating coupon, an inflation-indexed principal, a sinking fund or a real chance of default needs a different model. A higher yield is not a better bond: it is the market's price for more risk, a longer wait, or both.

Worked example

The default case is example A of 31 CFR Part 356, Appendix B: an 8¾ % 30-year Treasury bond, semi-annual coupons, priced on its issue date at a yield of 8.84 %, face value 100.

Coupon: C = 100 × 0.0875 / 2 = 4.375. Yield per period: yp = 0.0884 / 2 = 0.0442. Coupons: N = 30 × 2 = 60.

Discount factor of the last payment: (1.0442)−60 = 0.074641. Annuity factor: (1 − 0.074641)/0.0442 = 20.935719.

Price: P = 4.375 × 20.935719 + 100 × 0.074641 = 91.593772 + 7.464121 = 99.057893, the figure printed in the regulation.

Current yield: 100 × 8.75 / 99.057893 = 8.833 %. It lies between the coupon rate (8.75 %) and the yield to maturity (8.84 %) because the bond is bought slightly below face value.

Duration: the sum of t × PV over the 60 payments is 1,084.205, so Dmac = 1,084.205 / 99.0579 = 10.945 years and Dmod = 10.945 / 1.0442 = 10.482. Convexity: 20,393.2 / (99.0579 × 1.04422) = 188.81.

One point up in yield (9.84 %): duration alone gives −10.482 × 99.058 × 0.01 = −10.38; with convexity −10.38 + ½ × 188.81 × 99.058 × 0.0001 = −9.45; exact repricing −9.51. One point down (7.84 %): +10.38, +11.32 and +11.39.

A calculator for education and analysis, not investment advice.




References

U.S. Department of the Treasury (2014). Sale and Issue of Marketable Book-Entry Treasury Bills, Notes, and Bonds: Formulas and Tables. 31 CFR Part 356, Appendix B, Bureau of the Fiscal Service, Washington, DC.

U.S. Securities and Exchange Commission (2013). Investor Bulletin: What Are Corporate Bonds? SEC Pub. No. 149, Office of Investor Education and Advocacy, Washington, DC.

U.S. Securities and Exchange Commission (2013). Investor Bulletin: Interest Rate Risk — When Interest Rates Go Up, Prices of Fixed-Rate Bonds Fall. SEC Pub. No. 151, Office of Investor Education and Advocacy, Washington, DC.

Macaulay, F. R. (1938). Some Theoretical Problems Suggested by the Movements of Interest Rates, Bond Yields and Stock Prices in the United States since 1856. National Bureau of Economic Research, New York.

Fabozzi, F. J. (2021). Bond Markets, Analysis, and Strategies, 10th ed. MIT Press, Cambridge, MA.

CFA Institute (2023). CFA Program Curriculum, Level I: Fixed Income. CFA Institute, Charlottesville, VA.

Worked Examples

Published examples this tool reproduces; each page lists the inputs to enter and the printed answers.

All worked examples


DISCLAIMER: The methods and calculation on aNOWysis.com are provided as means to educate the reader. There is no warranty, expessed or implied, as to the relevance or accuracy of the methods or calculations. All calculations should be checked by a qualified analyst for appropriateness and accuracy. We will not be held liable for any damages, injuries or deaths caused by using methods or calculations from this site.