IFinance.YieldMat

Синтаксис Fore

YieldMat(Settlement: DateTime;

Maturity: DateTime;

Issue: DateTime;

Rate: Double;

Price: Double;

Basis: Integer): Double;

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

YieldMat(Settlement: System.DateTime;

Maturity: System.DateTime;

Issue: System.DateTime;

Rate: double;

Price: double;

Basis: integer): double;

Параметры

Параметры Описание Ограничения
Settlement Дата расчета за ценные бумаги. Должен быть меньше Maturity.
Maturity Срок погашения ценных бумаг. Должен быть больше Settlement.
Issue Дата выпуска ценных бумаг. Должен быть меньше Settlement.
Rate Процентная ставка дохода по ценным бумагам на дату выпуска. Должен быть неотрицательным.
Price Цена ценных бумаг за 100 руб. номинальной стоимости. Должен быть положительным.
Basis Используемый способ вычисления дня:
0 - Американский/360 дней (метод NSAD);
1 - Фактический/фактический;
2 - Фактический/360 дней;
3 - Фактический/365 дней;
4 - Европейский 30/360 дней.
Должен принадлежать промежутку [0,4].

Описание

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

Комментарии

YieldMat вычисляется следующим образом:

Где:

Пример Fore

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

Sub UserProc;
Var
    r: Double;
Begin
    r := Finance.YieldMat(DateTime.ComposeDay(2008,01,
01),
        DateTime.ComposeDay(2008,06,01), DateTime.ComposeDay(2007,10,01), 0.15145.80
);
    Debug.WriteLine(r);
End Sub UserProc;

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

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.MathFin;

Public Shared Sub Main(Params: StartParams);
Var
    r: double;
    Finance: FinanceClass = New FinanceClass();
    DateTime1, DateTime2, DateTime3: System.DateTime;
Begin
    DateTime1 := New DateTime(2008,01,01);
    DateTime2 := New DateTime(2008,06,01);
    DateTime3 := New DateTime(2007,10,01);
    r := Finance.YieldMat(DateTime1, DateTime2, DateTime3, 0.15145.80);
    System.Diagnostics.Debug.WriteLine(r);
End Sub;

См. также:

IFinance