exponenta event banner

swaptionbycir

Ценовой свопцион из дерева процентных ставок Cox-Ingersoll-Ross

Описание

пример

[Price,PriceTree] = swaptionbycir(CIRTree,OptSpec,Strike,ExerciseDates,Spread,Settle,Maturity) свопция цен с деревом Кокса-Ингерсолла-Росса (CIR) с использованием модели CIR++ с подходом Навалька-Белиаева (NB).

пример

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

Примеры

свернуть все

Определите 3-летний свопцион.

Rates =0.075 * ones (10,1);   
Compounding = 2;    
StartDates = ['Jan-1-2017';'Jul-1-2017';'Jan-1-2018';'Jul-1-2018';'Jan-1-2019';...
'Jul-1-2019';'Jan-1-2020'; 'Jul-1-2020';'Jan-1-2021';'Jul-1-2021'];    
EndDates =['Jul-1-2017';'Jan-1-2018';'Jul-1-2018';'Jan-1-2019';'Jul-1-2019';...
'Jan-1-2020';'Jul-1-2020';'Jan-1-2021';'Jul-1-2021';'Jan-1-2022'];      
ValuationDate = 'Jan-1-2017';      

Создать RateSpec с использованием intenvset функция.

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

Создать CIR дерево.

NumPeriods = length(EndDates); 
Alpha = 0.03; 
Theta = 0.02;  
Sigma = 0.1;    
Maturity = '01-jan-2023'; 
CIRTimeSpec = cirtimespec(ValuationDate, Maturity, NumPeriods); 
CIRVolSpec = cirvolspec(Sigma, Alpha, Theta); 

CIRT = cirtree(CIRVolSpec, RateSpec, CIRTimeSpec)
CIRT = struct with fields:
      FinObj: 'CIRFwdTree'
     VolSpec: [1x1 struct]
    TimeSpec: [1x1 struct]
    RateSpec: [1x1 struct]
        tObs: [0 0.6000 1.2000 1.8000 2.4000 3 3.6000 4.2000 4.8000 5.4000]
        dObs: [1x10 double]
     FwdTree: {1x10 cell}
     Connect: {1x9 cell}
       Probs: {1x9 cell}

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

ExerciseDates = 'Jan-1-2020';
SwapSettlement = ExerciseDates;
SwapMaturity   = 'Jan-1-2022';
Spread = 0;
SwapReset = 2 ; 
Principal = 100;
OptSpec = 'put';  
Strike= 0.04;
Basis=1;

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

[Price,PriceTree] = swaptionbycir(CIRT,OptSpec,Strike,ExerciseDates,Spread,SwapSettlement,SwapMaturity,'SwapReset',SwapReset, ...
'Basis',Basis,'Principal',Principal)
Price = 3.1537
PriceTree = struct with fields:
     FinObj: 'CIRPriceTree'
      PTree: {1x11 cell}
       tObs: [0 0.6000 1.2000 1.8000 2.4000 3 3.6000 4.2000 4.8000 5.4000 6]
    Connect: {1x9 cell}
      Probs: {1x9 cell}

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

свернуть все

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

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

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

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

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

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

Подробнее

свернуть все

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

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

Свопцион пут

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

Ссылки

[1] Кокс, J., Ингерсолл, J. и С. Росс. «Теория терминологической структуры процентных ставок». Эконометрика. Том 53, 1985.

[2] Бриго, Д. и Ф. Меркурио. Модели процентных ставок - теория и практика. Springer Finance, 2006.

[3] Хирса, А. Вычислительные методы в финансах. КПР Пресс, 2012.

[4] Навалька, С., Сото, Г. и Н. Белиаева. Динамическое моделирование структуры терминов. Уайли, 2007.

[5] Нельсон, Д. и К. Рамасвами. «Простые биномиальные процессы как диффузионные приближения в финансовых моделях». Обзор финансовых исследований. Том 3. 1990, стр 393–430.

Представлен в R2018a