Financial Toolbox |
 |
bndyield
Yield to maturity for a fixed income security (SIA compliant)
Syntax
Yield = bndyield(Price, CouponRate, Settle, Maturity, Period, Basis,
EndMonthRule, IssueDate, FirstCouponDate, LastCouponDate,
StartDate, Face)
Arguments
Required and optional inputs can be number of bonds (NUMBONDS
) by 1 or 1-by-NUMBONDS
conforming vectors or scalar arguments. Optional inputs can also be passed as empty matrices ([]
) or omitted at the end of the argument list. The value NaN
in any optional input invokes the default value for that entry. Dates can be serial date numbers or date strings.
Price
|
Clean price of the bond (current price without accrued interest).
|
CouponRate
|
Decimal number indicating the annual percentage rate used to determine the coupons payable on a bond.
|
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) Coupons per year of the bond. A vector of integers. Allowed values are 0, 1, 2, 3, 4, 6, and 12. Default = 2.
|
Basis
| (Optional) Day-count basis of the bond. A vector of integers. 0 = actual/actual (default), 1 = 30/360, 2 = actual/360, 3 = actual/365.
|
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.
|
IssueDate
|
(Optional) Date when a bond was issued.
|
FirstCouponDate
|
(Optional) Date when a bond makes its first coupon payment. When FirstCouponDate and LastCouponDate are both specified, FirstCouponDate takes precedence in determining the coupon payment structure.
|
LastCouponDate
|
(Optional) Last coupon date of a bond prior to the maturity date. In the absence of a specified FirstCouponDate , a specified LastCouponDate determines the coupon structure of the bond. The coupon structure of a bond is truncated at the LastCouponDate regardless of where it falls and will be followed only by the bond's maturity cash flow date.
|
StartDate
|
(Future implementation; optional) Date when a bond actually starts (the date from which a bond's cash flows can be considered). To make an instrument forward-starting, specify this date as a future date. If StartDate is not explicitly specified, the effective start date is the settlement date.
|
Face
|
(Optional) Face or par value. Default = 100.
|
Description
Yield = bndyield(Price, CouponRate, Settle, Maturity, Period, Basis,
EndMonthRule, IssueDate, FirstCouponDate, LastCouponDate,
StartDate, Face)
given NUMBONDS
bonds with SIA date parameters and clean prices (excludes accrued interest), returns the bond equivalent yields to maturity.
Yield
is a NUMBONDS
-by-1 vector of the bond equivalent yields to maturity with semi-annual compounding.
Price
and Yield
are related by the formula
where the sum is over the bonds' cash flows and corresponding times in units of semi-annual coupon periods.
Examples
Compute the yield of a treasury bond at three different price values.
Price = [95; 100; 105];
CouponRate = 0.05;
Settle = '20-Jan-1997';
Maturity = '15-Jun-2002';
Period = 2;
Basis = 0;
Yield = bndyield(Price, CouponRate, Settle,...
Maturity, Period, Basis)
Yield =
0.0610
0.0500
0.0396
See Also
bndprice
, cfamounts
| bndprice | | bolling |  |