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