exponenta event banner

cpndatepq

Предыдущая квазикупонная дата обеспечения с фиксированным доходом

Описание

пример

PreviousQuasiCouponDate = cpndatepq(Settle,Maturity) определяет предыдущую дату квазикупона для набора NUMBONDS ценные бумаги с фиксированным доходом. Предыдущие квазикупонные даты определяют продолжительность стандартного купонного периода для обеспечения фиксированного дохода по процентам и не обязательно совпадают с фактическими сроками выплаты купона. Эта функция находит предыдущую квазикупонную дату для облигаций со структурой купона, первый или последний период которых является нормальным, коротким или длинным.

Требуемые входные аргументы должны быть числом связей, NUMBONDSоколо-1 или 1около-NUMBONDS, согласующиеся векторы или скаляры.

пример

PreviousQuasiCouponDate = cpndatepq(___,Period,Basis,EndMonthRule,IssueDate,FirstCouponDate,LastCouponDate), используя необязательные входные аргументы, определяет предыдущую дату квазикупона для набора NUMBONDS ценные бумаги с фиксированным доходом.

Необязательные входные аргументы должны быть либо NUMBONDSоколо-1 или 1около-NUMBONDS согласующиеся векторы, скаляры или пустые матрицы.

Если все входы для Settle, Maturity, IssueDate, FirstCouponDate, и LastCouponDate являются либо серийными номерами дат, либо векторами символов дат, то PreviousQuasiCouponDate возвращается в виде серийного номера. Функция datestr преобразует порядковый номер даты в форматированный символьный вектор даты.

Если какой-либо из входов для Settle, Maturity, IssueDate, FirstCouponDate, и LastCouponDate массивы datetime, затем PreviousQuasiCouponDate возвращается в виде массива datetime.

Примеры

свернуть все

Дана пара связей со следующими характеристиками:

Settle = char('30-May-1997','10-Dec-1997');
Maturity = char('30-Nov-2002','10-Jun-2004');

Без FirstCouponDate явно предоставленный, вычислите PreviousCouponDate для этой пары облигаций.

PreviousCouponDate = cpndatep(Settle, Maturity);
datestr(PreviousCouponDate)
ans = 2x11 char array
    '30-Nov-1996'
    '10-Dec-1997'

Следует отметить, что поскольку дата расчета для второй облигации также является датой купона, cpndatep возвращает эту дату как предыдущую дату купона.

Теперь установите FirstCouponDate и IssueDate для этой пары облигаций.

FirstCouponDate = char('30-Nov-1997','10-Dec-1998');
IssueDate = char('30-May-1996', '10-Dec-1996');

Повторно вычислить PreviousCouponDate для этой пары облигаций.

PreviousCouponDate = cpndatep(Settle, Maturity, 2, 0, 1, ... 
IssueDate, FirstCouponDate);
datestr(PreviousCouponDate)
ans = 2x11 char array
    '30-May-1996'
    '10-Dec-1996'

Поскольку обе эти облигации были погашены до выплаты первого купона, cpndatep возвращает значение IssueDate в качестве PreviousCouponDate.

Используя те же данные, вычислите PreviousQuasiCouponDate.

PreviousQuasiCouponDate = cpndatepq(Settle, Maturity, 2, 0, 1,... 
IssueDate, FirstCouponDate);
datestr(PreviousQuasiCouponDate)
ans = 2x11 char array
    '30-Nov-1996'
    '10-Dec-1997'

Для первой облигации дата расчета не является обычной датой купона. PreviousQuasiCouponDate - дата купона до или на дату расчета. Поскольку структура купона синхронизирована с FirstCouponDate, предыдущая дата квази купона 30-Nov-1996. PreviousQuasiCouponDate игнорирования IssueDate и FirstCouponDate в данном случае. Для второй облигации дата расчета (10-Dec-1997) наступает на дату, когда купон обычно выплачивается в отсутствие явного FirstCouponDate. cpndatepq возвращает эту дату как PreviousQuasiCouponDate.

Входные аргументы

свернуть все

Дата расчета, указанная как вектор серийного номера даты, символьный вектор даты или массив datetime. Settle должно быть раньше, чем Maturity.

Типы данных: double | char | datetime

Дата исполнения, указанная как вектор серийных номеров дат, векторов символов даты или массивов datetime.

Типы данных: double | char | datetime

Купоны в год связи, указанные как вектор положительных целых чисел из множества [1,2,3,4,6,12].

Типы данных: single | double

Базисное число дней инструмента, указанное как целое число со значением 0 через 13 или Nоколо-1 вектор целых чисел со значениями 0 через 13.

  • 0 = факт/факт (по умолчанию)

  • 1 = 30/360 (SIA)

  • 2 = фактически/360

  • 3 = факт/365

  • 4 = 30/360 (BMA)

  • 5 = 30/360 (ISDA)

  • 6 = 30/360 (европейский)

  • 7 = факт/365 (японский)

  • 8 = факт/факт (ICMA)

  • 9 = факт/360 (ICMA)

  • 10 = факт/365 (ICMA)

  • 11 = 30/360E (ICMA)

  • 12 = факт/365 (ISDA)

  • 13 = BUS/252

Дополнительные сведения см. в разделе Базис.

Типы данных: single | double

Флаг правила конца месяца для месяца, имеющего 30 или менее дней, указанный как неотрицательное целое число [0, 1] с использованием Nоколо-1 вектор значений. Это правило применяется только в том случае, если Maturity - дата окончания месяца, имеющая 30 или менее дней.

  • 0 = Игнорировать правило, означающее, что дата купонной выплаты облигации всегда совпадает с числовым днем месяца.

  • 1 = Установить правило, означающее, что дата купонной выплаты облигации всегда является последним фактическим днем месяца.

Типы данных: logical

Дата выпуска облигаций, указанная как серийный номер даты, вектор символов даты или массив datetime.

Типы данных: double | char | datetime

Дата, когда облигация производит свой первый купонный платеж, указанный как серийный номер даты, вектор символов даты или массив datetime.

FirstCouponDate используется, когда облигация имеет нерегулярный первый купонный период. Когда FirstCouponDate и LastCouponDate оба указаны, FirstCouponDate имеет приоритет при определении структуры купонных выплат. Если не указать FirstCouponDateдаты оплаты денежного потока определяются из других входных данных.

Типы данных: double | char | datetime

Дата последнего купона облигации до даты погашения, указанная как порядковый номер даты, вектор символов даты или массив datetime.

LastCouponDate используется, когда облигация имеет нерегулярный последний купонный период. При отсутствии указанного FirstCouponDate, указанный LastCouponDate определяет структуру купона облигации. Купонная структура облигации усечена в LastCouponDateнезависимо от того, куда она попадает, и следует только дата денежного потока погашения облигации. Если не указать LastCouponDateдаты оплаты денежного потока определяются из других входных данных.

Типы данных: double | char | datetime

Выходные аргументы

свернуть все

Предыдущая квази-купонная дата для портфеля NUMBONDS ценные бумаги с фиксированным доходом, независимо от того, является ли первый или последний купон нормальным, коротким или длинным, возвращаемым в качестве NUMBONDSоколо-1 вектор предыдущих квазикупонных дат перед расчетом. Если расчет является датой купона, эта функция возвращает дату расчета.

Если все входы для Settle, Maturity, IssueDate, FirstCouponDate, и LastCouponDate являются либо серийными номерами дат, либо векторами символов дат, то PreviousQuasiCouponDate возвращается в виде серийного номера. Функция datestr преобразует порядковый номер даты в форматированный символьный вектор даты.

Если какой-либо из входов для Settle, Maturity, IssueDate, FirstCouponDate, и LastCouponDate массивы datetime, затем PreviousQuasiCouponDate возвращается в виде массива datetime.

Представлен до R2006a