IFinance.OddlYield

Синтаксис Fore

OddlYield(Settlement: DateTime;

Maturity: DateTime;

LastCouponDate: DateTime;

Rate: Double;

Price: Double;

Redemption: Double;

Frequency: Integer;

Basis: Integer): Double;

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

OddlYield(Settlement: System.DateTime;

Maturity: System.DateTime;

LastCouponDate: System.DateTime;

Rate: double;

Price: double;

Redemption: double;

Frequency: integer;

Basis: integer): double;

Параметры

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

Описание

Метод OddlYield возвращает доход по ценным бумагам с нерегулярным (коротким или длинным) последним периодом.

Комментарии

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

Где:

Aj. Количество накопленных дней для j-го или последнего квазикупонного периода в нерегулярном периоде, отсчитанное вперед от даты последней выплаты перед погашением;

DCj. Количество дней, сосчитанных для j-го или последнего квазикупонного периода, разделенное на продолжительность фактического купонного периода;

NC. Количество квазикупонных периодов, укладывающихся в нерегулярный период. Если это число является дробным, то оно округляется с избытком до ближайшего целого;

NLj. Нормальная продолжительность в днях j-го или последнего квазикупонного периода в нерегулярном купонном периоде.

Пример Fore

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

Sub UserProc;
Var
    r: Double;
Begin
    r := Finance.
OddlYield(DateTime.ComposeDay(2008,04,20), DateTime.ComposeDay(2008,06,15),
        DateTime.ComposeDay(2007,12,24), 0.0275101.8210243
);
    Debug.WriteLine(r);
End Sub UserProc;

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

Пример 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,04,20);
    DateTime2 := New DateTime(2008,06,15);
    DateTime3 := New DateTime(2007,12,24);
    r := Finance.OddlYield(DateTime1, DateTime2, DateTime3, 0.0275101.8210243);
    System.Diagnostics.Debug.WriteLine(r);
End Sub;

См. также:

IFinance