I have forgotten
my Password

Or login with:

  • Facebookhttp://facebook.com/
  • Googlehttps://www.google.com/accounts/o8/id
  • Yahoohttps://me.yahoo.com
get GPL
COST (GBP)
this unit 2.81
sub units 15.13
+
0
FinanceBanking

coupon Days To Set

Return the number of days from the start of the coupon period to the settlement date. Excel: COUPDAYBS
Controller: CodeCogs

Dependents

Info

Interface

C++

CouponDaysToSet

 
intcouponDaysToSetintsett
intmat
Finance::Banking::YearlyFreqfreq
Finance::Banking::YearBasisbasis = yb_USA )
This function computes the number of days from the beginning of the current coupon period to the settlement. The year basis is taken into account. This function is equivalent to the Microsoft Excel function COUPDAYBS.

For a security, the settlement date is the date after issue when the security is traded to the buyer. The maturity date is the date at which the security expires.

Example 1

#include <stdio.h>
 
#include <codecogs/units/date/date.h>
#include <codecogs/units/date/dateymd.h>
#include <codecogs/finance/banking/coupondaystoset.h>
 
int main(void)
{
  int settDate=Units::Date::date(1998, 1, 25);
  int maturityDate=Units::Date::date(1999, 11, 15);
 
  int days=Finance::Banking::couponDaysToSet(settDate,
                                             maturityDate,
                                             Finance::Banking::yf_SemiAnnual,
                                             Finance::Banking::yb_Act);
  int y, m, d;
 
  Units::Date::dateYMD(settDate, y, m, d);
  printf("settlement=%i/%i/%i\n", y, m, d);
 
  Units::Date::dateYMD(maturityDate, y, m, d);
  printf("maturity=%i/%i/%i\n", y, m, d);
 
  printf("days to settlement=%i\n", days);
 
  return 0;
}
Output:
settlement=1998/1/25
maturity=1999/11/15
days to settlement=71

The yearly frequency to be used in financial calculations

TypeDescription
yf_Annual Payments are made annually.
yf_SemiAnnual Payments are semi-annual (2 per year).
yf_Quarterly Payments are quarterly (4 per year).

Authors

James Warren (August 2005)

TypeValueDescription
yb_US0US (NASD) 30/360 - As with the European 30/360 (yb_EU, with the additional provision that if the end date occurs on the 31st of a month it is moved to the 1st of the next month if the start date is earlier than the 30th.
yb_Act1Uses the exact number of elapsed days between the two dates, as well as the exact length of the year.
yb_Act3602Uses the exact number of elapsed days between two dates but assumes the year only have 360 days
yb_Act3653Uses the exact number of elapsed days between two dates but assumes the year always has 365 days
yb_EU4European 30/360 - Each month is assumed to have 30 days, such that the year has only 360 days. Start and end dates that occur on the 31st of a month become equal to the 30th of the same month.

Parameters

settThe settlement date, expressed as a serial Julian date.
matThe maturity date of the settlement, expressed as a serial Julian date.
freqThe frequency with which payments are made:
basisThe year basis to use for the calculation:

Returns

The number of days to the next coupon date.

Authors

James Warren (August 2005)
Source Code

Source code is available when you agree to a GP Licence or buy a Commercial Licence.

Not a member, then Register with CodeCogs. Already a Member, then Login.