Yield = stepcpnyield(Price,Settle,Maturity,ConvDates,CouponRates)
computes the yield to maturity of bonds with stepped coupons given the price. The function
supports any number of conversion dates.
Find the yield to maturity of three stepped-coupon bonds of known price, given three conversion scenarios:
Bond A has two conversions, the first one falling on the settle date and immediately expiring.
Bond B has three conversions, with conversion dates exactly on the coupon dates.
Bond C has three conversions, with one or more conversion dates not on coupon dates. This case illustrates that only cash flows for full periods after conversion dates are affected, as illustrated below.
The following table illustrates the interest-rate characteristics of this bond portfolio.
Maturity date, specified as a scalar or an
NUMBONDS-by-1 vector of serial date numbers
representing the maturity date for each bond.
Data Types: double
ConvDates — Conversion dates serial date number
Conversion dates, specified as a
NSTP-by-max(NCONV) matrix containing conversion
dates after Settle. The size of the matrix is equal to the number
of instruments by the maximum number of conversions. Fill unspecified entries with
NaN.
Data Types: double
CouponRates — Bond coupon rate positive decimal value
Bond coupon rate, specified as an
NSTP-by-max(NCONV+1) matrix containing coupon
rates for each bond in the portfolio in decimal form. The matrix size is equal to the
number of instruments by maximum number of conversions + 1. First column of this matrix
contains rates applicable between Settle and the first conversion
date (date in the first column of ConvDates). Fill unspecified
entries with NaN
ConvDates has the same number of rows as
CouponRates to reflect the same number of bonds. However,
ConvDates has one less column than
CouponRates. This situation is illustrated by
EndMonthRule — End-of-month rule flag for generating dates when Maturity is end-of-month date for month having 30 or fewer days 1 (in effect) (default) | nonnegative integer [0,1]
(Optional) End-of-month rule flag for generating dates when
Maturity is an end-of-month date for a month having 30 or fewer
days, specified for each bond as a nonnegative integer [0,
1] using a NUMBONDS-by-1 vector.
0 = Ignore rule, meaning that a payment date is always the
same numerical day of the month.
1 = Set rule on, meaning that a payment date is always the
last actual day of the month.
Data Types: logical
Face — Face value 100 (default) | vector of nonnegative values
(Optional) Face value, specified for each bond as an
NUMBONDS-by-1 vector of nonnegative face
values.
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.