optfloatbycir

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

Описание

пример

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

пример

[Price,PriceTree] = optfloatbycir(___,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-2021'; 
CIRTimeSpec = cirtimespec(Settle, 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 1 2 3]
        dObs: [736696 737061 737426 737791]
     FwdTree: {1x4 cell}
     Connect: {[3x1 double]  [3x3 double]  [3x5 double]}
       Probs: {[3x1 double]  [3x3 double]  [3x5 double]}

Инструмент плавающего предмета имеет распространение 10, период одного года, и назревает на Яне-1-2018.

Spread = 10;
Settle = 'Jan-1-2017';
Maturity = 'Jan-1-2019';
Period = 1;

Задайте опцию для долгового обязательства с плавающей ставкой.

OptSpec = {'call'};
Strike = 95;
ExerciseDates = 'Jan-1-2018';
AmericanOpt = [0;1];

Вычислите цену колл-опционов.

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

    4.9230
    5.1887

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

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

свернуть все

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

Пример: [Price,PriceTree] = optfloatbybk(CIRTree,OptSpec,Strike,ExerciseDates,AmericanOpt,Spread,Settle,Maturity,'FloatReset',4,'Basis',7)

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

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

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

  • PriceTree.AITree содержит начисленные проценты.

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

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

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

Больше о

свернуть все

Опции долгового обязательства с плавающей ставкой

floating-rate note option является помещенным или колл-опционом на долговом обязательстве с плавающей ставкой.

Financial Instruments Toolbox™ поддерживает три типа пут- и колл-опционов на долговых обязательствах с плавающей ставкой:

  • Американская опция — опция, что вы осуществляете любое время до его даты истечения срока.

  • Европейская опция — опция, которую вы осуществляете только на ее дату истечения срока.

  • Опция Бермуд — опция Бермуд напоминает гибрид американских и европейских опций; можно только осуществить его в предопределенные даты, обычно ежемесячно.

Для получения дополнительной информации см. Опции Долгового обязательства с плавающей ставкой.

Ссылки

[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