cpndatenq

Следующая квазикупоновая дата обеспечения фиксированного дохода

Описание

пример

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

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

пример

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

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

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

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

Примеры

свернуть все

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

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

Вычислите NextCouponDate для этой пары облигаций.

NextCouponDate = cpndaten(Settle, Maturity);
datestr(NextCouponDate)
ans = 2x11 char array
    '31-May-1997'
    '10-Jun-1998'

Вычислите следующие даты квази купона для этих двух облигаций.

NextQuasiCouponDate = cpndatenq(Settle, Maturity);
datestr(NextQuasiCouponDate)
ans = 2x11 char array
    '31-May-1997'
    '10-Jun-1998'

Потому что нет FirstCouponDate был задан, результаты идентичны.

Теперь поставьте явное FirstCouponDate для каждой связи.

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

Вычислите следующие даты купона.

NextCouponDate = cpndaten(Settle, Maturity, 2, 0, 1, [],... 
FirstCouponDate);
datestr(NextCouponDate)
ans = 2x11 char array
    '30-Nov-1997'
    '10-Dec-1998'

Следующие даты купона идентичны указанным первым датам купона.

Теперь пересчитайте следующие даты квази купона.

NextQuasiCouponDate = cpndatenq(Settle, Maturity, 2, 0, 1, [],... 
FirstCouponDate);
datestr(NextQuasiCouponDate)
ans = 2x11 char array
    '31-May-1997'
    '10-Jun-1998'

Эти результаты иллюстрируют различие между фактическими датами купонного платежа и датами квази купона. FirstCouponDateLastCouponDate, также), когда указано, связано с фактической выплатой купона, а также служит датой синхронизации для определения всех квазипупонных дат. Поскольку каждая облигация в этом примере выплачивает полугодовые купоны, а первая дата купона наступает более чем через шесть месяцев после расчета, у каждого будет промежуточная дата квази купона до фактического первого платежа купона.

Входные параметры

свернуть все

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

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

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

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

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

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

Базис инструмента с подсчетом дней, заданный как целое число со значением 0 через 13 или N-by- 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-by- 1 вектор значений. Это правило применяется только тогда, когда Maturity - дата окончания месяца для месяца, имеющего 30 или менее дней.

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

Для нулевых купонных облигаций, cpndatenq возвращает квази даты купона, как если бы облигация имела полугодовую структуру купона. Последующие даты квази-купона определяют продолжительность стандартного купонного периода для процентного обеспечения фиксированного дохода и не обязательно совпадают с фактическими датами купонного платежа.

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

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

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