stepcpnprice - Price bond with stepped coupons

Syntax

[Price, AccruedInterest] = stepcpnprice(Yield, Settle, Maturity, 
ConvDates, CouponRates, Period, Basis, EndMonthRule, Face)

Arguments

Yield

Scalar or vector containing yield to maturity of instruments.

Settle

Settlement date. A scalar or vector of serial date numbers. Settle must be earlier than or equal to Maturity.

Maturity

Maturity date. A scalar or vector of serial date numbers.

ConvDates

Matrix of serial date numbers representing conversion dates after Settle. Size = number of instruments by maximum number of conversions. Fill unspecified entries with NaN.

CouponRates

Matrix indicating the coupon rates for each bond in decimal form. Size = 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. See Note below.

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 instrument. A vector of integers.

  • 0 = actual/actual (default)

  • 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 (ISMA)

  • 9 = actual/360 (ISMA)

  • 10 = actual/365 (ISMA)

  • 11 = 30/360E (ISMA)

  • 12 = actual/365 (ISDA)

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.

Face

(Optional) Face value of each bond in the portfolio. Default = 100.

All arguments must be scalars or number of bonds (NUMBONDS)-by-1 vectors, except for ConvDates and CouponRates.

Description

[Price, AccruedInterest] = stepcpnprice(Yield, Settle, Maturity, ConvDates, CouponRates, Period, Basis, EndMonthRule, Face) computes the price of bonds with stepped coupons given the yield to maturity. The function supports any number of conversion dates.

Price is a NUMBONDS-by-1 vector of clean prices.

AccruedInterest is a NUMBONDS-by-1 vector of accrued interest payable at settlement dates.

Examples

Compute the price and accrued interest due on a portfolio of stepped-coupon bonds having a yield of 7.221%, given three conversion scenarios:

The following table illustrates the interest rate characteristics of this bond portfolio.

Bond A DatesBond A RatesBond B DatesBond B RatesBond C DatesBond C Rates

Settle (02-Aug-92)

7.5%

Settle (02-Aug-92)

7.5%

Settle (02-Aug-92)

7.5%

First Conversion (02-Aug-92)

8.875%

First Conversion (15-Jun-97)

8.875%

First Conversion (14-Jun-97)

8.875%

Second Conversion (15-Jun-03)

9.25%

Second Conversion (15-Jun-01)

9.25%

Second Conversion (14-Jun-01)

9.25%

Maturity (15-Jun-10)

NaN

Third Conversion (15-Jun-05)

10.0%

Third Conversion (14-Jun-05)

10.0%

Maturity (15-Jun-10)

NaN

Maturity (15-Jun-10)

NaN

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;

[Price, AccruedInterest] = ...
stepcpnprice(Yield, Settle, Maturity, ConvDates, CouponRates, ... 
Period, Basis, EndMonthRule, Face)

Price =

  117.3824
  113.4339
  113.4339

AccruedInterest =

    1.1587
    0.9792
    0.9792

References

This function adheres to SIA Fixed Income Securities Formulas for Price, Yield, and Accrued Interest, Volume 1, 3rd edition, pp. 120 - 123, on zero-coupon instruments pricing.

See Also

bndprice, cdprice, stepcpncfamounts, stepcpnyield, tbillprice, zeroprice

  


 © 1984-2009- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS