The Excel MDURATION Function
The Excel Mduration function calculates the modified Macaulay Duration of a security that pays periodic interest, assuming a par value of $100.
The syntax of the function is :
MDURATION( settlement, maturity, coupon, yld, frequency, [basis] )
Where the arguments are as follows:
|settlement||-||The settlement date of the security (ie. the date that the coupon is purchased)|
|maturity||-||The maturity date of the security (ie. the date that the coupon expires)|
|coupon||-||The security's annual coupon rate|
|yld||-||The security's annual yield|
The number of coupon payments per year. This must be one of the following:
An optional integer argument which specifies the financial day count basis that is used by the security. Possible values are:
The financial day count basis rules are explained in detail on the Wikipedia Day Count Convention page
|Basis||Day Count Basis|
|0 (or omitted)||US (NASD) 30/360|
Note that the date arguments should be supplied to the function as either:
- References to cells containing dates
- Dates returned from formulas
- If you attempt to input the date arguments as text, they may be interpreted differently, depending on the date system and date interpretation settings on your computer.
- Although you can input dates as serial numbers, this is not recommended, as date serial numbering varies across different computer systems.
Excel Mduration Function Example
The following spreadsheet uses the Excel Mduration function to calculate the modified Macaulay Duration of a security that with a settlement date 01-Apr-2010, a maturity date 31-Mar-2020 and a yield of 8%. The coupon rate is 10% and payments are made quarterly.
|3||=MDURATION( B1, B2, 10%, 8%, 4 )|
The above Mduration function returns the value 6.540828452 years.
Note that, in the above Mduration function call :
- As recommended, the date arguments have been input as references to cells containing dates.
- The [basis] argument has been omitted and so the function uses the default value 0 (denoting the US (NADS) 30/360 day count basis).
Further examples of the Excel Mduration function can be found on the Microsoft Office website.
Mduration Function Errors
If you get an error from the Mduration function, this is likely to be one of the following:
Occurs if either:
- any of the supplied arguments are non-numeric
- the settlement date or the maturity date is not a valid Excel date
Occurs if either:
- the supplied settlement date is ≥ maturity date
- Invalid numbers are supplied for the coupon, yld, frequency or basis arguments
(i.e. if either: coupon < 0; yld < 0; frequency is not equal to 1, 2 or 4; or basis is supplied and is not equal to 0, 1, 2, 3 or 4)
Occurs when Analysis ToolPak add-in is not enabled in your Excel.
You will need to enable the add-in if you want to use the Excel Mduration function.
+ Show How to Do This in Excel 2003:
+ Show How to Do This in Excel 2007:
+ Show How to Do This in Excel 2010 or Excel 2013: