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.