Main Content

zeroyield

Yield of zero-coupon instruments given price

Description

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.

example

Examples

collapse all

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

Settle   = datetime(1993,6,24);
Maturity = datetime(1993,11,1);
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   = datetime(1993,6,24);
Maturity = datetime(1993,11,1);
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   = datetime(1993,6,24);
Maturity = datetime(2024,6,15);
Basis    = 0;
Price    = 9;

Yield = zeroyield(Price, Settle, Maturity, [], Basis)
Yield = 
0.0793

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 using a datetime array, string array, or date character vectors.

To support existing code, zeroyield also accepts serial date numbers as inputs, but they are not recommended.

Maturity date, specified as a NZERO-by-1 vector using a datetime array, string array, or date character vectors.

To support existing code, zeroyield also accepts serial date numbers as inputs, but they are not recommended.

(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=(RVPP)×(M×EDSR)

.

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=((RVP)1Nq1+DSCE1)×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

expand all