IFinance.Rate

Синтаксис Fore

Rate(PeriodCount: Integer;

PeriodPayment: Double;

PresentValue: Double;

FutureValue: Double;

Type: Integer;

Guess: Double): Double;

Синтаксис Fore.NET

Rate(PeriodCount: integer;

PeriodPayment: double;

PresentValue: double;

FutureValue: double;

Type: integer;

Guess: double): double;

Параметры

Параметры Описание Ограничения
PeriodCount Общее число периодов платежей по аннуитету. Должен быть положительным.
PeriodPayment Выплата, производимая в каждый период; это значение не может меняться в течение всего периода выплат. Должен отличаться по знаку от PresentValue.
PresentValue Приведенная стоимость или общая сумма, которая на текущий момент равноценна ряду будущих платежей. Должен отличаться по знаку от PeriodPayment.
FutureValue Значение будущей стоимости, т. е. желаемого остатка средств после последней выплаты.  
Type Выбор времени платежа:
0 - В конце периода;
1 - В начале периода.
Должен принимать значения 0 или 1.
Guess Предполагаемая величина ставки.  

Описание

Метод Rate возвращает процентную ставку по аннуитету за один период.

Комментарии

Rate вычисляется путем сходящегося итерационного процесса, поэтому если последовательные результаты функции Rate не сходятся с точностью 0,0000001, то Rate возвращает сообщение об ошибке.

Если функция Rate не сходится, попробуйте изменить значение параметра Guess. Функция Rate обычно сходится, если значение этого параметра находится между 0 и 1.

Пример Fore

Для выполнения примера добавьте ссылку на системную сборку MathFin.

Sub UserProc;
Var
    r: String;
Begin
    r := 
CultureInfo.Current.FormatDoublePrec(Finance.Rate(48, -2008000000.01), 2);
    Debug.WriteLine(r);
End Sub UserProc;

В результате выполнения примера в окно консоли будет выведена процентная ставка, равная «0.01» или 1%.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.MathFin;
Imports Prognoz.Platform.Interop.ForeSystem;

Public Shared Sub Main(Params: StartParams);
Var
    r: String;
    Finance: FinanceClass = New FinanceClass();
    CultInf: CultureInfoClass = New CultureInfoClass();
Begin
    r := CultInf.Current.FormatDoublePrec(Finance.Rate(48, -2008000000.01), 2);
    System.Diagnostics.Debug.WriteLine(r);
End Sub;

См. также:

IFinance