IFinance.OddfYield

Синтаксис

Текст статьи

OddfYield(Settlement: DateTime; Maturity: DateTime; Issue: DateTime; FirstCouponDate: DateTime; Rate: Double; PresentValue: Double; Redemption: Double; Frequency: Integer; [Basis: Integer = 0]): Double;

OddfYield(Settlement: System.DateTime; Maturity: System.DateTime; Issue: System.DateTime; FirstCouponDate: System.DateTime; Rate: double; PresentValue: double;  Redemption: double; Frequency: integer; Basis: integer): double;

Параметры

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

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

Issue. Дата выпуска ценных бумаг. Должен быть меньше Settlement;

FirstCouponDate. Дата первого купона для ценных бумаг. Должен быть больше Settlement.

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

PresentValue. Стоимость ценных бумаг. Должен быть неотрицательным;

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

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

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

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

Описание

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

Комментарии

Для получения цены за 100 рублей номинальной стоимости ценных бумаг для нерегулярного: короткого или длинного, первого периода используйте метод IFinance.OddfPrice.

Пример

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

Sub UserProc;
Var
    r: Double;
Begin
    r := Finance.OddfYield(DateTime.ComposeDay(2008,11,11), DateTime.ComposeDay(2021,03,01),
        DateTime.ComposeDay(2008,10,15), DateTime.ComposeDay(2009,03,01), 
0.1075145.520043);
    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, DateTime3, DateTime4: System.DateTime;
Begin
    DateTime1 := New DateTime(2008,11,11);
    DateTime2 := New DateTime(2021,03,01);
    DateTime3 := New DateTime(2008,10,15);
    DateTime4 := New DateTime(2009,03,01);
    r := Finance.OddfYield(DateTime1, DateTime2, DateTime3, DateTime4, 0.1075145.520043);
    System.Diagnostics.Debug.WriteLine(r);
End Sub;

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

См. также:

IFinance