PRICEDISC

Price of discount security

Description

For a discount security (i.e. one that doesn't bear interest), given the expected yield, calculates the security's price.

Function signature

PRICEDISC(settlement: String, maturity: String, discount: Number, redemption: Number, basis: String = us_nasd) => Number

Parameter

Description

Settlement

The security's settlement date.

Maturity

The security's maturity or end date.

Discount

The discount rate of the security at time of purchase

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

Formula

Return value

PRICEDISC(date1, date2, 0.03, 100, "us_nasd")

10.00833333

PRICEDISC(date1, date2, 0.03, 100)

10.00833333

PRICEDISC(date3, date4, 0.05, 300, "us_nasd")

78.75

PRICEDISC(date5, date6, 0.05, 300, "actual_360")

75.58333333

PRICEDISC(date7, date8, 0.05, 300, "actual")

78.81982475