CoupDayBs(Settlement: DateTime; Maturity: DateTime; Frequency: Integer; [Basis: Integer = 0]): Double;
Settlement. Дата расчета за ценные бумаги. Должен быть меньше Maturity;
Maturity. Срок погашения ценных бумаг. Должен быть больше Settlement;
Frequency. Количество купонных выплат в год. Параметр может принимать следующие значения:
1. Ежегодные выплаты;
2. Полугодовые выплаты;
4. Ежеквартальные выплаты;
Basis. Используемый способ вычисления дня. Задается в интервале от 0 до 4:
0. Способ вычисления дня американский/360 дней (метод NSAD). Значение по умолчанию;
1. Способ вычисления дня Фактический/фактический;
2. Способ вычисления дня Фактический/360 дней;
3. Способ вычисления дня Фактический/365 дней;
4. Способ вычисления дня европейский 30/360 дней.
Необязательный параметр.
Метод CoupDaybs возвращает количество дней от начала действия купона до даты соглашения.
Дата соглашения является датой продажи покупателю купона, например, облигации. Срок платежа представляет собой дату истечения срока действия купона. Пусть, например, облигация со сроком действия 30 лет выпущена 1 января 2008 года и была приобретена покупателем через шесть месяцев после своего выпуска. Датой выпуска будет являться 1 января 2008 года, датой расчета - 1 июля 2008, а срок погашения такой облигации - 1 января 2038 года, то есть через 30 лет после даты выпуска.
Добавьте ссылку на системную сборку MathFin.
Sub UserProc;
Var
r: Double;
Begin
r := Finance.CoupDayBs(DateTime.ComposeDay(2008,11,11), DateTime.ComposeDay(2008,12,31), 1, 3);
Debug.WriteLine(r);
End Sub UserProc;
В результате выполнения примера в окно консоли будет выведено количество дней от начала действия купона, равное 316.
См. также: