cfdates

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

Описание

пример

CFlowDates = cfdates(Settle,Maturity) генерирует матрицу дат фактических денежных потоков для NUMBONDS ценные бумаги с фиксированным доходом. Все даты денежного потока определяются независимо от того, являются ли первый и последний купонный периоды обычными, длинными или короткими.

пример

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

Примеры

свернуть все

Вычислите даты денежного потока, заданные для Settle и Maturity дат.

CFlowDates = cfdates('14 Mar 1997', '30 Nov 1998', 2, 0, 1)
CFlowDates = 1×4

      729541      729724      729906      730089

datestr(CFlowDates)
ans = 4x11 char array
    '31-May-1997'
    '30-Nov-1997'
    '31-May-1998'
    '30-Nov-1998'

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

CFlowDates = cfdates('14-Mar-1997', datetime('30-Nov-1998','Locale','en_US'), 2, 0, 1)
CFlowDates = 1x4 datetime
   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 = 3×4

      729480      729663         NaN         NaN
      729510      729694      729875      730059
      729541      729724      729906      730089

Чтобы просмотреть даты денежного потока для последнего обеспечения:

datestr(CFlowDates(3,:))
ans = 4x11 char array
    '31-May-1997'
    '30-Nov-1997'
    '31-May-1998'
    '30-Nov-1998'

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

свернуть все

Дата расчета, заданная как NINST-by- 1 вектор с последовательными номерами дат, массивом ячеек из векторов символов дат или массивом datetime. Settle должно быть раньше Maturity.

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

Дата зрелости, заданная как NINST-by- 1 вектор с последовательными номерами дат, массивом ячеек из векторов символов дат или массивом datetime.

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

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

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

(Необязательно) Базис отсчета дней, заданный как положительные целые числа с использованием NINST-by- 1 вектор.

  • 0 = факт/факт

  • 1 = 30/360 (SIA)

  • 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 = BUS/252

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

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

(Необязательно) Флаг правила в конце месяца, заданный как скаляр или NUMBONDS-by- 1 или 1-by- NUMBONDS вектор. Это правило применяется только тогда, когда Maturity - дата окончания месяца для месяца, имеющего 30 или менее дней.

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

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

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

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

Если вы не задаете IssueDateДаты платежа денежного потока определяются из других входов.

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

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

Если вы не задаете FirstCouponDateДаты платежа денежного потока определяются из других входов.

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

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

Если вы не задаете LastCouponDateДаты платежа денежного потока определяются из других входов.

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

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

свернуть все

Фактические даты платежа денежного потока, возвращенные как N- матрица строка дат в формате последовательной даты или формате datetime (если какие-либо входы имеют формат datetime). CFlowDates имеет NUMBONDS строки и количество столбцов определяется максимальным количеством дат выплат денежного потока, необходимых для хранения портфеля облигаций. NaNs заполнены для облигаций, которые имеют меньше, чем максимальное количество дат платежа денежного потока. Используйте функцию datestr для преобразования серийных номеров дат в форматированные векторы символов дат.

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

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

Примечание

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

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