coupon.dates {QuantBondCurves}R Documentation

Coupon date payments

Description

Function to calculate the upcoming coupon payment dates of a given asset, based on its payment frequency. The list of payment dates encompass the time period between the analysis date and the maturity of the asset.

Usage

coupon.dates(
  maturity,
  analysis.date = Sys.Date(),
  asset.type = "TES",
  freq = NULL,
  convention = "F",
  loc = "BOG",
  trade.date = NULL,
  coupon.schedule = "SF"
)

Arguments

maturity

Last day of the contract: YYYY-MM-DD. Alternatively, it can be a numeric value that represents the duration of the contract in years.

analysis.date

Date in which the asset is valued. By default, the current date.

asset.type

String that determines the asset type to value. See also 'Details'.

freq

Frequency of payments of a given asset in a year. For LIBOR and IBR the default frequency is four (quarterly payments). TES has a default frequency of one (annual payments).

convention

String that establishes if the effective dates are calculated using Following, Modified Following, Backward or Backward Following. See also 'Details'.

loc

String related to the location of the asset. It is used to calculate the effective dates, taking into account the business days of the given location. See also 'Details'.

trade.date

The date on which the transaction occurs. It is used to calculate maturity as a date, when given in years. Also required for non-trivial cases such as bonds with long first coupon.

coupon.schedule

String that establishes if a bond first coupon period is a long first coupon or a short first coupon. On the contrary, establishes if last coupon period is long last coupon or a short last coupon. See also 'Details'.

Details

asset.type makes reference to the following type of assets:

loc makes reference to the following locations:

convention makes reference to the following type of business day conventions:

coupon.schedule makes reference to the following type of coupon payment schedule of a bond:

Value

Upcoming coupon dates and dates of payment according to business day conventions.

Note

If only maturity is given, function assumes that the coupon payments have already started. If maturity and trade.date are included, coupon dates are calculated from trade.date to maturity. If by doing so, trade.date doesn't converge to maturity, month remainder is adjusted according to coupon.schedule. For LIBOR assets, function adds 2 business days to trade.date.

Examples

coupon.dates("2028-04-03")
coupon.dates(maturity = 2, analysis.date = "2021-10-01")
coupon.dates(maturity = "2029-10-01", asset.type = "FixedIncome", freq = 2, convention = "MB")
coupon.dates(maturity = "2028-02-29", analysis.date = "2022-07-29", trade.date = "2022-07-29",
             asset.type = "TES", coupon.schedule = "SF")
coupon.dates(maturity = "2025-11-30", analysis.date = "2022-03-01", trade.date = "2021-05-31",
             asset.type = "IBR", loc = "NY", convention = "F")

[Package QuantBondCurves version 0.3.0 Index]