MDURATION function: Description, Usage, Syntax, Examples and Explanation
What is MDURATION function in Excel?
MDURATION function is one of the Financial functions in Microsoft Excel that returns the modified Macauley duration for a security with an assumed par value of $100.
Syntax of MDURATION function
MDURATION(settlement, maturity, coupon, yld, frequency, [basis])
The MDURATION function syntax has the following arguments:
- Settlement: The security’s settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
- Maturity: The security’s maturity date. The maturity date is the date when the security expires.
- Coupon: The security’s annual coupon rate.
- Yld: The security’s annual yield.
- Frequency: The number of coupon payments per year. For annual payments, frequency = 1; for semiannual, frequency = 2; for quarterly, frequency = 4.
- Basis (Optional): The type of day count basis to use.
Note: Problems can occur if dates are entered as text. Therefore, all dates should be entered by using the DATE function, or formatted as date under format cell to avoid errors.
Basis | Day count basis |
0 or omitted | US (NASD) 30/360 |
1 | Actual/actual |
2 | Actual/360 |
3 | Actual/365 |
4 | European 30/360 |
MDURATION formula explanation
- Microsoft Excel stores dates as sequential serial numbers so they can be used in calculations. By default, January 1, 1900 is serial number 1, and January 1, 2008 is serial number 39448 because it is 39,448 days after January 1, 1900.
- The settlement date is the date a buyer purchases a coupon, such as a bond. The maturity date is the date when a coupon expires. For example, suppose a 30-year bond is issued on January 1, 2008, and is purchased by a buyer six months later. The issue date would be January 1, 2008, the settlement date would be July 1, 2008, and the maturity date is January 1, 2038, which is 30 years after the January 1, 2008, issue date.
- Settlement, maturity, frequency, and basis are truncated to integers.
- If settlement or maturity is not a valid date, MDURATION returns the #VALUE! error value.
- If yld < 0 or if coupon < 0, MDURATION returns the #NUM! error value.
- If frequency is any number other than 1, 2, or 4, MDURATION returns the #NUM! error value.
- If basis < 0 or if basis > 4, MDURATION returns the #NUM! error value.
- If settlement ≥ maturity, MDURATION returns the #NUM! error value.
- Modified duration is defined as follows:
Example of MDURATION function
Steps to follow:
1. Open a new Excel worksheet.
2. Copy data in the following table below and paste it in cell A1
Note: For formulas to show results, select them, press F2 key on your keyboard and then press Enter.
You can adjust the column widths to see all the data, if need be.
Data | Description | |
1/1/2008 | Settlement date | |
1/1/2016 | Maturity date | |
8% | Percent coupon | |
9% | Percent yield | |
2 | Frequency is semiannual (see above) | |
1 | Actual/actual basis (see above) | |
Formula | Description | Result |
=MDURATION(A2,A3,A4,A5,A6,A7) | The modified duration, for the bond with the terms specified in A2:A5. |