floorbyhw

Ценовой инструмент пола от Белого как оболочка дерева процентной ставки

Описание

пример

[Price,PriceTree] = floorbyhw(HWTree,Strike,Settle,Maturity) вычисляет цену инструмента пола от Белого как оболочка дерева процентной ставки. capbyhw вычисляет цены этажей ванили и этажей амортизации.

пример

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

Примеры

свернуть все

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

load deriv.mat;

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

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

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

Price = floorbyhw(HWTree, Strike, Settle, Maturity)
Price = 0.4186

Задайте RateSpec.

Rates = [0.035; 0.042; 0.047; 0.052; 0.054];
ValuationDate = '01-April-2014';
StartDates = ValuationDate;
EndDates = {'01-April-2019'};
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: 737516
       StartDates: 735690
    ValuationDate: 735690
            Basis: 0
     EndMonthRule: 1

Задайте инструменты пола.

Settle ='01-April-2014';
Maturity = '01-April-2018';
Strike = 0.05;
FloorReset = 1;
Principal ={{'01-April-2015' 100;'01-April-2016' 60;'01-April-2017' 40;'01-April-2018' 20};
            100};

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

VolDates = ['01-April-2015';'01-April-2016';'01-April-2017';'01-April-2018'];
VolCurve = 0.05;
AlphaDates = '01-April-2018';
AlphaCurve = 0.10;

HWVolSpec = hwvolspec(RateSpec.ValuationDate, VolDates, VolCurve,... 
                      AlphaDates, AlphaCurve);
HWTimeSpec = hwtimespec(RateSpec.ValuationDate, VolDates, Compounding);
HWTree = hwtree(HWVolSpec, RateSpec, HWTimeSpec)
HWTree = struct with fields:
      FinObj: 'HWFwdTree'
     VolSpec: [1x1 struct]
    TimeSpec: [1x1 struct]
    RateSpec: [1x1 struct]
        tObs: [0 1 2 3]
        dObs: [735690 736055 736421 736786]
      CFlowT: {[4x1 double]  [3x1 double]  [2x1 double]  [4]}
       Probs: {[3x1 double]  [3x3 double]  [3x5 double]}
     Connect: {[2]  [2 3 4]  [2 3 4 5 6]}
     FwdTree: {[1.0350]  [1.1300 1.0363 0.9503]  [1x5 double]  [1x7 double]}

Оцените этажи ванили и амортизация.

Basis = 0;
Price  = floorbyhw(HWTree, Strike, Settle, Maturity, FloorReset, Basis, Principal)
Price = 2×1

    4.8675
   10.3881

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

свернуть все

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

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

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

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

Расчетный день для пола, заданного как NINST- 1 вектор последовательных чисел даты или векторов символов даты. Settle дата каждого пола назначена к ValuationDate из дерева HW. Аргумент 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 содержит времена наблюдения.

  • PriceTree.Connect содержит векторы возможности соединения. Каждый элемент в массиве ячеек описывает, как узлы на том уровне соединяются со следующим. Для данного древовидного уровня существует NumNodes элементы в векторе, и они содержат индекс узла на следующем уровне, с которым соединяется средняя ветвь. Вычитание 1 от того значения указывает, где подключения-ветви к, и добавление 1 указали, где вниз переходят подключения к.

  • PriceTree.Probs содержит массивы вероятности. Каждый элемент массива ячеек содержит, середина и вероятности перехода вниз для каждого узла уровня.

Больше о

свернуть все

Пол

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

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

max (FloorRateCurrentRate,0)

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