Financial

MDURATION Function in Excel

Returns the modified Macaulay duration for a security.

Syntax

  • =MDURATION(settlement, maturity, coupon, yld, frequency, [basis])

Arguments

  • settlement (required): Settlement date
  • maturity (required): Maturity date
  • coupon (required): Annual coupon rate
  • yld (required): Annual yield
  • frequency (required): Payments per year
  • basis (optional): Day count basis

Examples

  • =MDURATION("1/1/2024", "1/1/2034", 0.08, 0.09, 2) - Modified duration - Result: Years

MDURATION modeling tips

  • Align rate and period units (annual rate ÷ 12 for monthly models).
  • Use consistent cash-flow signs (outflows negative, inflows positive).
  • Hub: [Financial functions guide](/guides/excel-financial-functions-guide/).

Common errors

  • #NUM! if parameters invalid

Use cases

  • Price sensitivity
  • Interest rate risk
  • Bond hedging

Frequently asked questions

  • What is MDURATION (Modified Duration)? MDURATION measures a bond's price sensitivity to interest rate changes. It estimates the percentage price change for a 1% change in yield. A bond with MDURATION of 5 will drop approximately 5% if rates rise 1%.
  • How do I use MDURATION for risk management? Price change ≈ -MDURATION × yield change. If MDURATION=7 and rates rise 0.5%: price drops ≈ 7 × 0.5% = 3.5%. For a $100,000 bond position, that's a $3,500 loss. Use this to size positions and hedge interest rate risk.
  • How do I match duration for immunization? To immunize a liability, match portfolio duration to liability duration. If you owe $1M in 5 years, build a bond portfolio with MDURATION ≈ 5. Rate changes will affect both assets and liabilities similarly, protecting your position.

Editorial review

  • Reviewed by Excel.Directory Editorial Team. Updated May 2026.