cirsens

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

Описание

пример

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

Примечание

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

cirsens обрабатывает следующие значения типов инструментов: 'Bond', 'CashFlow', 'OptBond', 'Fixed', 'Float', 'Cap', 'Floor', 'Swap', '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

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

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

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

свернуть все

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

Примечание

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

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

Примечание

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

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

Примечание

Vega рассчитывается на основе 1% сдвига в процессе волатильности.

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

Ссылки

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

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

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

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

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

Введенный в R2018a
Для просмотра документации необходимо авторизоваться на сайте