|
The Excel MDURATION 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
|
|