Documentation

# 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

### 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.

 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.