Skip to content
Excel

MDURATION function in Excel

Returns the Macauley modified duration for a security with an assumed par value of $100

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

MDURATION syntax and parameters

Six arguments, five required.

  • settlementanyRequired

    The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.

  • maturityanyRequired

    The security's maturity date. The maturity date is the date when the security expires.

  • couponnumberRequired

    The security's annual coupon rate.

  • yldnumberRequired

    The security's annual yield.

  • frequencynumberRequired

    The number of coupon payments per year. For annual payments, frequency = 1; for semiannual, frequency = 2; for quarterly, frequency = 4.

  • basisnumberOptional

    The type of day count basis to use.

MDURATION examples

Formulas you'll actually reuse.

  1. Modified duration — the price sensitivity to a 1-point yield move:

    =MDURATION(DATE(2026, 5, 15), DATE(2031, 3, 15), 5%, 4%, 2, 0)

    Result4.2473

  2. Approximate price change for a 50-basis-point rise in yields (about −2.1%):

    =-MDURATION(DATE(2026, 5, 15), DATE(2031, 3, 15), 5%, 4%, 2, 0) * 0.005

    Result-0.0212

MDURATION in Google Sheets

Same name — your formula ports as-is.

Try MDURATION in the playground

Edit the example — nothing to install.

Preloaded with the MDURATION formula from Example 1 — change anything and watch it respond.

Loading the editor…