Finance & Business · Treasury, Fixed Income & Financial Risk · Fixed-rate bond valuation and interest-rate risk

Bond Price Yield Duration Convexity Calculator

Prices a synthetic fixed-rate bullet bond from yield or solves yield from an observed dirty price, then exposes coupon cash flows, duration, convexity, dollar duration, and DV01.

Last updated
Diagnostic Analytics

Calculator overview

Inputs and outputs

This summary comes from the calculator's published input and output contract.

Inputs

BND Solve Mode
About this input

Selects direct price-from-yield calculation or a guarded yield-from-dirty-price bisection.

Default Price from yield Allowed Price from yield, Yield from price
BND Coupon Frequency
About this input

Maps to one, two, or four equal coupon periods per year.

Default Semiannual Allowed Annual, Semiannual, Quarterly
BND Face Value
About this input

Principal used to calculate each coupon.

Unit user currency Default 1000 Range 0.01 to 1000000000
BND Redemption Value
About this input

Principal cash flow paid with the final coupon.

Unit user currency Default 1000 Range 0.01 to 1000000000
BND Annual Coupon Rate
About this input

Nominal annual coupon divided by the selected payment frequency.

Unit fraction/year Default 0.05 Range 0 to 1
BND Maturity Years
About this input

Whole-year maturity; up to 120 quarterly periods are explicitly scheduled.

Unit years Default 10 Range 1 to 30
BND Market Yield Conditional
About this input

Active discount yield only in Price from yield mode.

Unit fraction/year Default 0.06 Range 0 to 5
Observed dirty price (shown but ignored) Conditional
About this input

Active target price only in Yield from price mode; it must lie inside the nonnegative-yield bracket and the maximum undiscounted cash flow supported by the authored bond domain.

Unit user currency Default 925.61 Range 1E-06 to 31000000000
BND Yield Search Max Conditional
About this input

Upper annual-yield endpoint used only by the bisection route.

Unit fraction/year Default 1 Range 0.01 to 5

Outputs

BND Bond Price
About this output

Present value of all coupons and redemption at the solved or entered yield.

Unit user currency
BND Yield To Maturity
About this output

Entered yield in price mode or the bisection solution in yield mode.

Unit fraction/year
BND Current Yield
About this output

Annual coupon cash flow divided by dirty price.

Unit fraction/year
BND Macaulay Duration Years
About this output

Present-value-weighted average cash-flow time.

Unit years
BND Modified Duration Years
About this output

Macaulay duration divided by one plus periodic yield.

Unit years
BND Convexity Years Squared
About this output

Discrete second-order price sensitivity normalized by price and frequency squared.

Unit years squared
BND Dollar Duration
About this output

Dirty price multiplied by modified duration.

Unit user currency per unit yield
BND DV01
About this output

Approximate absolute price change for a one-basis-point parallel yield move.

Unit user currency per basis point
BND Total Coupon Cash Flow
About this output

Undiscounted coupon total over the whole maturity.

Unit user currency
BND Total Periods
About this output

Maturity years multiplied by coupon frequency.

Unit periods
Model Status
About this output

OK identifies a supported coupon bond; CHECK identifies a supported zero-coupon route; NOT VALID identifies input or solver failure.

No unit declared

Methodology

Purpose and model boundary

This model prices a synthetic fixed-rate bullet bond from an entered nominal annual yield or solves a nominal annual yield from an observed dirty price. It also measures current yield, Macaulay and modified duration, discrete convexity, dollar duration, and DV01. It is a transparent coupon-date valuation and local interest-rate-risk model, not an executable quote, accounting valuation, recommendation, or complete security model.

Inputs and units

The solve route selects direct price from yield or a guarded yield-from-price bisection. Coupon frequency is annual, semiannual, or quarterly. Face value and redemption value are positive user-currency amounts and may differ. The coupon rate and market yield are annual fractions; maturity is a whole number of years. In yield-from-price mode, the observed dirty price and the upper yield-search bracket become active. In price-from-yield mode those two fields are ignored, and changing them does not change an output.

Settlement is exactly on a coupon date, so accrued interest is zero and clean price equals dirty price in this model. The entered yield is nominal annual yield compounded at the coupon frequency.

Governing relationships

Let m be payments per year, T maturity in whole years, N = m × T total periods, F coupon face value, R redemption value, and c annual coupon rate. The periodic coupon and period-k cash flow are:

C = F × c / m

CF_k = C + R when k = N, and CF_k = C otherwise.

For nominal annual yield y, price and each present value are:

PV_k = CF_k / (1 + y/m)^k

P(y) = sum(PV_k), k = 1...N

The yield-from-price route searches 0 <= y <= y_max. Price is evaluated at both bracket ends and the workbook performs 40 monotonic bisection iterations, keeping the half whose price brackets the observed dirty price. The reported yield is the final bracket midpoint.

With cash-flow time t_k = k/m, the risk measures are:

D_Mac = sum(t_k × PV_k) / P

D_Mod = D_Mac / (1 + y/m)

Convexity = sum[k(k+1) × PV_k / (1 + y/m)^2] / (P × m^2)

Current yield = F × c / P

Dollar duration = P × D_Mod

DV01 = Dollar duration × 0.0001

Calculation sequence

  1. Validate the route, coupon frequency, common bond terms, and only the inputs active for the selected route.
  2. Convert frequency to m, calculate N and the level periodic coupon, and populate at most 120 contractual periods.
  3. In price mode, use the entered market yield. In yield mode, verify that the observed price lies between the zero-yield undiscounted cash flow and the price at the entered search maximum, then run 40 bisection iterations.
  4. Discount every active coupon and redemption cash flow at the active periodic yield and sum price.
  5. Calculate current yield, duration, convexity, dollar duration, DV01, total coupon cash flow, and total periods.
  6. Build the price-across-yield chart from ten workbook-calculated scenarios between zero and the active chart maximum.
  7. Apply the derived-range gate and then the zero-coupon CHECK rule.

Outputs and interpretation

Bond price is the present value of coupons and redemption. Yield to maturity is either the entered yield or the bisection solution. Macaulay duration is the present-value-weighted average cash-flow time; modified duration translates it into first-order price sensitivity. Convexity is the workbook's discrete second-order sensitivity. Dollar duration and DV01 express local price exposure in user currency, with DV01 corresponding to one basis point. Current yield considers annual coupon cash flow only and is not yield to maturity.

The chart shows the workbook-computed inverse price/yield relationship. It is scenario evidence, not a live market curve or a forecast.

Validation and status logic

The workbook evaluates status in this order:

Condition Returned status
A selector or an active bond input is outside its allowed range NOT VALID: choose a listed solve route and frequency; enter every active bond assumption within its supported domain
Total periods, price, cash-flow schedule, solver bracket, or solved-price reconciliation fails the derived gate NOT VALID: price/yield relationship is outside the nonnegative-yield search bracket or derived cash flows exceed the supported range
Annual coupon rate equals zero CHECK: zero-coupon bond; current yield is zero
None of the preceding conditions applies OK

For yield-from-price, the observed price must not exceed the undiscounted cash-flow total and must not be below the price at y_max. The solved price must match the observation within 1e-8 × max(1, observed price). Input and derived failures take precedence over the zero-coupon check.

Assumptions and limitations

  • Coupons are level, redemption occurs with the final coupon, and maturity times frequency is an integer.
  • Yield is nonnegative and uses the selected coupon frequency as its compounding frequency.
  • There is no accrued interest, irregular coupon, day-count convention, business-day calendar, call, put, default, recovery, inflation, credit spread, tax, or reinvestment model.
  • Duration, DV01, and convexity are local parallel-yield measures. They do not replace key-rate or full-revaluation scenarios.
  • All terms and chart values are synthetic user data, not licensed market observations.

Restrictions and non-computing states

Face and redemption values must be from 0.01 through 1,000,000,000; coupon rate from 0 through 1; maturity from 1 through 30 whole years; and direct market yield from 0 through 5. Yield mode additionally requires observed dirty price from 0.000001 through 31,000,000,000 and a search maximum from 0.01 through 5. The schedule supports no more than 120 quarterly periods. A price outside the nonnegative-yield bracket prevents a result instead of producing a negative or unbounded yield.

Errors and warnings

This calculator can refuse an unknown option, missing active field, or number outside its allowed range before calculation. Workbook NOT VALID distinguishes active-input failure from a failed price/yield bracket or derived result. Workbook CHECK identifies a valid zero-coupon calculation whose current yield is necessarily zero. A connection or calculation-service failure is not a bond-model status and must not be interpreted as a zero value.

References

The model follows the general coupon, current-yield, yield-to-maturity, price/yield, and duration relationships described in FINRA's Bond Yield and Return. Instrument and interest-rate-risk context follows Investor.gov's Bonds or Fixed Income Products. The workbook independently implements the equations and embeds no security prices, issuer data, or copyrighted table.

This page is provided by LogicCommons for informational purposes only. Results are analysis outputs computed from the inputs you supply and are not engineering advice, a design, or a substitute for review by a licensed professional under the codes adopted where the work is built. Verify all inputs and results independently.

LogicCommons is in beta. If a result, label, or reference looks wrong, tell us here; we read every message.