Fidamen

Macaulay Duration Calculator

This calculator computes the Macaulay duration for a fixed-rate bond with periodic coupon payments. Enter the bond face value, annual coupon rate, yield to maturity (nominal annual rate), time to maturity in years, and the coupon payment frequency.

Outputs include the theoretical clean price, Macaulay duration (in years) and the corresponding modified duration (in years). The engine uses standard present-value formulas and closed-form summations for annuity-weighted timing; see methodology for details and numerical caveats.

Updated Nov 29, 2025QA PASS — golden 25 / edge 120Run golden-edge-2026-01-23

Governance

Record fe5ac0098152 • Reviewed by Fidamen Standards Committee

Inputs

Results

Updates as you type

Theoretical clean price

$1,000.00

Macaulay duration (years)

Modified duration (years)

OutputValueUnit
Theoretical clean price$1,000.00USD
Macaulay duration (years)years
Modified duration (years)years
Primary result$1,000.00

Visualization

Methodology

We model the bond as a stream of fixed coupon payments and a final principal payment. Periodic coupon = face * (coupon_rate/100) / freq. Periodic yield = (ytm/100) / freq. Number of periods = years * freq.

Price is computed as the present value of coupons plus the present value of principal using standard discounting. Macaulay duration is the weighted average time to receipt of cash flows, weights equal to each cash flow's present value divided by price. Modified duration is Macaulay duration divided by (1 + periodic yield).

Key takeaways

This calculator provides theoretical clean price, Macaulay duration (years), and modified duration (years) for fixed-rate bonds using standard present-value formulas and closed-form summations for annuities.

Be mindful of numerical limits: yields near zero and very large N can cause instability; validate critical results with high-precision routines and unit tests following NIST/IEEE guidance.

Worked examples

Example: face=1000, coupon_rate=5%, ytm=4%, years=5, freq=2. Periodic coupon = 25, periodic yield = 2%. Compute price via PV formulas, then compute weighted average time to cash flows to get Macaulay duration in years, then divide by (1+0.02) to get modified duration.

Edge-case example: when ytm is very close to zero, annuity formulas involve small denominators and may be numerically unstable; in that case, interpret price as sum of undiscounted cash flows and use high-precision arithmetic or a limit-based calculation.

F.A.Q.

Can I enter fractional years and nonstandard coupon frequencies?

Yes. Time to maturity accepts fractional years and frequency accepts any integer number of payments per year between 1 and 12. The calculator treats frequency as the number of equal coupon payments per year.

What happens if yield per period is zero?

The closed-form formulas include division by periodic yield. If yield is exactly zero, the closed-form annuity term is undefined; conceptually the price equals the sum of undiscounted cash flows and duration becomes the weighted average of payment times. For numerical accuracy near zero yields use high-precision arithmetic or compute the limit analytically.

Are results exact?

Results are exact under the assumptions: fixed coupon amounts, discrete periodic compounding matching the frequency input, and no embedded options. Numerical rounding is possible; for valuation or regulatory reporting use high-precision systems and reconcile to market convention.

How should I interpret Macaulay vs modified duration?

Macaulay duration is a time-weighted average (in years) of cash flow timings and is useful for immunization and understanding timing risk. Modified duration estimates the percentage price change for a small parallel change in yield and is commonly used in risk management.

Does this tool comply with any standards for numeric testing or software quality?

This tool follows best practices for numerical validation and documentation. For reproducibility and testing, adhere to standards such as NIST numerical testing guidance and IEEE software quality recommendations; laboratory or production deployments should use controlled unit tests and precision checks.

Sources & citations

Further resources

Versioning & Change Control

Audit record (versions, QA runs, reviewer sign-off, and evidence).

Record ID: fe5ac0098152

What changed (latest)

v1.0.02025-11-29MINOR

Initial publication and governance baseline.

Why: Published with reviewed formulas, unit definitions, and UX controls.

Public QA status

PASS — golden 25 + edge 120

Last run: 2026-01-23 • Run: golden-edge-2026-01-23

Engine

v1.0.0

Data

Baseline (no external datasets)

Content

v1.0.0

UI

v1.0.0

Governance

Last updated: Nov 29, 2025

Reviewed by: Fidamen Standards Committee (Review board)

Credentials: Internal QA

Risk level: low

Reviewer profile (entity)

Fidamen Standards Committee

Review board

Internal QA

Entity ID: https://fidamen.com/reviewers/fidamen-standards-committee#person

Semantic versioning

  • MAJOR: Calculation outputs can change for the same inputs (formula, rounding policy, assumptions).
  • MINOR: New features or fields that do not change existing outputs for the same inputs.
  • PATCH: Bug fixes, copy edits, or accessibility changes that do not change intended outputs except for previously incorrect cases.

Review protocol

  • Verify formulas and unit definitions against primary standards or datasets.
  • Run golden-case regression suite and edge-case suite.
  • Record reviewer sign-off with credentials and scope.
  • Document assumptions, limitations, and jurisdiction applicability.

Assumptions & limitations

  • Uses exact unit definitions from the Fidamen conversion library.
  • Internal calculations use double precision; display rounding follows the unit's configured decimal places.
  • Not a substitute for calibrated instruments in regulated contexts.
  • Jurisdiction-specific rules may require official guidance.

Change log

v1.0.02025-11-29MINOR

Initial publication and governance baseline.

Why: Published with reviewed formulas, unit definitions, and UX controls.

Areas: engine, content, ui • Reviewer: Fidamen Standards Committee • Entry ID: cbffb02bc1c7