capbybdt

Инструмент ценовых ограничений от дерева процентной ставки Black-Derman-Toy

Описание

пример

[Price,PriceTree] = capbybdt(BDTTree,Strike,Settle,Maturity) вычисляет цену инструмента дна от дерева процентной ставки Black-Derman-Toy. capbybdt вычисляет цены дна ванили и дна амортизации.

пример

[Price,PriceTree] = capbybdt(___,CapReset,Basis,Principal,Options) добавляют дополнительные аргументы.

Примеры

свернуть все

Загрузите файл deriv.mat, который обеспечивает BDTTree. BDTTree структура содержит время, и информация о процентной ставке должна была оценить инструмент дна.

load deriv.mat;

Установите необходимые значения. Другие аргументы будут использовать значения по умолчанию.

Strike = 0.03;
Settle = '01-Jan-2000';
Maturity = '01-Jan-2004';

Используйте capbybdt вычислить цену инструмента дна.

Price = capbybdt(BDTTree, Strike, Settle, Maturity)
Price = 28.4001

Установите обязательные аргументы для этих трех технических требований, требуемых создать дерево BDT.

Compounding = 1; 
ValuationDate = '01-01-2000'; 
StartDate = ValuationDate; 
EndDates = ['01-01-2001'; '01-01-2002'; '01-01-2003'; 
'01-01-2004'; '01-01-2005']; 
Rates = [.1; .11; .12; .125; .13]; 
Volatility = [.2; .19; .18; .17; .16];

Создайте технические требования.

RateSpec = intenvset('Compounding', Compounding,... 
'ValuationDate', ValuationDate,... 
'StartDates', StartDate,... 
'EndDates', EndDates,... 
'Rates', Rates); 
BDTTimeSpec = bdttimespec(ValuationDate, EndDates, Compounding); 
BDTVolSpec = bdtvolspec(ValuationDate, EndDates, Volatility);

Создайте дерево BDT из технических требований.

BDTTree = bdttree(BDTVolSpec, RateSpec, BDTTimeSpec)
BDTTree = struct with fields:
      FinObj: 'BDTFwdTree'
     VolSpec: [1x1 struct]
    TimeSpec: [1x1 struct]
    RateSpec: [1x1 struct]
        tObs: [0 1 2 3 4]
        dObs: [730486 730852 731217 731582 731947]
        TFwd: {[5x1 double]  [4x1 double]  [3x1 double]  [2x1 double]  [4]}
      CFlowT: {[5x1 double]  [4x1 double]  [3x1 double]  [2x1 double]  [5]}
     FwdTree: {1x5 cell}

Установите аргументы дна. Остающиеся аргументы будут использовать значения по умолчанию.

CapStrike = 0.10; 
Settlement = ValuationDate; 
Maturity = '01-01-2002'; 
CapReset = 1;

Используйте capbybdt найти цену инструмента дна.

Price= capbybdt(BDTTree, CapStrike, Settlement, Maturity,...
CapReset)
Price = 1.7169

Задайте RateSpec.

Rates = [0.03583; 0.042147; 0.047345; 0.052707; 0.054302];
ValuationDate = '15-Nov-2011';
StartDates = ValuationDate;
EndDates = {'15-Nov-2012';'15-Nov-2013';'15-Nov-2014' ;'15-Nov-2015';'15-Nov-2016'};
Compounding = 1;
RateSpec = intenvset('ValuationDate', ValuationDate,'StartDates', StartDates,...
'EndDates', EndDates,'Rates', Rates, 'Compounding', Compounding)
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: 1
             Disc: [5x1 double]
            Rates: [5x1 double]
         EndTimes: [5x1 double]
       StartTimes: [5x1 double]
         EndDates: [5x1 double]
       StartDates: 734822
    ValuationDate: 734822
            Basis: 0
     EndMonthRule: 1

Задайте инструмент дна.

Settle ='15-Nov-2011';
Maturity = '15-Nov-2015';
Strike = 0.04;
CapReset = 1;
Principal ={{'15-Nov-2012' 100;'15-Nov-2013' 70;'15-Nov-2014' 40;'15-Nov-2015' 10}};

Создайте дерево BDT.

BDTTimeSpec = bdttimespec(ValuationDate, EndDates);
Volatility = 0.10;  
BDTVolSpec = bdtvolspec(ValuationDate, EndDates, Volatility*ones(1,length(EndDates))');
BDTTree = bdttree(BDTVolSpec, RateSpec, BDTTimeSpec)
BDTTree = struct with fields:
      FinObj: 'BDTFwdTree'
     VolSpec: [1x1 struct]
    TimeSpec: [1x1 struct]
    RateSpec: [1x1 struct]
        tObs: [0 1 2 3 4]
        dObs: [734822 735188 735553 735918 736283]
        TFwd: {[5x1 double]  [4x1 double]  [3x1 double]  [2x1 double]  [4]}
      CFlowT: {[5x1 double]  [4x1 double]  [3x1 double]  [2x1 double]  [5]}
     FwdTree: {1x5 cell}

Оцените дно амортизации.

Basis = 0;
Price = capbybdt(BDTTree, Strike, Settle, Maturity, CapReset, Basis, Principal)
Price = 1.4042

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

свернуть все

Древовидная структура процентной ставки, заданная при помощи bdttree.

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

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

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

Расчетный день для дна в виде NINST- 1 вектор из последовательных чисел даты или векторов символов даты. Settle дата каждого дна назначена к ValuationDate из дерева BDT. Аргумент Settle дна проигнорирован.

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

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

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

(Необязательно) оплата частоты Сброса в год в виде NINST- 1 вектор.

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

(Необязательно) базис Дневного количества, представляющий базис, используемый при пересчитывании на год входного форвардного курса в виде 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 из отвлеченных основных сумм или NINST- 1 массив ячеек, где каждым элементом является NumDates- 2 массив ячеек, где первый столбец является датами и вторым столбцом, является сопоставленной основной суммой. Дата указывает в последний день, что основное значение допустимо.

Используйте Principal передать расписание, чтобы вычислить цену за дно амортизации.

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

(Необязательно) Производные оценивая структуру опций, заданное использование derivset.

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

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

свернуть все

Ожидаемая цена дна во время 0, возвращенный как NINST- 1 вектор.

Древовидная структура со значениями дна в каждом узле, возвращенном как структура MATLAB® деревьев, содержащих векторы из цен на инструменты и вектор времен наблюдения для каждого узла:

  • PriceTree.PTree содержит цены дна.

  • PriceTree.tObs содержит времена наблюдения.

Больше о

свернуть все

\cap

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

Выплата для дна:

max(CurrentRateCapRate,0)

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

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