OddlPrice(Settlement: DateTime, Maturity: DateTime, LastCouponDate: DateTime, Rate: Double, YieldP: Double, Redemption: Double, Frequency: Integer, Basis: Ingteger): Double;
OddlPrice(Settlement: System.DateTime, Maturity: System.DateTime, LastCouponDate: System.DateTime, Rate: double, YieldP: double, Redemption: double, Frequency: integer, Basis: ingteger): double;
Settlement. Дата расчета за ценные бумаги (дата продажи ценных бумаг покупателю, более поздняя, чем дата выпуска);
Maturity. Срок погашения ценных бумаг. Эта дата определяет момент, когда истекает срок действия ценных бумаг;
LastCouponDate. Дата последней купонной выплаты для ценных бумаг;
Rate. Процентная ставка для ценных бумаг. Значение параметра должно быть больше, либо равно нулю;
YieldP. Годовой доход по ценным бумагам. Значение параметра должно быть больше, либо равно нулю;
Redemption. Выкупная стоимость ценных бумаг в расчете на 100 рублей номинальной стоимости;
Frequency. Количество купонных выплат в год. Параметр может принимать следующие значения:
1. Ежегодные выплаты;
2. Полугодовые выплаты;
4. Ежеквартальные выплаты;
Basis. Используемый способ вычисления дня. Задается в интервале от 0 до 4:
0. Способ вычисления дня американский/360 дней (метод NSAD);
1. Способ вычисления дня Фактический/фактический;
2. Способ вычисления дня Фактический/360 дней;
3. Способ вычисления дня Фактический/365 дней;
4. Способ вычисления дня европейский 30/360 дней.
Метод OddlPrice возвращает цену за 100 рублей номинальной стоимости ценных бумаг для нерегулярного (короткого или длинного) последнего периода купона.
Значение параметра Settlement должно быть меньше значения параметра Maturity.
Значение параметра Maturity должно быть больше значения параметра LastCouponDate.
Значение параметра LastCouponDate должно быть меньше значения параметра Settlement.
Дата соглашения является датой продажи покупателю купона, например, облигации. Срок платежа представляет собой дату истечения срока действия купона. Пусть, например, облигация со сроком действия 30 лет выпущена 1 января 2008 года и была приобретена покупателем через шесть месяцев после своего выпуска. Датой выпуска будет являться 1 января 2008 года, датой соглашения - 1 июля 2008 года, а сроком погашения такой облигации - 1 января 2038 года, то есть дата через 30 лет после даты выпуска.
Для выполнения примера добавьте ссылку на системную сборку MathFin.
Sub UserProc;
Var
r: Double;
Begin
r := Finance.OddlPrice(DateTime.ComposeDay(2008,02,07), DateTime.ComposeDay(2008,06,15),
DateTime.ComposeDay(2007,10,15), 0.1275, 0.1025, 200, 4, 3);
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: System.DateTime;
Begin
DateTime1 := New DateTime(2008,02,07);
DateTime2 := New DateTime(2008,06,15);
DateTime3 := New DateTime(2007,10,15);
r := Finance.OddlPrice(DateTime1, DateTime2,
DateTime3, 0.1275, 0.1025, 200, 4, 3);
System.Diagnostics.Debug.WriteLine(r);
End Sub;
В результате выполнения примера в окно консоли будет выведена цена, равная 197,2097.
См. также: