Ценовое свопцирование из процентного дерева Heath-Jarrow-Morton
В этом примере показано, как оценить 1-летний свопцион вызова с помощью дерева процентных ставок 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: {1x5 cell}
В этом примере показано, как оценить 1-летний свопцион вызова с приемом и оплатой ног с помощью дерева процентных ставок 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);
Используйте следующие аргументы свопцирования
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;
Оцените свопцион.
[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: {1x5 cell}
HJMTree
- Древовидная структура процентной ставкиДревовидная структура процентной ставки, заданная при помощи hjmtree
.
Типы данных: struct
OptSpec
- Определение опции 'call'
или 'put'
| массив ячеек вектора символов со значениями 'call'
или 'put'
Определение опции как 'call'
или 'put'
, заданный как NINST
-by- 1
массив ячеек из векторов символов. Дополнительные сведения см. в разделе Дополнительные сведения.
Типы данных: char
| cell
Strike
- Значения скорости страйка-свопаЗначения скорости ударного свопа, заданные как NINST
-by- 1
вектор.
Типы данных: double
ExerciseDates
- Даты упражнений для свопционаДаты упражнений для свопциона, заданные как NINST
-by- 1
вектор или NINST
-by- 2
использование серийных номеров дат или векторов символов дат в зависимости от типа опции.
Для европейской опции, ExerciseDates
являются NINST
-by- 1
вектор дат упражнений. Каждая строка является расписанием для одной опции. При использовании европейской опции существует только одна ExerciseDate
на дату истечения срока действия опции.
Для американской опции, ExerciseDates
являются NINST
-by- 2
вектор контуров дат упражнения. Для каждого инструмента опция может быть реализована на любую дату купона между или включая пару дат в этой строке. Если только один не - NaN
указана дата, или если ExerciseDates
является NINST
-by- 1
, опция может быть реализована между ValuationDate
дерева и единственного перечисленного ExerciseDate
.
Типы данных: double
| char
| cell
Spread
- Количество базисных точек по контрольной ставкеКоличество базисных точек над скоростью ссылки, заданное как NINST
-by- 1
вектор.
Типы данных: double
Settle
- Дата расчетаДата расчета (представляющая дату расчета для каждого свопа), заданная как NINST
-by- 1
вектор серийных номеров дат или векторов символов дат. The Settle
дата для каждого свопциона устанавливается в ValuationDate
дерева HJM. Аргумент swap Settle
игнорируется. Базовый своп начинается со зрелости свопциона.
Типы данных: double
| char
Maturity
- Дата погашения свопаДата погашения для каждого свопа, заданная как NINST
-by- 1
вектор дат с использованием серийных номеров дат или векторов символов дат.
Типы данных: double
| char
| cell
Задайте необязательные разделенные разделенными запятой парами 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'
- Тип опции0
(Европейский) (по умолчанию) | целое число со значениями 0
или 1
(Необязательно) Тип опции, заданный как разделенная разделенными запятой парами, состоящая из 'AmericanOpt'
и NINST
-by- 1
положительные целочисленные флаги со значениями:
0
- Европейский
1
- Американский
Типы данных: double
'SwapReset'
- Сброс частоты в год для базового свопа1
(по умолчанию) | числоЧастота сброса в год для базового свопа, заданная как разделенная разделенными запятой парами, состоящая из 'SwapReset'
и a NINST
-by- 1
вектор или NINST
-by- 2
матрица, представляющая частоту сброса в год для каждой ноги. Если SwapReset
является NINST
-by- 2
первый столбец представляет приемную ветвь, а второй столбец представляет платежную ветвь.
Типы данных: double
'Basis'
- Основа прибора для подсчета дней0
(фактический/фактический) (по умолчанию) | целое число от 0
на 13
Базис отсчета дней, представляющий базис, используемый при аннуализации входа дерева скоростей для каждого инструмента, заданный как разделенная запятой пара, состоящий из 'Basis'
и a NINST
-by- 1
вектор или NINST
-by- 2
матрица, представляющая базис для каждой ноги. Если Basis
является NINST
-by- 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'
- Условная основная сумма100
(по умолчанию) | числоУсловная основная сумма, заданная как разделенная разделенными запятой парами, состоящая из 'Principal'
и a NINST
-by- 1
вектор.
Типы данных: double
'Options'
- Структура деривативных опционов ценообразованияСтруктура опций ценообразования производных, заданная как разделенная разделенными запятой парами, состоящая из 'Options'
и структуру, полученную при использовании derivset
.
Типы данных: struct
Price
- Ожидаемые цены свопционов на момент 0Ожидаемые цены свопционов в момент 0, возвращенные как NINST
-by- 1
вектор.
PriceTree
- Древовидная структура цен на приборыДревовидная структура цен на приборы, возвращенная как MATLAB® структура деревьев, содержащих векторы цен на сваптирующие приборы и вектор времени наблюдения для каждого узла. Внутри PriceTree
:
PriceTree.PTree
содержит чистые цены.
PriceTree.tObs
содержит время наблюдения.
Свопцион call swaption или плательщика позволяет покупателю опции заключить процентный своп, при котором покупатель опции платит фиксированную ставку и получает плавающую ставку.
Свопцион put swaption или приемник позволяет покупателю опции заключить процентный своп, при котором покупатель опции получает фиксированную ставку и платит плавающую ставку.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.