# What is this bond’s price or yield?

Computes a fixed-coupon bond’s price from its yield to maturity, or its yield from its price, on any settlement date, with accrued interest by day count, current yield and duration.

- Page: https://www.acalculator.org/finance/bond-calculator
- JSON spec: https://www.acalculator.org/finance/bond-calculator.json
- Version: 491926a156ee

## Default answer

Example with the default inputs (Find the Price, Face value $1,000.00, Coupon rate (yearly) 5%, Coupons a year Twice a year, Yield to maturity 6%, Settlement date September 30, 2026, Maturity date September 30, 2036, Day count 30/360 (US bond basis): corporate and municipal bonds) on the example date Wednesday, September 30, 2026: A 5% bond maturing September 30, 2036 is priced at $925.61 for a yield to maturity of 6%.

## Inputs

| Key | Label | Description |
| --- | --- | --- |
| find | Find the | Whether to work out the price from a yield, or the yield to maturity from a price. |
| face | Face value | The amount repaid at maturity (par), on which the coupons are paid. |
| coupon | Coupon rate (yearly) | The yearly coupon as a percent of the face value. |
| freq | Coupons a year | How often the coupon is paid: once, twice, four times or twelve times a year. |
| ytm | Yield to maturity | The yearly yield, compounded as often as the coupons are paid. |
| price | Price (clean) | The quoted price for the whole face value, without accrued interest. |
| settle | Settlement date | The day the buyer pays and gets the bond. |
| maturity | Maturity date | The day the face value is repaid with the last coupon. |
| basis | Day count | How the part of a coupon period that has passed is counted, for the accrued interest. |

## Outputs

| Key | Label | Description |
| --- | --- | --- |
| price | Price (clean) | The quoted price for the whole face value: the full price minus the accrued interest. |
| ytm | Yield to maturity | The yearly yield, compounded as often as the coupons are paid, at which the price is the value of the cash flows. |
| pricePct | Price per $100 of face value | The clean price as a percent of the face value, as bond prices are quoted. |
| dirty | Full (dirty) price | What the buyer pays: the clean price plus the accrued interest. |
| accrued | Accrued interest | The part of the current coupon earned by the seller: coupon × part of the period passed. |
| current | Current yield | The yearly coupon as a percent of the clean price. |
| macaulay | Macaulay duration (years) | The average time to each cash flow, weighted by its present value. |
| modified | Modified duration | The percent change in price for a 1 point change in yield: Macaulay duration ÷ (1 + yield ÷ coupons a year). |
| payment | Coupon payment | Face value × coupon rate ÷ coupons a year. |
| coupons | Coupons left | The coupons still to be paid, including the one at maturity. |
| next | Next coupon date | The first coupon date after settlement. |

## Method

Full price = Σ C ÷ (1 + y ÷ f)^(w + k) + F ÷ (1 + y ÷ f)^(w + N − 1), k = 0 … N − 1; accrued = C × (1 − w); clean price = full price − accrued. C = F × coupon ÷ f; w is the part of a coupon period from settlement to the next coupon, by the day count.

## Assumptions

- Coupons are fixed and paid on schedule, and the face value is repaid at maturity; the bond is not called early.
- The yield is compounded as often as the coupons are paid, and the same compound discounting is used when one coupon is left.
- Coupon dates are not moved for weekends or holidays.
- This is an estimate, not investment advice.

## Worked examples

1. find = price, face = $100.00, coupon = 5.75%, freq = 2, ytm = 6.5%, settle = 2008-02-15, maturity = 2017-11-15, basis = 30/360 gives price = $94.63, accrued = $1.44, coupons = 20, next = 2008-05-15. Source: Microsoft Excel PRICE function example: $94.63 (https://support.microsoft.com/en-us/office/price-function-3ea9deac-8dfa-436f-a7c8-17ea02c21b0a).
2. find = ytm, face = $100.00, coupon = 5.75%, freq = 2, price = $95.04, settle = 2008-02-15, maturity = 2016-11-15, basis = 30/360 gives ytm = 6.5%. Source: Microsoft Excel YIELD function example: 6.5% (https://support.microsoft.com/en-us/office/yield-function-f5f5ca43-c4bd-434f-8bd2-ed3c9727a4fe).
3. find = price, face = $100.00, coupon = 8%, freq = 2, ytm = 9%, settle = 2018-07-01, maturity = 2048-01-01, basis = actual/actual gives macaulay = 10.919145. Source: Microsoft Excel DURATION function example: 10.9191453 (https://support.microsoft.com/en-us/office/duration-function-b254ea57-eadc-4602-a86a-c8e369334038).
4. find = price, face = $100.00, coupon = 8%, freq = 2, ytm = 9%, settle = 2008-01-01, maturity = 2016-01-01, basis = actual/actual gives modified = 5.73567, accrued = $0.00. Source: Microsoft Excel MDURATION function example: 5.736 (https://support.microsoft.com/en-us/office/mduration-function-b3786a69-4f20-469a-94ad-33e5b90a763c).
5. find = price, face = $1,000.00, coupon = 6%, freq = 2, ytm = 6%, settle = 2026-01-15, maturity = 2036-01-15, basis = actual/actual gives price = $1,000.00, pricePct = 100, current = 6%, accrued = $0.00. Source: The Microsoft Excel PRICE formula with the yield equal to the coupon on a coupon date (https://support.microsoft.com/en-us/office/price-function-3ea9deac-8dfa-436f-a7c8-17ea02c21b0a).

## FAQ

### How is a bond’s price worked out?

A bond’s price is the present value of its coupons and its face value, discounted at the yield to maturity. A 10-year $1,000 bond paying 5% twice a year ($25 each time) is worth $925.61 on a coupon date when the yield is 6%. When the yield is higher than the coupon, the price is below the face value; when it is lower, the price is above.

### What is the yield to maturity?

It is the single yearly rate, compounded as often as the coupons are paid, at which the bond’s coupons and face value are worth exactly its price. It assumes you hold the bond to maturity and every payment arrives on time. The calculator finds it by trying yields until the price matches.

### What is the difference between the clean and the full price?

Bonds are quoted at the clean price. Between coupon dates the seller has earned part of the next coupon, the accrued interest, and the buyer pays it on top: the full (dirty) price is the clean price plus the accrued interest. On a coupon date the two are equal.

### Which day count should I use?

Use 30/360 for U.S. corporate, agency and municipal bonds, Actual/Actual for U.S. Treasury notes and bonds, and 30E/360 for many euro bonds. The day count decides how much of the current coupon has accrued: with 30/360 every month counts as 30 days, with Actual/Actual the real days count.

### What is the current yield?

The current yield is the yearly coupon divided by the clean price. A 5.75% coupon bond at 94.634 has a current yield of 6.0760%. Unlike the yield to maturity, it ignores the gain or loss from buying below or above the face value.

### What is duration?

Macaulay duration is the average time until the bond’s cash flows arrive, weighted by their present value, in years. Modified duration is Macaulay duration ÷ (1 + yield ÷ coupons a year) and says roughly how many percent the price moves when the yield moves by 1 point: with a modified duration of 7.18, a 1 point rise in yield lowers the price by about 7.18%.

### Does the calculator look up bond prices?

No. You type the price or the yield, so nothing is fetched and the answer never changes on its own. Take them from your broker or TreasuryDirect.

## Sources

- Microsoft, Excel PRICE, YIELD, DURATION and MDURATION functions, with worked examples. https://support.microsoft.com/en-us/office/price-function-3ea9deac-8dfa-436f-a7c8-17ea02c21b0a
- International Swaps and Derivatives Association, 2006 ISDA Definitions, section 4.16: the 30/360 and 30E/360 day count fractions.
- Securities Industry and Financial Markets Association (SIFMA), Standard Securities Calculation Methods (1993): bond price, yield and accrued interest formulas.
- U.S. Securities and Exchange Commission, Investor.gov: Bonds. https://www.investor.gov/introduction-investing/investing-basics/investment-products/bonds-or-fixed-income-products/bonds
