Financial Toolbox |
 |
cpndaysn
Number of days to next coupon date (SIA compliant)
Syntax
NumDaysNext = cpndaysn(Settle, Maturity, Period, Basis,
EndMonthRule, IssueDate, FirstCouponDate, LastCouponDate,
StartDate)
Arguments
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.
|
Required arguments must be number of bonds (NUMBONDS
) by 1
or 1-by-NUMBONDS
conforming vectors or scalars. Optional arguments must be either NUMBONDS
-by-1 or 1-by-NUMBONDS
conforming vectors, scalars, or empty matrices.
Description
NumDaysNext = cpndaysn(Settle, Maturity, Period, Basis,
EndMonthRule, IssueDate, FirstCouponDate, LastCouponDate,
StartDate)
returns the number of days from the settlement date to the next coupon date for a bond or set of bonds. For zero coupon bonds coupon dates are computed as if the bonds have a semi-annual coupon structure.
Examples
NumDaysNext = cpndaysn('14 Sep 2000', '30 Jun 2001', 2, 0, 0)
NumDaysNext =
107
NumDaysNext = cpndaysn('14 Sep 2000', '30 Jun 2001', 2, 0, 1)
NumDaysNext =
108
Maturity = ['30 Apr 2001'; '31 May 2001'; '30 Jun 2001'];
NumDaysNext = cpndaysn('14 Sep 2000', Maturity)
NumDaysNext =
47
77
108
See Also
accrfrac
, cfamounts
, cftimes
, cfdates
, cpncount
, cpndaten
, cpndatenq
, cpndatep
, cpndatepq
, cpndaysp
, cpnpersz
| cpndatepq | | cpndaysp |  |