# 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* | Settlement date for the security |
| *maturity* | Maturity date for the security |
| *coupon* | Annual coupon rate |
| *yield* | Annual yield for the security |
| *frequency* | Frequency of payment, number of coupon payments per year; must be 1, 2, or 4 |
| *basis* | [Optional] Integer representing the basis for day count (Refer to [Day Count Basis](/spreadjs/docs/v16/formulareference/formulaoverview/functionsformula/DayCountBasis).) |

## 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.

## Data Types

Accepts numeric and DateTime object data. Returns numeric data.

## Examples

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