Documentation/How Tos/Calc: DURATION ADD function

From Apache OpenOffice Wiki
Jump to: navigation, search


Returns the Macaulay duration of a security.

This function is only available if the Analysis AddIn is installed.


DURATION_ADD(settlementdate; maturitydate; rate; yield; frequency; basis)

settlementdate: the settlement (purchase) date of the bond.
maturitydate: the maturity (redemption) date of the bond.
rate: the (annual) interest rate of the bond.
yield: the (annual) yield of the bond.
frequency: the number of interest payments per year (1, 2 or 4).
basis: is the calendar system to use. Defaults to 0 if omitted.
0 - US method (NASD), 12 months of 30 days each
1 - Actual number of days in months, actual number of days in year
2 - Actual number of days in month, year has 360 days
3 - Actual number of days in month, year has 365 days
4 - European method, 12 months of 30 days each

This function returns the Macaulay duration of a security, which is a measure of price volatility and interest rate sensitivity. It is the weighted average of the times to receipt of income from the security, where the weight for each time is the present value of that income divided by the present value of the security itself; the result is thus the sum of:
time_until_receipti * present_value_of_incomei / present_value_of_security.


DURATION_ADD("2008-2-28"; "2010-8-31"; 5%; 6%; 2; 0)

returns approximately 2.33 years.


  • This function is implemented as DURATION in Gnumeric and Excel.
  • The DURATION function in Calc is entirely different.
  • This function uses YEARFRAC in the calculation. There are known slight inaccuracies (both in Calc and in Excel) in YEARFRAC.

See Also
Retrieved from ""
Personal tools