Description
CoupDayBS returns the number of days between the latest coupon date before the settlement, and the settlement date.
Overloads
CoupDayBS (settlementDate, maturityDate, frequency)
CoupDayBS (settlementDate, maturityDate, frequency, basis)
Arguments
settlementDate is a
Date or
DateTime specifying when the security was purchased.
maturityDate is a
Date or
DateTime, after the settlement date, specifying the date when the security matures.
frequency is a number specifying the number of coupons per year. The supported values are 1 (annual payments), 2 (semiannual payments), and 4 (quarterly).
basis is an optional number specifying the day basis system to use. The following types are supported:
0 - American 30/360 (default)
4 - European 30/360Returns
Action
CoupDayBS returns the number of days between the latest coupon date before the settlement, and the settlement date. Coupon dates are evenly spaced, aligning with the maturity date. If the settlement date falls on a coupon date then CoupDayBS returns 0.
Example
Suppose a 30-year bond was issued on March 15, 1995 with semiannual coupon dates. The bond was purchased on the secondary market on August 25, 2000 (the settlement date). The maturity date is 30 years after the issue date, or March 15, 2025. This example uses the actual/actual basis.
CoupDayBS(DateValue(2000,8,25),DateValue(2025,3,15),2,1)
Returns 163. The coupon days for this bond occur on March 15 and September 15 of each year. 163 is the number of days between March 15, 2000 and August 25, 2000.
Comments
This function is designed to work like the Excel function of the same name.
For the actual/actual basis, CoupDays = CoupDayBS + CoupDaysNC for all valid inputs. This is not necessarily true when using a different basis, since CoupDays is derived from the number of days in the year while CoupDayBS and CoupDaysNC are calculated directly.