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

Previous 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

PreviousQuasiCouponDate = cpndatepq(Settle, Maturity, Period, Basis, EndMonthRule, IssueDate, FirstCouponDate, LastCouponDate, StartDate) determines the previous quasi coupon date for a set of NUMBONDS fixed income securities. This function finds the previous quasi coupon date for a bond with a coupon structure in which the first or last period is either normal, short, or long (whether or not the coupon structure is synchronized to maturity). For zero coupon bonds this function returns the theoretical previous coupon date that would prevail if the bond were a coupon bond.

The term "previous quasi coupon date" refers to the previous coupon date for a bond calculated as if no issue date were specified. Although the issue date is not actually a coupon date, when issue date is specified, the previous actual coupon date for a bond is normally calculated as being either the previous date or the issue date, whichever is greater. Also, the actual previous coupon date and the previous quasi coupon date can differ when the maturity date is not synchronized with the coupon structure and the settlement date is the maturity date. This function always returns the previous quasi coupon date whether or not the issue date is greater. This function only returns a maturity date as a previous coupon date if it is synchronized with coupon structure of the bond. If the settlement date is a coupon date, this function always returns the settlement date.

PreviousQuasiCouponDate is an NUMBONDS- by-1 vector.

Examples

Given a pair of bonds with the characteristics:

With no FirstCouponDate explicitly supplied, compute the PreviousCouponDate for this pair of bonds:

Note that since the settlement date for the second bond is also a coupon date, cpndatep returns this date as the previous coupon date.

Now establish a FirstCouponDate and IssueDate for this pair of bonds:

Recompute the PreviousCouponDate for this pair of bonds:

Since both of these bonds settled before the first coupon had been paid, cpndatep returns the IssueDate as the PreviousCouponDate.

Using the same data, compute PreviousQuasiCouponDate:

For the first bond the settlement date is not a normal coupon date. For this bond PreviousQuasiCouponDate indicates the date (30-Nov-1991) on which a coupon would normally be paid if an explicit FirstCouponDate had not been specified. For the second bond the settlement date (10-Dec-1992) occurs on a date when a coupon would normally be paid in the absence of an explicit FirstCouponDate. cpndatepq returns this date as PreviousQuasiCouponDate.

See Also

accrfrac, cfamounts, cfdates, cftimes, cpncount, cpndaten, cpndatenq, cpndatep, cpndaysn, cpndaysp, cpnpersz



[ Previous | Help Desk | Next ]