AccrintM(Issue: DataTime;
Settlement: DataTime;
Rate: Double;
NominalCost: Double;
Basis: Integer): Double;
AccrintM(Issue: System.DataTime;
Settlement: System.DataTime;
Rate: double;
NominalCost: double;
Basis: integer): double;
| Parameters | Description | Constraints |
| Issue | Securities issue date. | Must be less than Settlement. |
| Settlement | Securities settlement date. | Must be greater than Issue. |
| Rate | Annual interest rate for securities coupons. | Must be positive. |
| NominalCost | Principal value of the securities. | Must be positive. |
| Basis | The employed method of day calculation: 0 - American/360 days (NSAD method). 1 - Actual/factual. 2 - Actual/360days. 3 - Actual/365 days. 4 - European 30/360 days. |
Must be in the [0,4] interval. |
The AccrintM method returns accumulated interest for the securities, for which the interest must be paid on settlement date.
AccrintM is calculated using the following formula:
Where:
A. The number of accumulated days according to the monthly basis. To calculate the yield for the settlement date, the number of days between the issue date and settlement date is used.
B. The number of days in a year depending on the basis.
To execute the example, add a link to the MathFin system assembly.
Sub UserProc;
Var
r: Double;
Begin
r := Finance.AccrintM(DateTime.ComposeDay(2008,01,12), DateTime.ComposeDay(2008,06,13), 11, 100, 3);
Debug.WriteLine(r);
End Sub UserProc;
After executing the example the console window displays the value of accumulated percent that is equal to 461.096.
The requirements and result of the Fore.NET example execution match with those in the Fore example.
Imports Prognoz.Platform.Interop.MathFin;
…
Public Shared Sub Main(Params: StartParams);
Var
r: double;
Finance: FinanceClass = New FinanceClass();
DateTime1, DateTime2: System.DateTime;
Begin
DateTime1 := New DateTime(2008,01,12);
DateTime2 := New DateTime(2008,06,13);
r := Finance.AccrintM(DateTime1, DateTime2, 11, 100, 3);
System.Diagnostics.Debug.WriteLine(r);
End Sub;
See also: