rangefloatbycir

Диапазон цен, плавающий примечание с помощью дерева Кокса-Инджерсолла-Росса

Описание

пример

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

пример

[Price,PriceTree] = rangefloatbycir(___,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]}

Задайте инструмент примечания области значений, который назревает в Яне-1-2014 и имеет следующий RateSchedule:

Spread = 100;
Settle = 'Jan-1-2017';
Maturity = 'Jan-1-2020';
RateSched(1).Dates = {'Jan-1-2018'; 'Jan-1-2019'  ; 'Jan-1-2020'};
RateSched(1).Rates = [0.045 0.055 ; 0.0525  0.0675; 0.06 0.08];

Вычислите цену плавающего примечания области значений.

[Price,PriceTree] = rangefloatbycir(CIRT,Spread,Settle,Maturity,RateSched)
Price = 91.6849
PriceTree = struct with fields:
     FinObj: 'CIRPriceTree'
      PTree: {[91.6849]  [88.9878 92.6039 95.1352]  [1x5 double]  [1x5 double]}
     AITree: {[0]  [0 0 0]  [0 0 0 0 0]  [0 0 0 0 0]}
       tObs: [0 1 2 3]
    Connect: {[3x1 double]  [3x3 double]}
      Probs: {[3x1 double]  [3x3 double]}

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

свернуть все

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

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

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

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

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

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

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

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

Область значений уровней, в которых потоки наличности являются ненулевыми в виде NINST- 1 вектор из структур. Каждый элемент массива структур содержит два поля:

  • RateSched.DatesNDates- 1 массив ячеек дат, соответствующих расписанию области значений.

  • RateSched.RatesNDates- 2 массив с первым столбцом, содержащим нижнюю границу области значений и второго столбца, содержащего верхнюю границу области значений. Поток наличности для даты RateSched.Dates(n) является ненулевым для уровней в области значений RateSched.Rates(n, 1) <Rate <RateSched.Rate (n, 2).

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

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

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

Пример: [Price,PriceTree] = rangefloatbycir(CIRTree,Spread,Settle,Maturity,RateSched,'Reset',4,'Basis',5,'Principal',10000)

Частота платежей в год в виде разделенной запятой пары, состоящей из 'Reset' и NINST- 1 вектор.

Примечание

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

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

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

  •  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

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

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

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

Типы данных: логический

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

свернуть все

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

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

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

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

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

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

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

Больше о

свернуть все

Примечание области значений

range note является структурированной (соединенной с рынком) безопасностью, купонная ставка которой равна ссылочному уровню, пока ссылочный уровень в определенной области значений.

Если ссылочный уровень находится вне области значений, купонной ставкой является 0 в течение того периода. Этот тип инструмента называет держателя на потоки наличности, которые зависят на уровне некоторой ссылочной процентной ставки и настелены пол, чтобы быть положительными. Держатель для записок получает прямое воздействие ссылочного уровня. Взамен недостатка, что никакой процент не выплачен в течение времени, которое оставляют область значений, они предлагают более высокие купонные ставки, чем сопоставимые стандартные продукты, плавающие примечания ванили. Для получения дополнительной информации см. Примечание Области значений.

Ссылки

[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