Price bond with stepped coupons
Compute the price and accrued interest due on a portfolio of stepped-coupon bonds having a yield of 7.221%, 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.
Define the specifications for the bonds.
Yield = 0.07221; Settle = datenum('02-Aug-1992'); ConvDates = [datenum('02-Aug-1992'), datenum('15-Jun-2003'),... nan; datenum('15-Jun-1997'), datenum('15-Jun-2001'),... datenum('15-Jun-2005'); datenum('14-Jun-1997'), datenum('14-Jun-2001'),... datenum('14-Jun-2005')]; Maturity = datenum('15-Jun-2010'); CouponRates = [0.075 0.08875 0.0925 nan; 0.075 0.08875 0.0925 0.1; 0.075 0.08875 0.0925 0.1]; Basis = 1; Period = 2; EndMonthRule = 1; Face = 100;
stepcpnprice to compute the bond prices with stepped coupons.
[Price, AccruedInterest] = stepcpnprice(Yield, Settle, Maturity, ConvDates, CouponRates, Period, Basis, EndMonthRule, Face)
Price = 3×1 117.3874 113.4387 114.1759
AccruedInterest = 3×1 1.1587 0.9792 0.9792
Yield— Yield to maturity
Yield to maturity, specified as a scalar or
1 vector of numeric values.
Settle— Settlement date
Settlement date, specified either as a scalar or
1 vector of serial date numbers.
Settle must be earlier than
Maturity— Maturity date
Maturity date, specified as a scalar or an
1 vector of serial date numbers
representing the maturity date for each bond.
ConvDates— Conversion dates
Conversion dates, specified as a
NCONV) matrix containing conversion
Settle. The size of the matrix is equal to the number
of instruments by the maximum number of conversions. Fill unspecified entries with
CouponRates— Bond coupon rate
Bond coupon rate, specified as an
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
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
Settle---------ConvDate1-----------ConvDate2------------Maturity Rate1 Rate2 Rate3
Period— Coupons per year
2per year (default) | vector
(Optional) Coupons per year, specified as an
1 vector. Values for
Basis— Day-count basis
0(actual/actual) (default) | integer from
(Optional) Day-count basis of each instrument, specified as an
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.
EndMonthRule— End-of-month rule flag for generating dates when
Maturityis end-of-month date for month having 30 or fewer days
1(in effect) (default) | nonnegative integer
(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 [
1] using a
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.
Face— Face value
100(default) | vector of nonnegative values
(Optional) Face value, specified for each bond as an
1 vector of nonnegative face
Price— Clean price
Clean price, returned as a
For bonds with fixed coupons, use
bndprice. If you use a fixed-coupon bond with
stepcpnprice, you receive the error:
AccruedInterest— Accrued interest payable at settlement dates
accrued interest payable at settlement dates, returned as a