cfspread

Вычислите распространение по кривой доходности для потока наличности

Описание

пример

Spread = cfspread(RateSpec,Price,CFlowAmounts,CFlowDates,Settle) вычисляет распространение по кривой доходности для потока наличности.

пример

Spread = cfspread(___,Name,Value) задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.

Примеры

свернуть все

Используйте cfspread вычислить распространение по кривой доходности для потока наличности.

Задайте данные для кривой доходности.

Settle = datenum('01-Jul-2003');
CurveDates = daysadd(Settle,360*[.25 .5 1 2 3 5 7 10 20],1);
ZeroRates = [.0089 .0096 .0107 .0130 .0166 .0248 .0306 .0356 .0454]';

Вычислите RateSpec.

RateSpec = intenvset('StartDates', Settle, 'EndDates', CurveDates,...
'Rates', ZeroRates)
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: 2
             Disc: [9x1 double]
            Rates: [9x1 double]
         EndTimes: [9x1 double]
       StartTimes: [9x1 double]
         EndDates: [9x1 double]
       StartDates: 731763
    ValuationDate: 731763
            Basis: 0
     EndMonthRule: 1

Вычислите распространение.

Price = 98;
CFAmounts = [30;40;30];
CFDates = datenum({'15-Jul-2004', '15-Jul-2005', '15-Jul-2006'});

Spread = cfspread(RateSpec, Price, CFAmounts, CFDates, Settle)
Spread = 3×1
103 ×

   -8.7956
   -4.0774
   -3.7073

Используйте cfspread вычислить распространение по кривой доходности для потока наличности с помощью datetime входные параметры.

Settle = datenum('01-Jul-2003');
CurveDates = daysadd(Settle,360*[.25 .5 1 2 3 5 7 10 20],1);
ZeroRates = [.0089 .0096 .0107 .0130 .0166 .0248 .0306 .0356 .0454]';
RateSpec = intenvset('StartDates', Settle, 'EndDates', CurveDates,...
'Rates', ZeroRates);
Price = 98;
CFAmounts = [30;40;30];
CFDates = datenum({'15-Jul-2004', '15-Jul-2005', '15-Jul-2006'});

CFDates = datetime(CFDates,'ConvertFrom','datenum','Locale','en_US');
Settle = datetime(Settle,'ConvertFrom','datenum','Locale','en_US');
Spread = cfspread(RateSpec, Price, CFAmounts, CFDates, Settle)
Spread = 3×1
103 ×

   -8.7956
   -4.0774
   -3.7073

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

свернуть все

Спецификация процентной ставки для начальной безрисковой кривой уровня, заданной RateSpec полученный из intenvset. Для получения информации о спецификации процентной ставки смотрите intenvset.

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

Цена потоков наличности, заданных как NINST- 1 вектор.

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

Суммы потока наличности, заданные как NINST- MOSTCFS матрица. Каждая строка является списком значений потока наличности для одного инструмента. Если инструмент имеет меньше, чем MOSTCFS потоки наличности, конец строки дополнен NaNs.

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

Даты потока наличности, заданные как NINST- MOSTCFS матрица. Каждая запись содержит дату соответствующего потока наличности в CFlowAmounts.

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

Расчетный день, заданный как NINST- 1 вектор с помощью последовательных чисел даты или массива ячеек векторов символов даты. Settle дата является датой, в которую оценены потоки наличности.

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

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: Spread = cfspread(RateSpec,Price,CFlowAmounts,CFlowDates,Settle,'Basis',4)

Примечание

Дополнительный вход размера NINST- 1 также приемлемо как одно значение, применимое ко всем контрактам. Одно значения внутренне расширены до массива размера NINST- 1.

Основание дневного количества, заданное как разделенная запятой пара, состоящая из 'Basis' и положительное целое число с помощью NINST- 1 вектор.

  •  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

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

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

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

свернуть все

Распространение потоков наличности по кривой нулевой ширины, возвращенной как NINST- 1 вектор. Spread выражается в пунктах.

Представленный в R2012a