swaptionbyhjm

Цена swaption от дерева процентной ставки Хита-Джарроу-Мортона

Описание

пример

[Price,PriceTree] = swaptionbyhjm(HJMTree,OptSpec,Strike,ExerciseDates,Spread,Settle,Maturity) цены swaption использование дерева Хита-Джарроу-Мортона.

пример

[Price,PriceTree] = swaptionbyhjm(___,Name,Value) добавляют дополнительные аргументы пары "имя-значение".

Примеры

свернуть все

В этом примере показано, как оценить 1-летний вызов swaption использование дерева процентной ставки HJM. Примите, что процентная ставка ежегодно фиксируется в 5% между датой оценки дерева до его зрелости. Создайте дерево со следующими данными.

Rates = [ 0.05;0.05;0.05;0.05];  
StartDates = 'jan-1-2007';  
EndDates =['jan-1-2008';'jan-1-2009';'jan-1-2010';'jan-1-2011'];
ValuationDate = StartDates;  
Compounding = 1;    

% define the RateSpec
RateSpec = intenvset('Rates', Rates, 'StartDates', StartDates, 'EndDates',...
EndDates, 'Compounding', Compounding);   

% use VolSpec to compute the interest-rate volatility
VolSpec=hjmvolspec('Constant',0.01);

% use TimeSpec to specify the structure of the time layout for the HJM interest-rate tree
TimeSpec = hjmtimespec(ValuationDate, EndDates, Compounding);

% build the HJM tree
HJMTree = hjmtree(VolSpec, RateSpec, TimeSpec); 

% use the following swaption arguments
ExerciseDates = '01-Jan-2008';
SwapSettlement = ExerciseDates;
SwapMaturity   = 'jan-1-2010';
Spread = [0];  
SwapReset = 1;   
Basis  = 1;  
Principal = 100;  
OptSpec = 'call';    
Strike=0.05;   

% price the swaption

[Price, PriceTree] = swaptionbyhjm(HJMTree, OptSpec, Strike, ExerciseDates, ...
Spread, SwapSettlement, SwapMaturity,'SwapReset', SwapReset, ...
'Basis', Basis, 'Principal', Principal)
Price = 0.9296
PriceTree = struct with fields:
    FinObj: 'HJMPriceTree'
      tObs: [5x1 double]
     PBush: {[0.9296]  [1x1x2 double]  [1x2x2 double]  [1x4x2 double]  [0 ... ]}

В этом примере показано, как оценить 1-летний вызов swaption с получением и оплатой участков с помощью дерева процентной ставки HJM. Примите, что процентная ставка ежегодно фиксируется в 5% между датой оценки дерева до его зрелости. Создайте дерево со следующими данными.

Rates = [ 0.05;0.05;0.05;0.05];  
StartDates = 'jan-1-2007';  
EndDates =['jan-1-2008';'jan-1-2009';'jan-1-2010';'jan-1-2011'];
ValuationDate = StartDates;  
Compounding = 1;

Задайте RateSpec.

RateSpec = intenvset('Rates',Rates,'StartDates',StartDates,'EndDates',...
EndDates,'Compounding',Compounding);

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

VolSpec=hjmvolspec('Constant',0.01);

Используйте TimeSpec задавать структуру размещения времени для дерева процентной ставки HJM.

TimeSpec = hjmtimespec(ValuationDate,EndDates,Compounding);

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

HJMTree = hjmtree(VolSpec,RateSpec,TimeSpec);

Используйте следующие swaption аргументы

ExerciseDates = '01-Jan-2008';
SwapSettlement = ExerciseDates;
SwapMaturity   = 'jan-1-2010';
Spread = [0];  
SwapReset = [1 1];  % 1st column represents receiving leg, 2nd column represents paying leg  
Basis  = [1 3];     % 1st column represents receiving leg, 2nd column represents paying leg 
Principal = 100;  
OptSpec = 'call';    
Strike=0.05;

Оцените swaption.

[Price, PriceTree] = swaptionbyhjm(HJMTree,OptSpec,Strike,ExerciseDates, ...
Spread,SwapSettlement,SwapMaturity,'SwapReset',SwapReset, ...
'Basis',Basis,'Principal',Principal)
Price = 0.9296
PriceTree = struct with fields:
    FinObj: 'HJMPriceTree'
      tObs: [5x1 double]
     PBush: {[0.9296]  [1x1x2 double]  [1x2x2 double]  [1x4x2 double]  [0 ... ]}

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

свернуть все

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

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

Определение опции как 'call' или 'put'В виде NINST- 1 массив ячеек из символьных векторов. Для получения дополнительной информации смотрите Больше О.

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

Ударьте значения уровня подкачки в виде NINST- 1 вектор.

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

Осуществите даты swaption в виде NINST- 1 вектор или NINST- 2 использование последовательных чисел даты или векторов символов даты, в зависимости от типа опции.

  • Для европейской опции, ExerciseDates NINST- 1 вектор из дат осуществления. Каждая строка является расписанием для одной опции. При использовании европейской опции существует только один ExerciseDate на дате окончания срока действия опции.

  • Для американской опции, ExerciseDates NINST- 2 вектор из контуров даты осуществления. Для каждого инструмента опция может быть осуществлена в любую дату купона между или включая пару дат на той строке. Если только один non-NaN дата перечислена, или если ExerciseDates NINST- 1, опция может быть осуществлена между ValuationDate из дерева и одного перечисленного ExerciseDate.

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

Количество пунктов по ссылочному уровню в виде NINST- 1 вектор.

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

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

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

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

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

Аргументы name-value

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

Пример: [Price,PriceTree] = swaptionbyhjm(HJMTree,OptSpec, ExerciseDates,Spread,Settle,Maturity,'SwapReset',4,'Basis',5,'Principal',10000)

(Необязательно) Опция вводит в виде разделенной запятой пары, состоящей из 'AmericanOpt' и NINST- 1 положительное целое число отмечает с помощью значений:

  • 0 — Европеец

  • 1 — Американец

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

Сбросьте частоту в год для базовой подкачки в виде разделенной запятой пары, состоящей из 'SwapReset' и NINST- 1 вектор или NINST- 2 матрица, представляющая частоту сброса в год для каждого участка. Если SwapReset NINST- 2, первый столбец представляет участок получения, в то время как второй столбец представляет участок оплаты.

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

Базис дневного количества, представляющий базис, используемый при пересчитывании на год входного дерева форвардного курса для каждого инструмента в виде разделенной запятой пары, состоящей из 'Basis' и NINST- 1 вектор или NINST- 2 матрица, представляющая базис для каждого участка. Если Basis NINST- 2, первый столбец представляет участок получения, в то время как второй столбец представляет участок оплаты.

  •  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

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

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

Производные оценивая структуру опций в виде разделенной запятой пары, состоящей из 'Options' и структура получена из использования derivset.

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

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

свернуть все

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

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

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

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

Больше о

свернуть все

Вызовите Swaption

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

Поместите Swaption

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

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