cfdates

Даты потока наличности безопасности фиксированного дохода

Синтаксис

CFlowDates = cfdates(Settle,Maturity,Period,Basis,EndMonthRule,IssueDate,FirstCouponDate,LastCouponDate,StartDate)

Аргументы

Settle

Расчетный день. Вектор последовательных чисел даты, векторов символов даты или массивов datetime. Settle должен быть ранее, чем Maturity.

Maturity

Дата погашения. Вектор последовательных чисел даты, векторов символов даты или массивов datetime.

Period

(Необязательно) Купоны в год связи. Вектор целых чисел. Позволенными значениями является 0, 1, 2 (значение по умолчанию), 3, 4, 6 и 12.

Basis

(Необязательно) основание Дневного количества инструмента. Вектор целых чисел.

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

  •  1 = 30/360 (СИА)

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

  •  3 = Фактический/365

  •  4 = 30/360 (PSA)

  •  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 = ШИНА/252

Для получения дополнительной информации смотрите основание.

EndMonthRule

(Необязательно) правило Конца месяца. Вектор. Это правило применяется только, когда Maturity является датой конца месяца в течение месяца, имея 30 или меньше дней. 0 = игнорирует правило, означая, что дата купонного платежа связи всегда является тем же числовым днем месяца. 1 = установленное правило о (значении по умолчанию), означая, что дата купонного платежа связи всегда является прошлым фактическим днем месяца.

IssueDate

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

FirstCouponDate

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

LastCouponDate

(Необязательно) Последняя дата купона связи перед датой погашения, заданной как последовательный номер даты, вектор символов даты или массив datetime. LastCouponDate используется, когда связь имеет неправильный последний период купона. В отсутствие заданного FirstCouponDate заданный LastCouponDate определяет структуру купона связи. Структура купона связи является усеченной в LastCouponDate, независимо от того, где это падает и сопровождается только датой потока наличности зрелости связи. Если вы не задаете LastCouponDate, платежные дни потока наличности определяются от других входных параметров.

StartDate

(Необязательно) Дата, заданная как последовательный номер даты, вектор символов даты или массив datetime, когда связь на самом деле запускается (дата, с которой поток наличности связи рассматривается). Чтобы сделать инструментальный запуск форварда, задайте эту дату как будущую дату. Если вы не задаете StartDate, эффективная дата начала является датой Settle.

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

Любой вход может содержать несколько значений, но если так, все другие входные параметры должны содержать то же количество значений или одного значения, которое применяется ко всем. Например, если Maturity содержит даты N, то Settle должен содержать даты N или одну дату.

Описание

CFlowDates = cfdates(Settle,Maturity,Period,Basis,EndMonthRule,IssueDate,FirstCouponDate,LastCouponDate,StartDate) возвращает матрицу дат потока наличности связи или набора связей. cfdates определяет все даты потока наличности связи, нормальна ли структура купонного платежа, или первый и/или последний период купона длинен или короток.

CFlowDates является матрицей N-строки последовательных чисел даты, дополненных NaN s по мере необходимости, чтобы гарантировать, что все строки имеют то же число элементов. Используйте функциональный datestr, чтобы преобразовать последовательные числа даты в векторы символов отформатированной даты.

Если все входные параметры для Settle, Maturity, IssueDate, FirstCouponDate, LastCouponDate и StartDate являются или последовательными числами даты или векторами символов даты, то CFlowDates возвращен как последовательный номер даты.

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

Примечание

Флаги потока наличности для портфеля связей были раньше доступны как cfdates второй выходной аргумент, CFlowFlags. Можно теперь использовать cfamounts, чтобы получить эти флаги. Если вы задаете аргумент CFlowFlags, cfdates отображает сообщение, направляющее вас, чтобы использовать cfamounts.

Примеры

CFlowDates = cfdates('14 Mar 1997', '30 Nov 1998', 2, 0, 1)
CFlowDates =
      729541      729724      729906      730089
datestr(CFlowDates)
ans =
31-May-1997
30-Nov-1997
31-May-1998
30-Nov-1998

Если какие-либо из входных параметров для Settle, Maturity, IssueDate, FirstCouponDate, LastCouponDate или StartDate являются массивами datetime, то CFlowDates возвращен как массив datetime. Например:

CFlowDates = cfdates('14-Mar-1997', datetime('30-Nov-1998','Locale','en_US'), 2, 0, 1)
CFlowDates = 

   31-May-1997   30-Nov-1997   31-May-1998   30-Nov-1998

Учитывая три ценных бумаги с различными датами погашения и теми же параметрами по умолчанию

Maturity = ['30-Sep-1997'; '31-Oct-1998'; '30-Nov-1998'];
CFlowDates = cfdates('14-Mar-1997', Maturity)
CFlowDates =
      729480      729663         NaN         NaN
      729510      729694      729875      730059
      729541      729724      729906      730089

Посмотрите на даты потока наличности последней безопасности.

datestr(CFlowDates(3,:))
ans =
31-May-1997
30-Nov-1997
31-May-1998
30-Nov-1998

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