cirsens

Инструментальная чувствительность и цены из модели процентной ставки Кокса-Инджерсолла-Росса

Описание

пример

[Delta,Gamma,Vega,Price] = cirsens(CIRTree,InstSet) вычисляет долларовую чувствительность и цены на инструменты с помощью Кокса-Инджерсолла-Росса (CIR) дерево процентной ставки, созданное с cirtree. Дерево CIR использует модель CIR ++ с подходом Навалька-Беляевой (NB).

Примечание

Вся чувствительность возвращена как долларовая чувствительность. Чтобы найти чувствительность на доллар, разделитесь на соответствующую инструментальную цену.

cirsens обрабатывает следующие инструментальные значения типа: 'Bond', 'CashFlow', 'OptBond', 'Fixed', 'Float'\capполподкачка, 'Swaption', 'RangeFloat', 'OptFloat', 'OptEmFloat'.

Примеры

свернуть все

Задайте и настройте два инструмента связи. Вычислите Delta и Gamma поскольку инструменты связи, содержавшиеся в инструменте, установлены.

CouponRate= [0.035;0.04];
Settle= 'Jan-1-2017'; 
Maturity = 'Jan-1-2019'; 
Period = 1; 
InstSet = instbond(CouponRate, Settle, Maturity, Period)
InstSet = struct with fields:
        FinObj: 'Instruments'
    IndexTable: [1x1 struct]
          Type: {'Bond'}
     FieldName: {{11x1 cell}}
    FieldClass: {{11x1 cell}}
     FieldData: {{11x1 cell}}

instdisp(InstSet)
Index Type CouponRate Settle         Maturity       Period Basis EndMonthRule IssueDate FirstCouponDate LastCouponDate StartDate Face
1     Bond 0.035      01-Jan-2017    01-Jan-2019    1      0     1            NaN       NaN             NaN            NaN       100 
2     Bond 0.04       01-Jan-2017    01-Jan-2019    1      0     1            NaN       NaN             NaN            NaN       100 
 

Создайте 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-2019'; 
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 0.5000 1 1.5000]
        dObs: [736696 736878 737061 737243]
     FwdTree: {[1.0173]  [1.0276 1.0175 1.0097]  [1x5 double]  [1x7 double]}
     Connect: {[3x1 double]  [3x3 double]  [3x5 double]}
       Probs: {[3x1 double]  [3x3 double]  [3x5 double]}

Вычислите Delta и Gamma чувствительность для этих двух связей.

[Delta, Gamma] = cirsens(CIRT,InstSet) 
Delta = 2×1

 -186.1885
 -187.5390

Gamma = 2×1

  532.8675
  536.3132

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

свернуть все

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

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

Переменная Instrument, содержащая набор NINST инструменты, заданное использование instadd. Инструменты категоризированы типом; каждый тип может иметь различные поля данных. Сохраненное поле данных является вектором-строкой или вектором символов для каждого инструмента.

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

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

свернуть все

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

Примечание

Delta вычисляется на основе сдвигов выражения 100 пунктов.

Скорость изменения инструментальных дельт относительно изменений в процентной ставке, возвращенной как NINST- 1 вектор из гамм. Gamma вычисляется конечными разностями в вызовах cirtree.

Примечание

Gamma вычисляется на основе сдвигов выражения 100 пунктов.

Скорость изменения цен на инструменты относительно изменений в энергозависимости, возвращенной как NINST- 1 вектор из Лас-Вегаса. Энергозависимостью является Сигма (t, T) процентной ставки. Vega вычисляется конечными разностями в вызовах cirtree. Для получения информации о процессе энергозависимости смотрите cirvolspec.

Примечание

Vega вычисляется на основе 1%, переключают процесс энергозависимости на нижний регистр.

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

Ссылки

[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