swaptionbycir

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

Описание

пример

[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: [736696 736915 737134 737353 737572 737791 738010 738229 ... ]
     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- 1 массив ячеек из символьных векторов или строковые массивы. Для получения дополнительной информации смотрите Больше О.

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

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

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

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

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

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

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

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

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

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

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

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

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

Аргументы name-value

Задайте дополнительные разделенные запятой пары 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 (СИА)

  •  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- 1 вектор.

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

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

свернуть все

Ожидаемые цены swaptions во время 0, возвращенный как NINST- 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