Calculator overview
Inputs and outputs
This summary comes from the calculator's published input and output contract.
Inputs
- YCB Interpolation Method
-
Default Log discount factor Allowed Linear zero rate, Log discount factor
About this input
Selects linear zero-rate interpolation or linear log-discount-factor interpolation.
- YCB Zero Rate Convention
-
Default Annual effective Allowed Annual effective, Continuous
About this input
Controls conversion between zero rates and discount factors.
- YCB Target Maturity Years
-
Unit years Default 4.5 Range 0.25 to 8
About this input
Maturity inside the eight-year curve for which a discount factor and zero rate are interpolated.
- YCB Instrument Grid
-
Default 8 rows
About this input
Submit exactly eight complete rows. Maturity must equal the row position from one through eight; each quote is a zero rate or an annual par coupon.
Column Range or allowed values Node label Not declared Quote type Zero rate, Par coupon Maturity 1 to 8 Market quote 0 to 1
Outputs
- YCB First Discount Factor
-
Unit present value per unit
About this output
Bootstrapped discount factor at year one.
- YCB Final Discount Factor
-
Unit present value per unit
About this output
Bootstrapped discount factor at year eight.
- YCB Final Zero Rate
-
Unit fraction/year
About this output
Zero rate implied by the final discount factor under the selected convention.
- YCB One Year Forward 7 to 8
-
Unit fraction/year
About this output
One-year forward rate implied by the year-seven and year-eight discount factors.
- YCB Target Discount Factor
-
Unit present value per unit
About this output
Interpolated discount factor at the user-selected target maturity.
- YCB Target Zero Rate
-
Unit fraction/year
About this output
Zero rate implied by the interpolated target discount factor.
- YCB Minimum Forward Rate
-
Unit fraction/year
About this output
Smallest adjacent-node annual forward rate.
- YCB Maximum Forward Rate
-
Unit fraction/year
About this output
Largest adjacent-node annual forward rate.
- YCB Average Zero Rate
-
Unit fraction/year
About this output
Arithmetic average of the eight node zero rates.
- YCB Curve Shape
-
No unit declared
About this output
Flat, upward, downward, or mixed classification from adjacent node zero rates.
- Model Status
-
No unit declared
About this output
OK identifies a positive bootstrapped curve; CHECK flags a negative forward; NOT VALID identifies intake or bootstrap failure.
Methodology
Purpose and model boundary
This model bootstraps eight annual discount factors from a user-entered sequence of zero-rate and par-coupon instruments. It derives node zero rates, adjacent one-year forward rates, and an interpolated discount factor and zero rate at a selected maturity. It is a transparent single-curve educational model, not a dealer curve, executable market-data service, hedge-accounting valuation, collateral curve, or regulatory result.
Inputs and units
The fixed grid contains exactly eight rows. Each row has a text node label, quote type, maturity, and market quote. Quote type is Zero rate or Par coupon; maturity in row i must equal year i; market quotes are annual fractions from zero through one. Zero-rate convention is annual effective or continuous. The interpolation method is linear in zero rate or linear in log discount factor. Target maturity is measured in years and lies from 0.25 through 8.
All rows are user-entered synthetic curve observations. The workbook contains no government, swap, credit, or vendor curve.
Governing relationships
Let q_i be the quote at annual maturity t_i = i and let DF_i be the discount factor. For a zero-rate quote:
DF_i = (1 + q_i)^(-t_i) under annual-effective convention
DF_i = exp(-q_i × t_i) under continuous convention
For a unit-par annual coupon instrument, the recursive bootstrap is:
DF_i = [1 - q_i × sum(DF_j, j = 1...i-1)] / (1 + q_i)
The first par row therefore has an empty earlier-factor sum. A node zero rate recovered from a positive discount factor is:
z_i = DF_i^(-1/t_i) - 1 under annual-effective convention
z_i = -ln(DF_i) / t_i under continuous convention
The first one-year forward uses DF_0 = 1; subsequent forwards use adjacent nodes:
f_i = DF_(i-1) / DF_i - 1
For target maturity T*, let L = floor(T*), U = ceiling(T*), and w = (T* - L)/(U - L) when L != U. The workbook defines DF_0 = 1 and z_0 = 0 for a target below year one. Log-discount interpolation is:
DF(T*) = exp[ln(DF_L) + w × (ln(DF_U) - ln(DF_L))]
Linear-zero interpolation first calculates z(T*) = z_L + w × (z_U - z_L), then converts that zero rate to DF(T*) with the selected convention. The reported target zero rate is recovered from the interpolated discount factor.
Calculation sequence
- Validate the two selectors, target maturity, and all eight complete ordered rows.
- Process rows from year one through year eight. Convert a zero quote directly or solve a par quote using all previously bootstrapped factors.
- Reject the curve if any discount factor is nonpositive or any required discount, zero, or forward value is nonnumeric.
- Recover the eight node zero rates and the eight one-year forwards, including the spot-to-year-one forward.
- Locate the target's surrounding nodes and interpolate by the selected method.
- Report endpoint and target measures, minimum and maximum forward, average zero rate, and curve shape.
- Draw the workbook-generated zero and forward rate series and apply the negative-forward status check.
Outputs and interpretation
Headline results show the final discount factor and zero rate, the year-seven-to-eight forward, and the target discount factor and zero rate. Supporting outputs include the first discount factor, minimum and maximum forward, arithmetic average node zero rate, and curve-shape label.
Curve shape compares adjacent zero rates with 1e-12 tolerance. A nondecreasing curve is Flat when the first-to-last difference is within 1e-10, otherwise Upward; an entirely nonincreasing curve is Downward; all other patterns are Mixed. The chart keeps zero and forward rates visually distinct while preserving workbook values.
Validation and status logic
The workbook evaluates status in this order:
| Condition | Returned status |
|---|---|
| A selector, target maturity, label, quote type, maturity order, quote value, or fixed grid row fails | NOT VALID: correct curve selectors, target maturity, or all eight complete ordered instrument rows |
| A bootstrap discount factor is nonpositive or a required curve value is nonnumeric | NOT VALID: bootstrap produced a nonpositive or nonfinite discount factor |
Minimum one-year forward is below -0.000000000001 |
CHECK: curve contains at least one negative one-year forward rate |
| None of the preceding conditions applies | OK |
Input and derived failures take precedence over the negative-forward check. Negative forwards are retained as valid analytical evidence; they are not overwritten or floored.
Assumptions and limitations
- Nodes are annual and ordered from year one through year eight.
- Par instruments pay annual coupons at the quoted par rate and redeem one unit at maturity.
- One curve supplies both discounting and forward inference.
- Interpolation is local. The workbook does not extrapolate beyond year eight.
- There is no calendar, day-count, settlement, stub, compounding-in-arrears, multi-curve, collateral, credit, liquidity, or instrument-convention adjustment.
- A curve built from synthetic entries is not suitable for trading or valuation without independent market-data and model review.
Restrictions and non-computing states
The request must retain the exact eight-row, four-column grid. Labels must be text, nonblank after cleaning, and at most 40 characters. Quote types must match the two declared options. Maturities must be the integers 1 through 8 in their matching row positions, and quotes must be from 0 through 1. Blank, partial, extra, or misordered rows are rejected. A par quote that implies a nonpositive final discount factor prevents a result.
Errors and warnings
This calculator refuses unknown options, malformed grid shape, blank cells, quoted numerics, or entries outside their allowed ranges before workbook calculation. Workbook NOT VALID separates row/intake failure from a nonpositive or nonfinite bootstrap. Workbook CHECK flags a computed negative forward without suppressing the curve. A connection or calculation-service failure is not evidence of a zero rate or a failed bootstrap.
References
Public par-yield maturity and presentation context is available from the U.S. Treasury Daily Treasury Par Yield Curve Rates. Discount-factor, zero-yield, and forward-rate curve context follows the Federal Reserve paper The U.S. Treasury Yield Curve: 1961 to the Present. No observation, table, chart, or proprietary curve is embedded.
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.