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 (Financial Instruments Toolbox). Для получения информации о спецификации процентной ставки смотрите intenvset (Financial Instruments Toolbox).

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

Цена денежных потоков, заданная как NINST-by- 1 вектор.

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

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

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

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

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

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

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

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

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

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

Примечание

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

Базис отсчета дней, заданный как разделенная разделенными запятой парами, состоящая из 'Basis' и положительное целое число с использованием 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

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

свернуть все

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

Введенный в R2012a
Для просмотра документации необходимо авторизоваться на сайте