coupons {QuantBondCurves} | R Documentation |
Coupon payment calculation
Description
Function that returns coupon values according to specified payment dates and a day count convention. Yields the values of cash flows for the remaining duration of assets, following a date payment structure, face value -or principal- and a specified coupon rate.
Usage
coupons(
dates = NULL,
coupon.rate,
principal = 1,
asset.type = "TES",
freq = NULL,
daycount = "ACT/360",
loc = "BOG",
maturity = NULL,
analysis.date = Sys.Date(),
trade.date = NULL,
coupon.schedule = "SF"
)
Arguments
dates |
Coupon payment dates. |
coupon.rate |
Coupon rate of the asset. Can be an unique numeric value or a vector corresponding to each coupon payment date. |
principal |
Notional amount for the asset. |
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). |
daycount |
Day count convention. 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'. |
maturity |
Only necessary in cases where coupon payment dates are not provided in the |
analysis.date |
Date in which the asset is valued. By default, the current date. |
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:
"TES" for Colombian Treasury Bonds (default).
"FixedIncome" for assets that are indexed to a fixed income with different frequency of payments.
"IBR" for bonds and assets indexed to 3M IBR rate.
"IBRSwaps" for swaps indexed to IBR rate.
"LIBOR" for bonds and assets indexed to 3M LIBOR.
"UVRSwaps" for cross-currency swaps indexed to UVR-IBR rate.
"LIBORSwaps" for Interest Rate Swaps (IRS) indexed to 3M LIBOR.
daycount
convention accepts the following values:
30/360.
ACT/365.
ACT/360 (Default).
ACT/365L.
NL/365.
ACT/ACT-ISDA
ACT/ACT-AFB
coupon.schedule
makes reference to the following type of coupon payment schedule
of a bond:
"LF" for Long First coupon payment.
"LL" for Long Last coupon payment.
"SF" for Short First coupon payment.
"SL" for Short Last coupon payment.
Value
$Coupons or $Cash flows of the asset in analysis.
Examples
coupons(dates = c("2020-09-10", "2020-12-10", "2021-03-10"),
coupon.rate = 0.06)
coupons(dates = c("2020-09-10", "2020-12-10", "2021-03-10"),
coupon.rate = 0.08, principal = 1000,
asset.type = "LIBOR", daycount = "ACT/365")
coupons(dates = c("2020-09-10","2020-12-10", "2021-03-10"),
coupon.rate = 0.07, asset.type = "FixedIncome",
freq = 4, daycount = "NL/365")
coupons(coupon.rate = c(0.04,0.04,0.42,0.045,0.05),
maturity = "2024-01-05", analysis.date = "2023-01-03",
asset.type = "IBR")
coupons(coupon.rate = 0.03, maturity = 1.08,
analysis.date = "2020-02-29", trade.date = "2020-02-29",
asset.type = "IBR", coupon.schedule = "LF")