PRICE

Price of security that pays periodic interest

Description

For a security that pays periodic interest, given the expected yield, calculates the security's price.

Function signature

PRICE(settlement: String, maturity: String, rate: Number, yield: Number, redemption: 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.

Redemption

The redemption value 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-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

PRICE(date1, date2, 0.03, 1.2, 100, 2, "us_nasd")

2.49642314

PRICE(date1, date2, 0.03, 1.2, 100, 2)

2.49642314

PRICE(date3, date4, 0.05, 1.5, 300, 4, "us_nasd")

3.33333539

PRICE(date5, date6, 0.05, 1.5, 300, 4, "actual_360")

3.33333539

PRICE(date7, date8, 0.05, 1.5, 300, 1, "actual")

2.93632873