exponenta event banner

cirsens

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

Описание

пример

[Delta,Gamma,Vega,Price] = cirsens(CIRTree,InstSet) вычисляет чувствительность к доллару и цены на инструменты с помощью дерева процентных ставок Кокса-Ингерсолла-Росса (CIR), созданного с помощью cirtree. В дереве CIR используется модель CIR++ с подходом Nawalka-Beliaeva (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около-1 вектор дельт. Delta вычисляется конечными разностями в вызовах cirtree.

Примечание

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

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

Примечание

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

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

Примечание

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

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

Ссылки

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

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

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

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

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

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