| Financial Toolbox | Search  Help Desk |
| cpndatenq | Examples See Also |
Next quasi coupon date for fixed income security.
Syntax
NextQuasiCouponDate = cpndatenq(Settle, Maturity, Period, Basis, EndMonthRule, IssueDate, FirstCouponDate, LastCouponDate, StartDate)
Arguments
Settle and Maturity are required arguments. All others are optional.
Required arguments must be 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. Fill unspecified entries in input vectors with the value NaN. Dates can be serial date numbers or date strings.
Description
NextQuasiCouponDate = cpndatenq(Settle, Maturity, Period, Basis,
EndMonthRule, IssueDate, FirstCouponDate, LastCouponDate,
StartDate)
determines the next quasi coupon date for a set of NUMBONDS fixed income securities. The term "next quasi coupon date" refers to the next coupon date for a bond computed as if the first coupon date is unspecified. This function finds the next quasi coupon date for a bond with a coupon structure in which the first or last period is either normal, short, or long. For zero coupon bonds this function returns quasi coupon dates as if the bond had a semi-annual coupon structure.
NextQuasiCouponDate is the next coupon date for a bond computed as if no first coupon date has been explicitly specified.
Outputs are NUMBONDS-by-1 vectors
If Settle is a coupon date, this function never returns the settlement date. It returns the coupon date strictly after settlement.
Examples
TheNextQuasiCouponDate indicates the dates on which coupons would normally be paid if a different FirstCouponDate is not specified.
For example, given a pair of bonds with the characteristics:
Settle = str2mat('30-May-1992','10-Dec-1992')
Maturity = str2mat('30-Nov-1997','10-Jun-1999')
Compute NextCouponDate for this pair of bonds.
NextCouponDate = cpndaten(Settle, Maturity) ans =
31-May-1992 10-Jun-1993Compute the next quasi coupon dates for these two bonds.
NextQuasiCouponDate = cpndatenq(Settle, Maturity) ans =
31-May-1992 10-Jun-1993Because no
FirstCouponDate has been specified, the results are identical.
Now supply an explicit FirstCouponDate for each bond.
FirstCouponDate = str2mat('30-Nov-1992','10-Dec-1993')
Compute the next coupon dates.
NextCouponDate = cpndaten(Settle, Maturity, 2, 0, 1, [],... FirstCouponDate)
ans =
30-Nov-1992 10-Dec-1993The next coupon dates are identical to the specified first coupon dates. Now recompute the next quasi coupon dates.
NextQuasiCouponDate = cpndatenq(Settle, Maturity, 2, 0, 1, [],... FirstCouponDate) ans = 31-May-1992 10-Jun-1993The results indicate the dates on which coupons would normally be paid if a different first coupon date had not been specified.
See Also
accrfrac, cfdates, cftimes, cpncount, cpndaten, cpndatep, cpndatepq, cpndaysn, cpndaysp, cpnpersz