IFinance.YieldF

Синтаксис

YieldF(Settlement: DateTime; Maturity: DateTime; Rate: Double; Price: Double; Redemption: Double; Frequency: Integer; [Basis: Integer = 0]): Double;

YieldF(Settlement: System.DateTime; Maturity: System.DateTime; Rate: double; Price: double; Redemption: double; Frequency: integer; Basis: integer): double;

Параметры

Settlement. Дата расчета за ценные бумаги. Должен быть меньше Maturity;

Maturity. Срок погашения ценных бумаг. Должен быть больше Settlement;

Rate. Годовая процентная ставка для купонов по ценным бумагам. Должен быть неотрицательным;

Price. Цена ценных бумаг за 100 руб. номинальной стоимости. Должен быть положительным;

Redemption. Выкупная стоимость ценных бумаг за 100 руб. номинальной стоимости. Должен быть положительным;

Frequency. Количество купонных выплат в год. Параметр может принимать следующие значения:

Basis. Используемый способ вычисления дня. Задается в интервале от 0 до 4:

Необязательный параметр.

Описание

Метод YieldF возвращает доходность ценных бумаг, по которым производятся периодические выплаты процентов.

Комментарии

Если только один или менее периодов купона укладываются до даты погашения, функция YieldF вычисляется следующим образом:

,

где:

Пример Fore

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

Sub UserProc;
Var
    r: Double;
Begin
    r := Finance.YieldF(DateTime.ComposeDay(2008,01,01), DateTime.ComposeDay(2008,06,01), 0.1514515010
);
    Debug.WriteLine(r);
End Sub UserProc;

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,01);
    DateTime2 := New DateTime(2008,06,01);
    r := Finance.YieldF(DateTime1, DateTime2, 0.1514515010);
    System.Diagnostics.Debug.WriteLine(r);
End Sub;

В результате выполнения примера в окно консоли будет выведена доходность ценных бумаг, равная 0.1756.

См. также:

IFinance