# MDURATION

## Content

This function calculates the modified Macauley duration of a security with an assumed par value of $100.

## Syntax

`MDURATION(settlement, maturity, coupon, yield, frequency, [basis])`

## Arguments

This function has these arguments:

| Argument | Description |
| -------- | ----------- |
| *settlement* | [Required] Settlement date for the security |
| *maturity* | [Required] Maturity date for the security |
| *coupon* | [Required] Annual coupon rate |
| *yield* | [Required] Annual yield for the security |
| *frequency* | [Required] Frequency of payment, number of coupon payments per year; must be 1, 2, or 4 |
| *basis* | [Optional] Integer representing the basis for day count |

## Remarks

This function returns a #VALUE! error when *settlement* or *maturity* is invalid or a #NUM! error when *frequency* is a number other than 1, 2, or 4.
The function returns an error in the following cases:

* If *coupon* is less than 0 or *yield* is less than 0, a #NUM! error is returned.
* If *basis* is less than 0 or greater than 4, a #NUM! error is returned.
* If *settlement* is greater than or equal to maturity, a #NUM! error is returned.

## Examples

`MDURATION(A1,B2,C3,D4,E5,F6)`