Rate(PeriodCount: Integer; PeriodPayment: Double; PresentValue: Double; [FutureValue: Double = 0;] [Type: Integer = 0;] [Guess: Double= 0.1]): Double;
PeriodCount. Total number of annuity payment periods. Parameter value must be greater than zero
PeriodPayment. The payment, made each period; this value cannot change during the whole payments period. The parameter value must differ by sign from the PresentValue parameter value.
PresentValue. The present value or total sum that at the moment is equal to the future payments. The parameter value must differ by sign from the PeriodPayment parameter value.
FutureValue. Value of the future value, that is, the desired remainder after the last payment. The default value is 0.
Type. Selecting payment time. Available values:
0. In the end of the period.
1. In the beginning of the period.
The default value is 0.
Guess. Expected interest rate. Default value is 0.1.
The Rate method returns annual interest rate for one period.
Rate is calculated by converging iteration process, that is why if consequent results of the Rate function are not equal with the accuracy up to 0.0000001, Rate returns error message.
If the Rate function does not converge, try to change value of the Guess parameter. The Rate function usually converges if value of this parameter is set between 0 and 1.
To execute the example, add a link to the MathFin system assembly.
Sub UserProc;
Var
r: String;
Begin
r := CultureInfo.Current.FormatDoublePrec(Finance.Rate(48, -200, 8000, 0, 0, 0.01), 2);
Debug.WriteLine(r);
End Sub UserProc;
After executing the example the console window displays the interest rate equal to 0.01 or 1%.
See also: