Policies & Guidelines

YIELDMAT

Calculates the annual yield of a security paying interest

Description

Given the price at which a security paying interest at maturity was bought, calculates its annual yield.

Function signature

YIELDMAT(settlement: String, maturity: String, issue: String, rate: Number, price: Number, basis: String = us_nasd) => Number

Parameter

Description

Settlement

The security's settlement date.

Maturity

The security's maturity or end date.

Issue

The date the security was initially issued.

Rate

The annualized rate of interest.

Price

The price at which the security is bought.

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

Formula

Return value

YIELDMAT(date1, date2, date3, 0.03, 98.45, "us_nasd")

0.04911985

YIELDMAT(date1, date2, date3, 0.03, 98.45)

0.04911985

YIELDMAT(date4, date5, date6, 0.05, 150, "actual")

0.01073054

YIELDMAT(date6, date7, date8, 0.05, 150, "actual_360")

0.01095999