Finance · Investments & Markets

Bond Immunization Calculator

Solve two-bond weights that match an entered target duration.

Loading calculator…

Quick guide

How to use this calculator

  1. Enter contractual cash flows, prices, rates, dates or day counts, and frequency assumptions.
  2. Use one consistent currency and the exact nominal/effective convention shown.
  3. Read the callable, curve, day-count, and duration limitations before interpreting the result.

Calculation method

Calculation method

Weight 1 = (duration 2−target)÷(duration 2−duration 1); weight 2 = 1−weight 1.

Iterative yields and curve results use bounded numerical solves and are marked approximate.

Worked example

Worked example

Durations 2 and 8 with target 5 produce 50% in each bond.

Weight 1 = (duration 2−target)÷(duration 2−duration 1); weight 2 = 1−weight 1.

Supported inputs

Precision and limits

Visible input limits

At most 1,200 cash-flow periods or rows are supported. Payment periods must be whole and formula domains are validated explicitly.

International scope

No issuer, currency, exchange, settlement date, holiday calendar, day-count convention, tax rule, credit rating, yield curve, or contract term is selected automatically.

Decision boundary

Outputs are entered scenarios, not executable prices, credit opinions, duration hedges, call forecasts, risk limits, or recommendations.

Calculator-specific assumptions

Matching duration alone does not guarantee immunization; convexity, cash-flow timing, curve shifts, and rebalancing matter.