Yield to maturity for a fixed income security.
Syntax
Yield = bndyield(Price, CouponRate, Settle, Maturity, Period, Basis,
EndMonthRule, IssueDate, FirstCouponDate, LastCouponDate,
StartDate, Face)
Arguments
All inputs are scalar or NumBonds-by-1 vectors. Dates can be serial date numbers or date strings. Fill unspecified entries in input vectors with NaN. Optional arguments can be passed as the empty matrix [].
Price
|
(required) Clean price of the bond (current price without accrued interest).
|
CouponRate
|
(required) Decimal number indicating the annual percentage rate used to determine the coupons payable on a bond.
|
Settle
|
(required) Settlement date. A vector of serial date numbers or date strings. Settle must be earlier than or equal to Maturity.
|
Maturity
|
(required) Maturity date. A vector of serial date numbers or date strings.
|
Period
|
Coupons per year of the bond. A vector of integers. Allowed values are 1, 2, 3, 4, 6, and 12. Default = 2.
|
Basis
| Day-count basis of the bond. A vector of integers.
0 = actual/actual (default), 1 = 30/360, 2 = actual/360,
3 = actual/365.
|
EndMonthRule
|
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
|
Date when a bond was issued.
|
FirstCouponDate
|
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
|
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
|
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
|
Face or par value.
|
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, 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:
Price + Accrued_Interest = sum(Cash_Flow*(1+Yield/2)^(-Time))
where the sum is over the bonds' cash flows and corresponding times in units of semi-annual coupon periods.
Example
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
[ Previous | Help Desk | Next ]