CoupPcd(Settlement: DateTime;
Maturity: DateTime;
Frequency: Integer;
Basis: integer): DateTime;
CoupPcd(Settlement: System.DateTime;
Maturity: System.DateTime;
Frequency: integer;
Basis: integer): System.DateTime;
| Параметры | Описание | Ограничения |
| Settlement | Дата расчета за ценные бумаги. | Должен быть меньше Maturity. |
| Maturity | Срок погашения ценных бумаг. | Должен быть больше Settlement. |
| Frequency | Количество выплат по купонам за год:
1 - для ежегодных выплат; 2 - для полугодовых выплат; 4 - для ежеквартальных выплат. |
Должен принимать значения 1, 2 или 4. |
| Basis | Используемый способ вычисления дня:
0 - Американский/360 дней (метод NSAD); 1 - Фактический/фактический; 2 - Фактический/360 дней; 3 - Фактический/365 дней; 4 - Европейский 30/360 дней. |
Должен принадлежать промежутку [0,4]. |
Метод CoupPcd возвращает дату, соответствующую предыдущей дате купона перед датой расчета.
Для получения количества дней от начала действия купона до даты соглашения используйте функцию IFinance.CoupDayBs.
Для выполнения примера добавьте ссылку на системную сборку MathFin.
Sub UserProc;
Var
r: DateTime;
Begin
r := Finance.CoupPcd(DateTime.ComposeDay(2008,01,01), DateTime.ComposeDay(2008,06,01), 1, 0);
Debug.WriteLine(r);
End Sub UserProc;
В результате выполнения примера в окно консоли будет выведена дата начала предыдущего купона, равная «01.06.2007».
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.MathFin;
…
Public Shared Sub Main(Params: StartParams);
Var
r: System.DateTime;
Finance: FinanceClass = New FinanceClass();
DateTime1, DateTime2: System.DateTime;
Begin
DateTime1 := New DateTime(2008,01,01);
DateTime2 := New DateTime(2008,06,01);
r := Finance.CoupPcd(DateTime1, DateTime2, 1, 0);
System.Diagnostics.Debug.WriteLine(r);
End Sub;
См. также: