Calculator overview
Inputs and outputs
This summary comes from the calculator's published input and output contract.
Inputs
- BND Solve Mode
-
Default Price from yield Allowed Price from yield, Yield from price
About this input
Selects direct price-from-yield calculation or a guarded yield-from-dirty-price bisection.
- BND Coupon Frequency
-
Default Semiannual Allowed Annual, Semiannual, Quarterly
About this input
Maps to one, two, or four equal coupon periods per year.
- BND Face Value
-
Unit user currency Default 1000 Range 0.01 to 1000000000
About this input
Principal used to calculate each coupon.
- BND Redemption Value
-
Unit user currency Default 1000 Range 0.01 to 1000000000
About this input
Principal cash flow paid with the final coupon.
- BND Annual Coupon Rate
-
Unit fraction/year Default 0.05 Range 0 to 1
About this input
Nominal annual coupon divided by the selected payment frequency.
- BND Maturity Years
-
Unit years Default 10 Range 1 to 30
About this input
Whole-year maturity; up to 120 quarterly periods are explicitly scheduled.
- BND Market Yield Conditional
-
Unit fraction/year Default 0.06 Range 0 to 5
About this input
Active discount yield only in Price from yield mode.
- Observed dirty price (shown but ignored) Conditional
-
Unit user currency Default 925.61 Range 1E-06 to 31000000000
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.
- BND Yield Search Max Conditional
-
Unit fraction/year Default 1 Range 0.01 to 5
About this input
Upper annual-yield endpoint used only by the bisection route.
Outputs
- BND Bond Price
-
Unit user currency
About this output
Present value of all coupons and redemption at the solved or entered yield.
- BND Yield To Maturity
-
Unit fraction/year
About this output
Entered yield in price mode or the bisection solution in yield mode.
- BND Current Yield
-
Unit fraction/year
About this output
Annual coupon cash flow divided by dirty price.
- BND Macaulay Duration Years
-
Unit years
About this output
Present-value-weighted average cash-flow time.
- BND Modified Duration Years
-
Unit years
About this output
Macaulay duration divided by one plus periodic yield.
- BND Convexity Years Squared
-
Unit years squared
About this output
Discrete second-order price sensitivity normalized by price and frequency squared.
- BND Dollar Duration
-
Unit user currency per unit yield
About this output
Dirty price multiplied by modified duration.
- BND DV01
-
Unit user currency per basis point
About this output
Approximate absolute price change for a one-basis-point parallel yield move.
- BND Total Coupon Cash Flow
-
Unit user currency
About this output
Undiscounted coupon total over the whole maturity.
- BND Total Periods
-
Unit periods
About this output
Maturity years multiplied by coupon frequency.
- Model Status
-
No unit declared
About this output
OK identifies a supported coupon bond; CHECK identifies a supported zero-coupon route; NOT VALID identifies input or solver failure.
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
- Validate the route, coupon frequency, common bond terms, and only the inputs active for the selected route.
- Convert frequency to
m, calculateNand the level periodic coupon, and populate at most 120 contractual periods. - 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.
- Discount every active coupon and redemption cash flow at the active periodic yield and sum price.
- Calculate current yield, duration, convexity, dollar duration, DV01, total coupon cash flow, and total periods.
- Build the price-across-yield chart from ten workbook-calculated scenarios between zero and the active chart maximum.
- Apply the derived-range gate and then the zero-coupon
CHECKrule.
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.
Found a problem, or have an idea?
Tell us if a result looks wrong, a label is unclear, or something is missing. We read every message.
LogicCommons is in beta. If a result, label, or reference looks wrong, tell us here; we read every message.