CoupNum(Settlement: DataTime; Maturity: DataTime; Frequency: Integer; [Basis: Integer = 0]): Integer;
CoupNum(Settlement: System.DataTime; Maturity: System.DataTime; Frequency: integer; Basis: integer): integer;
Settlement. The payment day on securities. Must be less than Maturity
Maturity. The security's maturity date. Must be greater than Settlement
Frequency. The annual number of coupon payments. The parameter can take the following values:
1. Annual payments.
2. Semi-annual payments.
4. Quarterly payments.
Basis. The day calculation method used. Select a value from 0 to 4:
0. The day calculation method - American/360 days (NSAD method).
1. The day calculation method - Actual/actual.
2. The day calculation method - Actual/360 days.
3. The day calculation method - Actual/365 days.
4. The day calculation method - European 30/360 days.
The CoupNum method returns the number of coupons, which can be paid from the settlement date and the maturity date, rounded to the nearest integer.
To get the number of days from the coupon action start to the agreement date, use the IFinance.CoupDayBs function.
Add a link to the MathFin system assembly.
Sub UserProc;
Var
r: Integer;
Begin
r := Finance.CoupNum(DateTime.ComposeDay(2008,01,01), DateTime.ComposeDay(2008,06,01), 1, 0);
Debug.WriteLine(r);
End Sub UserProc;
Imports Prognoz.Platform.Interop.MathFin;
…
Public Shared Sub Main(Params: StartParams);
Var
r: Integer;
Finance: FinanceClass = New FinanceClass();
DateTime1, DateTime2: System.DateTime;
Begin
DateTime1 := New DateTime(2008,01,01);
DateTime2 := New DateTime(2008,06,01);
r := Finance.CoupNum(DateTime1, DateTime2, 1, 0);
System.Diagnostics.Debug.WriteLine(r);
End Sub;
After executing the example the console window displays the number of coupons equal to 1.
See also: