| Fixed-Income Toolbox™ | ![]() |
Yield = zeroyield(Price, Settle, Maturity, Period, Basis, EndMonthRule)
| Price | Scalar or vector containing prices of instruments. |
| Settle | Settlement date. A vector of serial date numbers or date strings. Settle must be earlier than or equal to Maturity. |
| Maturity | Maturity date. A vector of serial date numbers or date strings. |
| Period | (Optional) Scalar or vector specifying number of quasi-coupons per year. Default = 2. |
| Basis | (Optional) Day-count basis of the bond. A vector of integers.
|
| EndMonthRule | (Optional) End-of-month rule. A 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's coupon payment date is always the same numerical day of the month. 1 = set rule on (default), meaning that a bond's coupon payment date is always the last actual day of the month. |
Yield = zeroyield(Price, Settle, Maturity, Period, Basis, EndMonthRule) calculates the bond-equivalent yield for a portfolio of general short and long term zero-coupon instruments given the price of the instruments. Yield is a column vector containing a yield for each zero-coupon instrument.
When the maturity date is fewer than 182 days away and the basis is actual/365, the function uses a simple-interest algorithm. If maturity is more than 182 days away, the function uses present value calculations.
When the basis is actual/360, the simple interest algorithm gives the money-market yield for short (1 to 6 months to maturity) Treasury bills.
The present value algorithm always gives the bond equivalent yield of the zero-coupon instrument. The algorithm is equivalent to calling bndyield with the zero-coupon information within one basis point.
To compute the yield when there is zero or one quasi-coupon periods to redemption, zeroyield uses the formula
![]()
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

The elements of the equations are defined as follows.
| Variable | Definition |
|---|---|
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. |
Example 1. 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
Example 2. Recompute the yield of the same instrument using a different day-count basis.
Settle = '24-Jun-1993';
Maturity = '1-Nov-1993';
Basis = 1;
Price = 95;
Yield = zeroyield(Price, Settle, Maturity, [], Basis)
Yield =
0.1492
Example 3. 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
[1] Mayle, Jan. Standard Securities Calculation Methods. New York: Securities Industry Association, Inc. Vol. 1, 3rd ed., 1993, ISBN 1-882936-01-9. Vol. 2, 1994, ISBN 1-882936-02-7.
bndyield, cdyield, tbillyield, zeroprice
![]() | zeroprice | Class Reference | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |