sttsens

Инструментальная чувствительность и цены с помощью стандартного трехчленного дерева

Описание

пример

[Delta,Gamma,Vega,Price] = sttsens(STTTree,InstSet) сгенерировать инструментальную чувствительность и цены с помощью стандартного трехчлена (STT) дерево.

пример

[Delta,Gamma,Vega,Price] = sttsens(___,Name,Value) сгенерировать инструментальную чувствительность и цены с помощью стандартного трехчлена (STT) дерево с дополнительным аргументом пары "имя-значение" для Options.

Примеры

свернуть все

Загрузите данные в рабочую область MATLAB®.

load deriv.mat

STTTree и STTInstSet входные параметры, требуемые вызывать функциональный sttprice. Используйте команду instdisp исследовать набор инструментов, содержавшихся в переменной STTInstSet.

instdisp(STTInstSet)
Index Type     OptSpec Strike Settle         ExerciseDates  AmericanOpt Name  Quantity
1     OptStock call    100    01-Jan-2009    01-Jan-2011    1           Call1 10      
2     OptStock put      80    01-Jan-2009    01-Jan-2012    0           Put1   5      
 
Index Type    OptSpec Strike Settle         ExerciseDates  AmericanOpt BarrierSpec Barrier Rebate Name     Quantity
3     Barrier call    105    01-Jan-2009    01-Jan-2012    1           ui          115     0      Barrier1 1       
 
Index Type     UOptSpec UStrike USettle        UExerciseDates UAmericanOpt COptSpec CStrike CSettle        CExerciseDates CAmericanOpt Name      Quantity
4     Compound call     95      01-Jan-2009    01-Jan-2012    1            put      5       01-Jan-2009    01-Jan-2011    1            Compound1 3       
 
Index Type     OptSpec Strike Settle         ExerciseDates  AmericanOpt Name      Quantity
5     Lookback call    90     01-Jan-2009    01-Jan-2012    0           Lookback1 7       
6     Lookback call    95     01-Jan-2009    01-Jan-2013    0           Lookback2 9       
 
Index Type  OptSpec Strike Settle         ExerciseDates  AmericanOpt AvgType    AvgPrice AvgDate Name   Quantity
7     Asian call    100    01-Jan-2009    01-Jan-2012    0           arithmetic NaN      NaN     Asian1 4       
8     Asian call    100    01-Jan-2009    01-Jan-2013    0           arithmetic NaN      NaN     Asian2 6       
 

Инструментальный набор содержит восемь инструментов:

  • Две опции ванили (Call1, Put1)

  • Один барьерный опцион (Barrier1)

  • Одна составная опция (Compound1)

  • Две lookback опции (Lookback1, Lookback2)

  • Две азиатских опции (Asian1, Asian2)

Используйте sttsens вычислить цену и чувствительность для каждого инструмента в инструментальном наборе.

[Delta,Gamma,Vega,Price] = sttsens(STTTree, STTInstSet)
Delta = 8×1

    0.5267
   -0.0943
    0.4726
   -0.0624
    0.2313
    0.3266
    0.5706
    0.6646

Gamma = 8×1
105 ×

    0.0000
    0.0000
    0.0000
    0.0000
   -1.8650
   -1.9119
    1.8650
    1.9119

Vega = 8×1

   52.8980
   42.4369
   25.9792
   -9.5266
   70.3758
   92.9226
   25.8122
   37.8757

Price = 8×1

    4.5025
    3.0603
    3.7977
    1.7090
   11.7296
   12.9120
    1.6905
    2.6203

Создайте RateSpec.

StartDates = 'Jan-1-2015'; 
EndDates = 'Jan-1-2020'; 
Rates = 0.025; 
Basis = 1; 

RateSpec = intenvset('ValuationDate',StartDates,'StartDates',StartDates,...
'EndDates',EndDates,'Rates',Rates,'Compounding',-1,'Basis',Basis)
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: -1
             Disc: 0.8825
            Rates: 0.0250
         EndTimes: 5
       StartTimes: 0
         EndDates: 737791
       StartDates: 735965
    ValuationDate: 735965
            Basis: 1
     EndMonthRule: 1

Создайте StockSpec.

AssetPrice = 80; 
Sigma = 0.12; 
StockSpec = stockspec(Sigma,AssetPrice)
StockSpec = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.1200
         AssetPrice: 80
       DividendType: []
    DividendAmounts: 0
    ExDividendDates: []

Создайте STTTree.

TimeSpec = stttimespec(StartDates, EndDates, 20);
STTTree = stttree(StockSpec, RateSpec, TimeSpec)
STTTree = struct with fields:
       FinObj: 'STStockTree'
    StockSpec: [1x1 struct]
     TimeSpec: [1x1 struct]
     RateSpec: [1x1 struct]
         tObs: [0 0.2500 0.5000 0.7500 1 1.2500 1.5000 1.7500 2 2.2500 ... ]
         dObs: [735965 736056 736147 736238 736330 736421 736512 736604 ... ]
        STree: {1x21 cell}
        Probs: {1x20 cell}

Задайте конвертируемую облигацию. Конвертируемая облигация может быть названа, начав 1 января 2016 с цены исполнения опциона 95.

CouponRate = 0.03;
Settle = 'Jan-1-2015'; 
Maturity = 'April-1-2018'; 
Period = 1;
CallStrike = 95; 
CallExDates = [datenum('Jan-1-2016') datenum('April-1-2018')];
ConvRatio = 1;
Spread = 0.025;

Оцените конвертируемую облигацию с помощью стандартной трехчленной древовидной модели.

[Price,PriceTree,EqtTre,DbtTree] = cbondbystt(STTTree,CouponRate,Settle,Maturity,ConvRatio,...
'Period',Period,'Spread',Spread,'CallExDates',CallExDates,'CallStrike',CallStrike,'AmericanCall', 1)
Price = 90.2511
PriceTree = struct with fields:
    FinObj: 'TrinPriceTree'
     PTree: {1x21 cell}
      tObs: [0 0.2500 0.5000 0.7500 1 1.2500 1.5000 1.7500 2 2.2500 ... ]
      dObs: [735965 736056 736147 736238 736330 736421 736512 736604 ... ]

EqtTre = struct with fields:
    FinObj: 'TrinPriceTree'
     PTree: {1x21 cell}
      tObs: [0 0.2500 0.5000 0.7500 1 1.2500 1.5000 1.7500 2 2.2500 ... ]
      dObs: [735965 736056 736147 736238 736330 736421 736512 736604 ... ]

DbtTree = struct with fields:
    FinObj: 'TrinPriceTree'
     PTree: {1x21 cell}
      tObs: [0 0.2500 0.5000 0.7500 1 1.2500 1.5000 1.7500 2 2.2500 ... ]
      dObs: [735965 736056 736147 736238 736330 736421 736512 736604 ... ]

Вычислите дельту и гамму конвертируемой облигации.

InstSet= instcbond(CouponRate,Settle,Maturity,ConvRatio,'Spread',Spread,...
'CallExDates',CallExDates,'CallStrike',CallStrike,'AmericanCall',1);
[Delta,Gamma] = sttsens(STTTree,InstSet)
Delta = 0.3945
Gamma = 0.0324

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

свернуть все

Древовидная структура запаса для стандартного трехчленного дерева, заданного при помощи stttree.

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

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

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

Аргументы name-value

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

Пример: [Delta,Gamma,Vega,Price] = sttsens(STTTree,InstSet,'Options',deriv)

Производные оценивая опции в виде разделенной запятой пары, состоящей из 'Options' и структура, которая создается с derivset.

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

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

свернуть все

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

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

Скорость изменения цен на инструменты относительно изменений в энергозависимости курса акций, возвращенного как NINST- 1 вектор из Лас-Вегаса. Для получения дополнительной информации о дереве запаса смотрите stttree.

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

Введенный в R2015b