optemfloatbycir

Цена встроила опцию в долговое обязательство с плавающей ставкой для дерева процентной ставки Кокса-Инджерсолла-Росса

Синтаксис

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

Описание

пример

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

пример

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

Примеры

свернуть все

Создайте RateSpec с помощью функции intenvset.

Rates = [0.035; 0.042147; 0.047345; 0.052707]; 
Dates = {'Jan-1-2017'; 'Jan-1-2018'; 'Jan-1-2019'; 'Jan-1-2020'; 'Jan-1-2021'}; 
ValuationDate = 'Jan-1-2017'; 
EndDates = Dates(2:end)'; 
Compounding = 1; 
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;   
Settle = '01-Jan-2017'; 
Maturity = '01-Jan-2020'; 
CIRTimeSpec = cirtimespec(Settle, Maturity, 3); 
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 1 2]
        dObs: [736696 737061 737426]
     FwdTree: {[1.0350]  [1.0790 1.0500 1.0298]  [1x5 double]}
     Connect: {[3x1 double]  [3x3 double]}
       Probs: {[3x1 double]  [3x3 double]}

Задайте инструменты плавающего предмета со встроенным колл-опционом.

Spread = 10;
Settle = 'Jan-1-2017';
Maturity =  {'Jan-1-2019';'Jan-1-2020'};
Period = 1;
OptSpec = {'call'};
Strike = 101;
ExerciseDates = 'Jan-1-2019';

Вычислите цену плавающих предметов со встроенным вызовом.

[Price,PriceTree] = optemfloatbycir(CIRT,Spread,Settle,Maturity,OptSpec,Strike,ExerciseDates)
Price = 2×1

  100.1887
  100.2757

PriceTree = struct with fields:
    FinObj: 'CIRPriceTree'
      tObs: [0 1 2 3]
     PTree: {[2x1 double]  [2x3 double]  [2x5 double]  [2x5 double]}

Входные параметры

свернуть все

Дерево процентной ставки, заданное как структура при помощи cirtree.

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

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

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

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

Примечание

Дата Settle каждого долгового обязательства с плавающей ставкой со встроенной опцией назначена к ValuationDate дерева CIR. Аргумент Settle долгового обязательства с плавающей ставкой проигнорирован.

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

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

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

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

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

Значения цены исполнения опциона опции задали неотрицательные целые числа с помощью в качестве NINST-by-NSTRIKES вектор значений цены исполнения опциона.

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

Осуществите дату опции (европеец, Бермуды или американец) заданный как последовательные числа даты, векторы символов даты, строковые массивы или массивы datetime с помощью NINST-by-NSTRIKES или NINST-by-2 вектор для дат осуществления опции.

  • Для европейца или опции Бермуд, ExerciseDates является 1-by-1 (европеец) или 1-by-NSTRIKES (Бермуды) вектор дат осуществления. Для европейской опции на дате окончания срока действия опции существует только один ExerciseDates.

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

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

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

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

Пример: [Price,PriceTree] = optemfloatbycir(CIRTree,Spread,Settle,Maturity,OptSpec,Strike,ExerciseDates,'AmericanOpt',1,'FloatReset',6,'Basis',8)

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

  • 0 — Европеец/Бермуды

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

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

Частота платежей в год, заданный как пара, разделенная запятой, состоящая из 'FloatReset' и положительных целых чисел для значений [1,2,3,4,6,12] в NINST-by-1 вектор.

Примечание

Платежи по долговым обязательствам с плавающей ставкой (FRNs) определяются эффективной процентной ставкой между датами сброса. Если период сброса для FRN охватывает больше чем один древовидный уровень, вычисление оплаты становится невозможным из-за повторно объединяющейся природы дерева. Таким образом, древовидный путь, соединяющий две последовательных даты сброса, не может быть исключительно определен, потому что будет больше чем один возможный путь для соединения этих двух платежных дней.

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

Основание дневного количества инструмента, заданного как пара, разделенная запятой, состоящая из 'Basis' и положительного целого числа с помощью NINST-by-1 вектор. Значение Basis представляет основание, используемое при пересчитывании на год входного дерева форвардного курса.

  •  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

Флаг правила конца месяца, заданный как пара, разделенная запятой, состоящая из 'EndMonthRule' и неотрицательного целого числа [0, 1] использование NINST-by-1 вектор. Это правило применяется только, когда Maturity является датой конца месяца в течение месяца, имея 30 или меньше дней.

  • 0 = Игнорирует правило, означая, что платежный день облигационного купона всегда является тем же числовым днем месяца.

  • 1 = Установленное правило о, означая, что платежный день облигационного купона всегда является прошлым фактическим днем месяца.

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

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

При использовании NINST-by-1 массив ячеек, каждым элементом является NumDates-by-2 массив ячеек, где первый столбец является датами, и второй столбец является сопоставленной основной суммой. Дата указывает в последний день, что основное значение допустимо.

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

Структура, содержащая производные, оценивая опции, заданные как пара, разделенная запятой, состоящая из 'Options' и вывода от derivset.

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

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

свернуть все

Ожидаемые цены опции долгового обязательства с плавающей ставкой во время 0 возвращены как скаляр или NINST-by-1 вектор.

Структура деревьев, содержащих векторы цен на инструменты и начисленных процентов и вектор времен наблюдения для каждого узла, возвращенного как:

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

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

Ссылки

[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