exponenta event banner

floatbycir

Ценовая нота с плавающей ставкой из дерева процентных ставок Cox-Ingersoll-Ross

Описание

пример

[Price,PriceTree] = floatbycir(CIRTree,Spread,Settle,Maturity) цены ноты с плавающей ставкой из дерева процентных ставок Cox-Ingersoll-Ross (CIR).

floatbycir вычисляет цены ванильных купюр с плавающей ставкой, амортизирующих купюр с плавающей ставкой, купюр с закрытой плавающей ставкой, купюр с плавающей ставкой с затопленной плавающей ставкой и ошеломленных купюр с плавающей ставкой, используя модель CIR++ с подходом Навалька-Беляева (NB).

пример

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

Примеры

свернуть все

Определение Spread 20 базисных пунктов для ноты с плавающей ставкой.

Spread = 20;

Создать 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(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 1 2 3]
        dObs: [736696 737061 737426 737791]
     FwdTree: {[1.0350]  [1.0790 1.0500 1.0298]  [1x5 double]  [1x7 double]}
     Connect: {[3x1 double]  [3x3 double]  [3x5 double]}
       Probs: {[3x1 double]  [3x3 double]  [3x5 double]}

Оцените 20-базисную ноту с плавающей ставкой.

[Price,PriceTree] = floatbycir(CIRT,Spread,Settle,Maturity) 
Price = 100.7143
PriceTree = struct with fields:
     FinObj: 'CIRPriceTree'
      PTree: {1x5 cell}
     AITree: {[0]  [0 0 0]  [0 0 0 0 0]  [0 0 0 0 0 0 0]  [0 0 0 0 0 0 0]}
       tObs: [0 1 2 3 4]
    Connect: {[3x1 double]  [3x3 double]  [3x5 double]}
      Probs: {[3x1 double]  [3x3 double]  [3x5 double]}

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

свернуть все

Древовидная структура процентных ставок, созданная cirtree

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

Количество базисных пунктов над эталонной ставкой, указанное как NINSTоколо-1 вектор.

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

Дата расчета, указанная как скаляр или NINSTоколо-1 вектор серийных номеров дат, векторы символов даты, строковые массивы или массивы datetime.

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

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

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

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

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

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

Пример: [Price,PriceTree] = floatbycir(CIRTree,Spread,Settle,Maturity,'Basis',3)

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

Примечание

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

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

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

  • 0 = факт/факт

  • 1 = 30/360 (SIA)

  • 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 = BUS/252

Дополнительные сведения см. в разделе Базис.

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

Условные основные суммы, указанные как пара, разделенная запятыми, состоящая из 'Principal' и вектор или клеточный массив.

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

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

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

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

  • 1 = Установите правило, означающее, что дата платежа всегда является последним фактическим днем месяца.

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

Флажок для корректировки денежных потоков на основе фактического количества дней периода, указанного как пара, разделенная запятыми, состоящая из 'AdjustCashFlowsBasis' и NINSTоколо-1 вектор логикалов со значениями 0 (false) или 1 Правда.

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

Праздники, используемые в вычислительных рабочих днях, указанные как пара, разделенная запятыми, состоящая из 'Holidays' и номера дат MATLAB с использованием NHolidaysоколо-1 вектор.

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

Соглашения о рабочих днях, указанные как пара, разделенная запятыми, состоящая из 'BusinessDayConvention' и вектор символа или Nоколо-1 массив ячеек символьных векторов соглашений о рабочих днях. Выбор соглашения о рабочих днях определяет, как обрабатываются дни, не связанные с бизнесом. Дни, не связанные с бизнесом, определяются как выходные дни, а также любые другие даты, когда предприятия не открыты (например, официальные праздники). Значения:

  • actual - Дни, не связанные с бизнесом, фактически игнорируются. Предполагается, что денежные потоки, приходящиеся на нерабочие дни, распределяются на фактическую дату.

  • follow - Денежные потоки, приходящиеся на нерабочий день, предполагается распределить на следующий рабочий день.

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

  • previous - Денежные потоки, приходящиеся на нерабочий день, предполагается распределить в предыдущий рабочий день.

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

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

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

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

Годовая минимальная ставка, указанная как пара, разделенная запятыми, состоящая из 'FloorRate' и NINSTоколо-1 десятичная годовая ставка или NINSTоколо-1 массив ячеек.

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

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

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

свернуть все

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

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

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

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

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

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

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

Подробнее

свернуть все

Примечание с плавающей ставкой

Нота с плавающей ставкой - это ценная бумага, подобная облигации, но процентная ставка ноты периодически сбрасывается относительно ссылочной ставки индекса для отражения колебаний рыночных процентных ставок.

Ссылки

[1] Кокс, J., Ингерсолл, J. и С. Росс. «Теория терминологической структуры процентных ставок». Эконометрика. Том 53, 1985.

[2] Бриго, Д. и Ф. Меркурио. Модели процентных ставок - теория и практика. Springer Finance, 2006.

[3] Хирса, А. Вычислительные методы в финансах. КПР Пресс, 2012.

[4] Навалька, С., Сото, Г. и Н. Белиаева. Динамическое моделирование структуры терминов. Уайли, 2007.

[5] Нельсон, Д. и К. Рамасвами. «Простые биномиальные процессы как диффузионные приближения в финансовых моделях». Обзор финансовых исследований. Том 3. 1990, стр 393–430.

Представлен в R2018a