Main Content

# zeroyield

Yield of zero-coupon instruments given price

## Syntax

``Yield = zeroyield(Price,Settle,Maturity)``
``Yield = zeroyield(___,Period,Basis,EndMonthRule)``

## Description

example

````Yield = zeroyield(Price,Settle,Maturity)` computes the yield of zero-coupon instruments given price. `zeroyield` calculates the bond-equivalent yield for a portfolio of general short and long-term zero-coupon instruments given the price of the instruments. In other words, if the zero-coupon computed with this yield is used to discount the reference bond, the value of that reference bond is equal to its price```

example

````Yield = zeroyield(___,Period,Basis,EndMonthRule)` adds optional arguments for `Period`, `Basis`, and `EndMonthRule`.```

## Examples

collapse all

This example shows how to compute the yield of a short-term zero-coupon instrument.

```Settle = '24-Jun-1993'; Maturity = '1-Nov-1993'; Basis = 0; Price = 95; Yield = zeroyield(Price, Settle, Maturity, [], Basis)```
```Yield = 0.1490 ```

This example shows how to compute the yield of a short-term zero-coupon instrument using a day-count basis of 30/360 (SIA).

```Settle = '24-Jun-1993'; Maturity = '1-Nov-1993'; Basis = 1; Price = 95; Yield = zeroyield(Price, Settle, Maturity, [], Basis)```
```Yield = 0.1492 ```

This example shows how to compute the yield of a long-term zero-coupon instrument.

```Settle = '24-Jun-1993'; Maturity = '15-Jan-2024'; Basis = 0; Price = 9; Yield = zeroyield(Price, Settle, Maturity, [], Basis)```
```Yield = 0.0804 ```

## Input Arguments

collapse all

Reference bond price, specified as a scalar or a `NZERO`-by-`1` vector.

Data Types: `double`

Settlement date, specified as a `NZERO`-by-`1` vector of serial date numbers.

Data Types: `double`

Maturity date, specified as a `NZERO`-by-`1` vector of serial date numbers.

Data Types: `double`

(Optional) Number of coupons in one year, specified as a positive integer for the values `1,2,4,6,12` in a `NZERO`-by-`1` vector.

Data Types: `double`

(Optional) Day-count basis of the bond, specified as a positive integer using a `NZERO`-by-`1` vector.

• 0 = actual/actual

• 1 = 30/360 (SIA)

• 2 = actual/360

• 3 = actual/365

• 4 = 30/360 (PSA)

• 5 = 30/360 (ISDA)

• 6 = 30/360 (European)

• 7 = actual/365 (Japanese)

• 8 = actual/actual (ICMA)

• 9 = actual/360 (ICMA)

• 10 = actual/365 (ICMA)

• 11 = 30/360E (ICMA)

• 12 = actual/365 (ISDA)

• 13 = BUS/252

For more information, see Basis.

Note

When the `Maturity` date is fewer than 182 days away and the `Basis` is `actual/365`, the `zeroyield` uses a simple-interest algorithm. If `Maturity` is more than 182 days away, `zeroyield` uses present value calculations.

When the `Basis` is `actual/360`, the simple interest algorithm gives the money-market yield for short (1–6 months to maturity) Treasury bills.

Data Types: `double`

(Optional) End-of-month rule flag, specified as a nonnegative integer with a value of `0` or `1` using a `NZERO`-by-`1` vector. This rule applies only when `Maturity` is an end-of-month date for a month having 30 or fewer days.

• `0` = Ignore rule, meaning that a bond coupon payment date is always the same numerical day of the month.

• `1` = Set rule on, meaning that a bond coupon payment date is always the last actual day of the month.

Data Types: `double`

## Output Arguments

collapse all

Bond-equivalent yield for each zero-coupon instrument, returned as a column vector.

## Algorithms

To compute the yield when there is zero or one quasi-coupon period to redemption, `zeroyield` uses the formula

`$Yield=\left(\frac{RV-P}{P}\right)×\left(\frac{M×E}{DSR}\right)$`

.

Quasi-coupon periods are the coupon periods which would exist if the bond was paying interest at a rate other than zero. The first term calculates the yield on invested dollars. The second term converts this yield to a per annum basis.

When there is more than one quasi-coupon period to the redemption date, `zeroyield` uses the formula

`$Yield=\left({\left(\frac{RV}{P}\right)}^{{}^{\frac{1}{Nq-1+\frac{DSC}{E}}}}-1\right)×M$`

The elements of the equations are defined as follows.

VariableDefinition

DSC

Number of days from the settlement date to next quasi-coupon date as if the security paid periodic interest.

DSR

Number of days from the settlement date to redemption date (call date, put date, and so on).

E

Number of days in quasi-coupon period.

M

Number of quasi-coupon periods per year (standard for the particular security involved).

Nq

Number of quasi-coupon periods between the settlement date and redemption date. If this number contains a fractional part, raise it to the next whole number.

P

Dollar price per \$100 par value.

RV

Redemption value.

Yield

Annual yield (decimal) when held to redemption.

## References

[1] Mayle, Jan. Standard Securities Calculation Methods. 3rd Edition, Vol. 1, Securities Industry Association, Inc., New York, 1993, ISBN 1-882936-01-9. Vol. 2, 1994, ISBN 1-882936-02-7.

## Version History

Introduced before R2006a