INVESTMENT_DURATION

Number of compounding periods required for investment

Description

Calculates how many compounding periods are required for an investment with a given current value that appreciates at a given rate in order to reach a specified target value.

Function signature

INVESTMENT_DURATION(settlement: String, maturity: String, rate: Number, yield: Number, frequency: Number, basis: String = us_nasd) => Number

Parameter

Description

Settlement

The security's settlement date.

Maturity

The security's maturity or end date.

Rate

The annualized rate of interest.

Yield

The expected annual yield of the security.

Frequency

Yearly interest/coupon payments count (1, 2, or 4).

Basis

Method to use for counting days per month/year:

  • `us_nasd` (default): 30-day month, 360-day year, i.e. US (NASD).

  • `actual`: Actual number of days per month/year.

  • `actual_360`: 360 day year, actual number of days per month.

  • `actual_365`: 365 day year, actual number of days per month. This means leap years are not taken into account.

  • `european`: Like `us_nasd`, but for months that are not 30 days long, European standards are used.

Examples

date1 = "2010-01-01T13:06:15+03:00"
date2 = "2039-01-01T13:06:15+03:00"
date3 = "2009-01-30T13:06:15+03:00"
date4 = "2023-07-30T13:06:15+03:00"

Formula

Return value

INVESTMENT_DURATION(date1, date2, 0.03, 0.12, 2, "us_nasd")

10.4300076

INVESTMENT_DURATION(date1, date2, 0.03, 0.12, 2)

10.4300076

INVESTMENT_DURATION(date3, date4, 0.05, 1.5, 4, "us_nasd")

0.91667041

INVESTMENT_DURATION(date3, date4, 0.05, 1.5, 4, "actual_360")

1.12222596