You can use the MDURATION function to calculate the modified Macauley duration for an assumed parity value of 100 monetary units.

The modified Macauley duration expresses the measurable change in the value of a bond in response to a change in interest rates. The result represents the effect that a 1% change in interest rates will have on the price of a bond.

Syntax

MDURATION(Settlement, Maturity, Rate, Yield, frequency [, basis])

Arguments

ArgumentData typeDescription
Settlement (required)DateThe bond settlement date: The date the bond is traded to the buyer.
Maturity (required)DateThe bond maturity date: The date when the bond expires.
Rate (required)NumberThe bond annual coupon date.
Yield (required)NumberThe bond annual yield.
Frequency (required)Number

The number of coupon payments per year.

Enter:

  • 1 for annual
  • 2 for semi-annual
  • 4 for quarterly
BasisNumber

The basis determines how many days exist in a year.

A full year has:

  • 360 days when basis US (NASD) 30/360, Actual/360, and EUR 30/360 are used
  • 365 days when basis Actual/365 is used
  • 365 or 366 days when Actual/Actual is used

US 30/360 is the default basis for COUPDAYS. It can also be specified by entering 0.

To use a different type of day count basis, enter:

  • 1 for Actual/Actual
  • 2 for Actual/360
  • 3 for Actual/365
  • 4 for European 30/360

Learn about the conventions used to calculate the day count for basis.

The DURATION function returns a number.

Additional information

The modified Macauley duration is calculated with the following formula:

MDuration=Duration(1+yf)MDuration = \frac { Duration } { \left( 1 + \frac{y}{f} \right ) }

Where:

  • y is yield
  • f is frequency

Constraints

  • The settlement and maturity dates must be valid dates between 01/01/1900 and 12/31/2399.
  • The maturity date must be later than the settlement date.
  • The rate and yield must be positive or zero.
  • The frequency must be either 1 (annual), 2 (semi-annual), or 4 (quarterly).
  • The basis, when specified, must be either 0 (US 30/360), 1 (Actual/Actual), 2 (Actual/360), 3 (Actual/365), or 4 (EUR 30/360).

Calculation engine functionality differences

Most financial functions are currently unavailable in Polaris. Learn more about the differences between Anaplan calculation engines.

Excel equivalent

MDURATION

Related Anaplan functions

Examples

This example shows a modified Macauley duration calculation that specifies a basis.

FormulaDescriptionResult
MDURATION(DATE(2018, 1, 15), DATE(2021, 1, 15), 0.12, 0.1, 1, 4)

The example has a:

  • settlement date of 01/15/2018
  • maturity date of 01/15/2021
  • rate of 0.12 (12%)
  • yield of 0.1 (10%)
  • frequency of 1 (annual)
  • basis of 4 (European 30/360)
2.4524373

This example shows a modified Macauley duration calculation that does not specify a basis. As a result, the basis defaults to US 30/360.

FormulaDescriptionResult
MDURATION(DATE(2018, 1, 15), DATE(2021, 1, 15), 0.12, 0.1, 4)

The example has a:

  • settlement date of 01/15/2018
  • maturity date of 01/15/2021
  • rate of 0.12 (12%)
  • yield of 0.1 (10%)
  • frequency of 4 (quarterly)
2.5131792

Disclaimer

We update Anapedia regularly to provide the most up-to-date instructions.