I have forgotten
my Password

Or login with:

  • Facebookhttp://facebook.com/
  • Googlehttps://www.google.com/accounts/o8/id
  • Yahoohttps://me.yahoo.com
get GPL
this unit 2.81
sub units 15.13

coupon Days To Set

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

get GPL add to cart






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,
  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; }
days to settlement=71

The yearly frequency to be used in financial calculations <table border="0"> <tr align="center"><td width="100"> <strong>Type</strong></td><td><strong>Description</strong></td></tr> <tr> <td align="center" valign="top"><em>yf_Annual</em></td> <td>Payments are made annually.</td> </tr> <tr> <td align="center" valign="top"><em>yf_SemiAnnual</em></td> <td>Payments are semi-annual (2 per year).</td> </tr> <tr> <td align="center" valign="top"><em>yf_Quarterly</em></td> <td>Payments are quarterly (4 per year).</td> </tr> </table>


James Warren (August 2005)

<div align="center"> <table border="0"> <tr align="center"><td width="100"> <strong>Type</strong></td><td><strong>Value</strong></td><td><strong>Description</strong></td></tr> <tr><td align="center" valign="top"><em>yb_US</em></td><td valign="top">0</td><td>US (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.</td></tr> <tr><td align="center" valign="top"><em>yb_Act</em></td><td valign="top">1</td><td>Uses the exact number of elapsed days between the two dates, as well as the exact length of the year.</td></tr> <tr><td align="center" valign="top"><em>yb_Act360</em></td><td valign="top">2</td><td>Uses the exact number of elapsed days between two dates but assumes the year only have 360 days</td></tr> <tr><td align="center" valign="top"><em>yb_Act365</em></td><td valign="top">3</td><td>Uses the exact number of elapsed days between two dates but assumes the year always has 365 days</td></tr> <tr><td align="center" valign="top"><em>yb_EU</em></td><td valign="top">4</td><td>European 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.</td></tr> </table> </div>


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:


The number of days to the next coupon date.


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.