cpncount
Coupon payments remaining until maturity
Syntax
Description
returns
the whole number of coupon payments between the NumCouponsRemaining
= cpncount(Settle
,Maturity
)Settle
and Maturity
dates
for a coupon bond or set of bonds. Coupons falling on or before Settle
are
not counted, except for the Maturity
payment
which is always counted.
Required input arguments must be number of bonds, NUMBONDS
-by-1
or 1
-by-NUMBONDS
,
conforming vectors or scalars.
returns
the whole number of coupon payments between the NumCouponsRemaining
= cpncount(___,Period
,Basis
,EndMonthRule
,IssueDate
,FirstCouponDate
,LastCouponDate
)Settle
and Maturity
dates
for a coupon bond or set of bonds using optional input arguments.
Optional input arguments must be either NUMBONDS
-by-1
or 1
-by-NUMBONDS
conforming
vectors, scalars, or empty matrices.
Examples
Find Coupon Payments Remaining Until Maturity
This example shows how to find the coupon payments remaining until maturity.
NumCouponsRemaining = cpncount(datetime(1997,3,14), datetime(2000,11,30), 2, 0, 0)
NumCouponsRemaining = 8
Find Coupon Payments Remaining Until Maturity for Different Maturity Dates
This example shows how to find the coupon payments remaining until maturity, given three coupon bonds with different maturity dates and the same default arguments.
Maturity = [datetime(2000,9,30) ; datetime(2001,10,31) ; datetime(2002,11,30)]; NumCouponsRemaining = cpncount(datetime(1997,9,14), Maturity)
NumCouponsRemaining = 3×1
7
9
11
Input Arguments
Settle
— Settlement date
datetime array | string array | date character vector
Settlement date, specified as a NBONDS
-by-1
vector using
a datetime array, string array, or date character vectors.
Settle
must be earlier than
Maturity
.
To support existing code, cpncount
also
accepts serial date numbers as inputs, but they are not recommended.
Data Types: char
| string
| datetime
Maturity
— Maturity date
datetime array | string array | date character vector
Maturity date, specified as a NBONDS
-by-1
vector using a
datetime array, string array, or date character vectors.
To support existing code, cpncount
also
accepts serial date numbers as inputs, but they are not recommended.
Data Types: char
| string
| datetime
Period
— Coupons per year of the bond
2
(semiannual) (default) | vector of positive integers from the set [1,2,3,4,6,12]
Coupons per year of the bond, specified as a vector of positive
integers from the set [1,2,3,4,6,12]
.
Data Types: double
Basis
— Day-count basis of the bond
0
(actual/actual) (default) | numeric with value 0
through 13
| vector of numerics with values 0
through 13
Day-count basis of the bond, specified as an integer with a
value of 0
through 13
or an N
-by-1
vector
of integers with values of 0
through 13
.
0 = actual/actual (default)
1 = 30/360 (SIA)
2 = actual/360
3 = actual/365
4 = 30/360 (BMA)
5 = 30/360 (ISDA)
6 = 30/360 (European)
7 = actual/365 (Japanese)
8 = actual/actual (ICMA)
9 = actual/360 (ICMA)
10 = actual/365 (ICMA)
11 = 30/360E (ICMA)
12 = actual/365 (ISDA)
13 = BUS/252
For more information, see Basis.
Data Types: double
EndMonthRule
— End-of-month rule flag for month having 30 or fewer days
1
(in effect) (default) | nonnegative integer [0,1]
End-of-month rule flag for month having 30 or fewer days, specified
as scalar nonnegative integer [0
, 1
]
or a using an N
-by-1
vector
of values. 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, meaning that a bond’s coupon payment date is always the last actual day of the month.
Data Types: logical
IssueDate
— Bond issue date
datetime array | string array | date character vector
Bond issue date, specified as a NBONDS
-by-1
vector using
a datetime array, string array, or date character vectors.
To support existing code, cpncount
also
accepts serial date numbers as inputs, but they are not recommended.
Data Types: char
| string
| datetime
FirstCouponDate
— Date when bond makes first coupon payment
datetime array | string array | date character vector
Date when a bond makes its first coupon payment, specified as a
NBONDS
-by-1
vector using a
datetime array, string array, or date character vectors.
FirstCouponDate
is used when a bond has an
irregular first coupon period. When FirstCouponDate
and LastCouponDate
are
both specified, FirstCouponDate
takes precedence
in determining the coupon payment structure. If you do not specify
a FirstCouponDate
, the cash flow payment dates
are determined from other inputs.
To support existing code, cpncount
also
accepts serial date numbers as inputs, but they are not recommended.
Data Types: char
| string
| datetime
LastCouponDate
— Last coupon date of bond before maturity date
datetime array | string array | date character vector
Last coupon date of a bond before maturity date, specified as a
NBONDS
-by-1
vector using a
datetime array, string array, or date character vectors.
LastCouponDate
is used when a bond has an
irregular last coupon period. 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 is followed only by the bond's maturity cash flow date. If you
do not specify a LastCouponDate
, the cash flow
payment dates are determined from other inputs.
To support existing code, cpncount
also
accepts serial date numbers as inputs, but they are not recommended.
Data Types: char
| string
| datetime
Output Arguments
NumCouponsRemaining
— Whole number of coupon payments between the settlement and maturity dates for a coupon bond or set of bonds
vector
Whole number of coupon payments between the settlement and maturity
dates for a coupon bond or set of bonds, returned as an NBONDS
-by-1
vector.
Coupons falling on or before settlement are not counted, except for the maturity payment which is always counted.
Version History
Introduced before R2006aR2022b: Serial date numbers not recommended
Although cpncount
supports serial date numbers,
datetime
values are recommended instead. The
datetime
data type provides flexible date and time
formats, storage out to nanosecond precision, and properties to account for time
zones and daylight saving time.
To convert serial date numbers or text to datetime
values, use the datetime
function. For example:
t = datetime(738427.656845093,"ConvertFrom","datenum"); y = year(t)
y = 2021
There are no plans to remove support for serial date number inputs.
Ouvrir l'exemple
Vous possédez une version modifiée de cet exemple. Souhaitez-vous ouvrir cet exemple avec vos modifications ?
Commande MATLAB
Vous avez cliqué sur un lien qui correspond à cette commande MATLAB :
Pour exécuter la commande, saisissez-la dans la fenêtre de commande de MATLAB. Les navigateurs web ne supportent pas les commandes MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)