Ipmt(Rate: Double;
Period: Integer;
PeriodCount: Integer;
PresentValue: Double;
FutureValue: Double;
Type: Integer): Double;
Ipmt(Rate: double;
Period: integer;
PeriodCount: integer;
PresentValue: double;
FutureValue: double;
Type: integer): double;
Parameters | Description | Constraints |
Rate | Interest rate for a period. | Cannot be negative. |
Period | The period, for which interest payments have to be found. | Must be in the [1;PeriodCount] interval. |
PeriodCount | Total number of annuity payment periods. | Must be positive. |
PresentValue | Present net value or the total sum, which is currently equal to the set of future payments. | |
FutureValue | The required value of future cost, or the remainder after the last payment. | |
Type | Selecting time of payment: 0 - in the end of the period. 1 - in the beginning of the period. |
Must take the value 0 or 1. |
The Ipmt method returns the sum of interest payments for the given period, if the sums of regular payments are equal and the interest rate is constant.
All the arguments, denoting money, which has to be paid (for example, saving accounts), are represented as negative numbers; all the money, which has to be received (for example, dividends), are represented as positive numbers.
Ipmt is calculated using the following formula:
Where:
Pmt. Monthly payment on loan.
To get monthly payment on loan, use the IFinance.Pmt method.
To execute the example, add a link to the MathFin system assembly.
Sub UserProc;
Var
r: Double;
Begin
r := Finance.Ipmt(0.15, 12, 12, 1200, 1500, 0);
Debug.WriteLine(r);
End Sub UserProc;
After executing the example the console window displays the interest rate equal to 160.03.
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();
Begin
r := Finance.Ipmt(0.15, 12, 12, 1200, 1500, 0);
System.Diagnostics.Debug.WriteLine(r);
End Sub;
See also: