YIELDDISC

Discount security annual yield

Description

Given the price at which a discount (i.e. not bearing interest) security was bought, calculates its annual yield.

Function signature

YIELDDISC(settlement: String, maturity: String, price: Number, redemption: Number, basis: String = us_nasd) => Number

Parameter

Description

Settlement

The security's settlement date.

Maturity

The security's maturity or end date.

Price

The price at which the security is bought.

Redemption

The redemption value of the security.

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-02T13:06:15+03:00"
date2 = "2010-12-31T13:06:15+03:00"
date3 = "2009-01-31T13:06:15+03:00"
date4 = "2009-10-31T13:06:15+03:00"
date5 = "2009-01-30T13:06:15+03:00"
date6 = "2009-10-30T13:06:15+03:00"
date7 = "2009-01-31T13:06:15+03:00"
date8 = "2009-10-30T13:06:15+03:00"

Formula

Return value

YIELDDISC(date1, date2, 98.45, 100, "us_nasd")

0.01578789

YIELDDISC(date1, date2, 98.45, 100)

0.01578789

YIELDDISC(date3, date4, 145, 150, "us_nasd")

0.04597701

YIELDDISC(date5, date6, 295.4, 300, "actual_360")

0.02053464

YIELDDISC(date7, date8, 295.4, 300, "actual")

0.02089639