exponenta event banner

swaptionbyhw

Ценовой свопцион из дерева процентных ставок Халл-Уайт

Описание

пример

[Price,PriceTree] = swaptionbyhw(HWTree,OptSpec,Strike,ExerciseDates,Spread,Settle,Maturity) свопция цен с использованием дерева Халл-Уайт.

пример

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

Примеры

свернуть все

В этом примере показано, как оценить трехлетний свопцион с использованием дерева процентных ставок HW со следующими данными.

Rates =0.075 * ones (10,1);   
Compounding = 2;    
StartDates = ['jan-1-2007';'jul-1-2007';'jan-1-2008';'jul-1-2008';'jan-1-2009';...
'jul-1-2009';'jan-1-2010'; 'jul-1-2010';'jan-1-2011';'jul-1-2011'];    
EndDates =['jul-1-2007';'jan-1-2008';'jul-1-2008';'jan-1-2009';'jul-1-2009';...
'jan-1-2010';'jul-1-2010';'jan-1-2011';'jul-1-2011';'jan-1-2012'];      
ValuationDate = 'jan-1-2007';      

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

% use HWVolSpec to compute the interest-rate volatility
Volatility = 0.05*ones(10,1);
AlphaCurve = 0.01*ones(10,1);
AlphaDates = EndDates;
HWVolSpec = hwvolspec(ValuationDate, EndDates, Volatility, AlphaDates, AlphaCurve);

% use HWTimeSpec to specify the structure of the time layout for an HW interest-rate tree
HWTimeSpec = hwtimespec(ValuationDate, EndDates, Compounding);

% build the HW tree
HWTree = hwtree(HWVolSpec, RateSpec, HWTimeSpec); 

% use the following arguments for a 1-year swap and 3-year swaption
ExerciseDates = 'jan-1-2010';
SwapSettlement = ExerciseDates;
SwapMaturity   = 'jan-1-2012';
Spread = 0;
SwapReset = 2 ; 
Principal = 100;
OptSpec = 'put';  
Strike= 0.04;
Basis=1;

% price the swaption
PriceSwaption = swaptionbyhw(HWTree, OptSpec, Strike, ExerciseDates, ...
Spread, SwapSettlement, SwapMaturity,'SwapReset', SwapReset, ...
'Basis', Basis,'Principal', Principal)
PriceSwaption = 2.9201

В этом примере показано, как с помощью дерева процентных ставок HW оценить 3-летний свопцион с получением и оплатой с использованием следующих данных.

Rates =0.075 * ones (10,1);   
Compounding = 2;    
StartDates = ['jan-1-2007';'jul-1-2007';'jan-1-2008';'jul-1-2008';'jan-1-2009';...
'jul-1-2009';'jan-1-2010'; 'jul-1-2010';'jan-1-2011';'jul-1-2011'];    
EndDates =['jul-1-2007';'jan-1-2008';'jul-1-2008';'jan-1-2009';'jul-1-2009';...
'jan-1-2010';'jul-1-2010';'jan-1-2011';'jul-1-2011';'jan-1-2012'];      
ValuationDate = 'jan-1-2007';

Определите RatesSpec.

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

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

Volatility = 0.05*ones(10,1);
AlphaCurve = 0.01*ones(10,1);
AlphaDates = EndDates;
HWVolSpec = hwvolspec(ValuationDate, EndDates, Volatility, AlphaDates, AlphaCurve);

Использовать HWTimeSpec для определения структуры формата времени для дерева процентных ставок HW.

HWTimeSpec = hwtimespec(ValuationDate, EndDates, Compounding);

Создайте дерево аппаратных средств.

HWTree = hwtree(HWVolSpec, RateSpec, HWTimeSpec);

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

ExerciseDates = 'jan-1-2010';
SwapSettlement = ExerciseDates;
SwapMaturity   = 'jan-1-2012';
Spread = 0;
SwapReset = [2 2]; % 1st column represents receiving leg, 2nd column represents paying leg 
Principal = 100;
OptSpec = 'put';  
Strike= 0.04;
Basis= [1 3];    % 1st column represents receiving leg, 2nd column represents paying leg

Цена свопциона.

PriceSwaption = swaptionbyhw(HWTree, OptSpec, Strike, ExerciseDates, ...
Spread, SwapSettlement, SwapMaturity,'SwapReset', SwapReset, ...
'Basis', Basis,'Principal', Principal)
PriceSwaption = 2.9201

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

свернуть все

Древовидная структура процентных ставок, определенная с помощью hwtree.

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

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

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

Значения ставки страйк-свопа, указанные как NINSTоколо-1 вектор.

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

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

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

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

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

Количество базисных пунктов над эталонной ставкой, указанное как NINSTоколо-1 вектор.

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

Дата расчета (представляющая дату расчета для каждого свопа), указанная как NINSTоколо-1 вектор серийных номеров дат или векторы символов дат. Settle для каждого свопциона устанавливается дата ValuationDate дерева аппаратных средств. Аргумент подкачки Settle игнорируется. Андерлаинг свопа начинается со срока погашения свопциона.

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

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

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

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

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

Пример: [Price,PriceTree] = swaptionbyhw(HWTree,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 (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

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

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

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

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

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

свернуть все

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

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

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

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

Подробнее

свернуть все

Свопцион вызовов

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

Свопцион пут

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

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