Financial Toolbox
  Go to function:
    Search    Help Desk 
cpndatenq    Examples   See Also

Next quasi coupon date for fixed income security.

Syntax

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
Coupons per year of the bond. A vector of integers. Allowed values are 1, 2, 3, 4, 6, and 12. Default = 2.
Basis
Day-count basis of the bond. A vector of integers.
0 = actual/actual (default), 1 = 30/360, 2 = actual/360,
3 = actual/365.
EndMonthRule
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
Date when a bond was issued.
FirstCouponDate
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
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
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.

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

The NextQuasiCouponDate 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:

Compute NextCouponDate for this pair of bonds.

Compute the next quasi coupon dates for these two bonds.

Because no FirstCouponDate has been specified, the results are identical.

Now supply an explicit FirstCouponDate for each bond.

Compute the next coupon dates.

NextCouponDate = cpndaten(Settle, Maturity, 2, 0, 1, [],... FirstCouponDate)

The next coupon dates are identical to the specified first coupon dates.

Now recompute the next quasi coupon dates.

The 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



[ Previous | Help Desk | Next ]