swaptionbycir

Цена swaption от дерева процентной ставки Кокса-Инджерсолла-Росса

Синтаксис

[Price,PriceTree] = swaptionbycir(CIRTree,OptSpec,Strike,ExerciseDates,Spread,Settle,Maturity)
[Price,PriceTree] = swaptionbycir(___,Name,Value)

Описание

пример

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

пример

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

Примеры

свернуть все

Задайте 3-летний помещенный swaption.

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}

Используйте следующие аргументы для 1-летней подкачки и 3-летнего swaption.

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

Оцените swaption.

[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-by-1 массив ячеек из символьных векторов или строковые массивы. Для получения дополнительной информации см. Определения.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Тип опции, заданный как пара, разделенная запятой, состоящая из 'AmericanOpt' и NINST-by-1 положительное целое число, отмечает с помощью значений:

  • 0 — Европеец

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

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

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

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

Основание дневного количества, представляющее основание, используемое при пересчитывании на год входного дерева форвардного курса для каждого инструмента, заданного как пара, разделенная запятой, состоящая из 'Basis' и NINST-by-1 вектор или NINST-by-2 матрица, представляющая основание для каждого участка. Если Basis является NINST-by-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-by-1 вектор.

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

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

свернуть все

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

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

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

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

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

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

Больше о

свернуть все

Вызовите Swaption

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

Поместите Swaption

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

Ссылки

[1] Cox, J., Ингерсолл, J. и С. Росс. "Теория термина структура процентных ставок". Econometrica. Издание 53, 1985.

[2] Brigo, D. и Ф. Меркурио. Модели процентной ставки - теория и практика. Финансы Спрингера, 2006.

[3] Hirsa, A. Вычислительные методы в финансах. Нажатие CRC, 2012.

[4] Nawalka, S., Soto, G. и Н. Беляева. Динамическое моделирование структуры термина. Вайли, 2007.

[5] Нельсон, D. и К. Рамасвами. "Простые Биномиальные Процессы как Приближения Диффузии в Финансовых Моделях". Анализ Финансовых Исследований. Vol 3. 1990, стр 393–430.

Введенный в R2018a

Для просмотра документации необходимо авторизоваться на сайте