ExcelFunctions.net Logo

The Excel MDURATION Function

Home » Excel-Built-In-Functions » Excel-Financial-Functions » Excel-Mduration-Function
Search this site:
Custom Search
Related Function: 

Basic Description

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
frequency - The number of coupon payments per year. This must be one of the following:
1-Annually
2-Semi-Annually
4-Quarterly
[basis] - An optional integer argument which specifies the financial day count basis that is used by the security. Possible values are:
Basis Day Count Basis
0 (or omitted) US (NASD) 30/360
1 actual/actual
2 actual/360
3 actual/365
4 European 30/360
The financial day count basis rules are explained in detail on the Wikipedia Day Count Convention page

Note that the date arguments should be supplied to the function as either:

  • References to cells containing dates
or
  • Dates returned from formulas

Warning:

- If you attempt to input the date arguments as text, these can be interpreted differently, depending on the date system and date interpretation settings on your computer.
- Although these dates can be supplied 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.

  A B
1 Settlement Date: 01-Apr-2010
2 Maturity Date: 31-Mar-2020
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:

Common Errors
#VALUE! - Occurs if either:
-any of the supplied arguments are non-numeric
or
-the settlement or the maturity dates are not a valid Excel dates
#NUM! - Occurs if either:
-the settlement date is ≥ maturity date
or
- Invalid numbers are supplied for the coupon, yld, frequency or basis arguments
(i.e. if either: coupon < 0; yld < 0; frequency is any number other than 1, 2 or 4; or basis is any number other than 0, 1, 2, 3 or 4)
#NAME? -

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.

To do this in Excel 2003 :

  • From the Tools drop-down menu, select the option Add-Ins ...
  • An 'Add-Ins' window will pop up. From this, select the option Analysis ToolPak and click OK

To do this in Excel 2007 or Excel 2010 :

  • Click the Microsoft button on the top left of your spreadsheet and select the Excel Options button
  • From the menu on the left hand side, select Add-Ins
  • In the 'Manage:' box, select Excel Add-ins and click Go...
  • An 'Add-Ins' window will pop up. From this, select the option Analysis ToolPak and click OK




Valid XHTML 1.0 Transitional
Disclaimer Privacy Policy

Copyright © 2008-2011 ExcelFunctions.net