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

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

Функции crrsens, eqpsens, ittsens и sttsens вычисляют дельту, гамму и vega чувствительность инструментов с помощью дерева запаса. Они также опционально возвращают расчетную цену за каждый инструмент. Функции чувствительности требуют тех же двух входных параметров, используемых функциями оценки (CRRTree и CRRInstSet для CRR, EQPTree и EQPInstSet для EQP, ITTTree и ITTInstSet для ITT, и STTTree и STTInstSet для STT).

Как с инструментальными функциями оценки, дополнительный входной параметр также позволен Options. Вы включали бы этот аргумент, если вы хотите, чтобы функция чувствительности сгенерировала цену за барьерный опцион как одни из его выходных параметров и хотела управлять методом что использование тулбокса, чтобы выполнить операцию оценки. Смотрите, что Структура опций Оценки или derivset функционируют для получения дополнительной информации.

Для зависимых от предшествующего пути развития опций (lookback и азиат), дельта и гамма вычисляются конечными разностями в вызовах crrprice, eqpprice, ittprice и sttprice. Для других опций (фондовый опцион, барьер и составной объект), дельта и гамма вычисляются из CRR, EQP, ITT, и деревьев STT и соответствующего дерева цены опции. (См. Chriss, Нила, Блэка-Шоулза и Вне, стр 308–312.)

Пример чувствительности CRR

Синтаксис вызова для функции чувствительности:

[Delta, Gamma, Vega, Price] = crrsens(CRRTree, InstSet, Options)

Используя данные в качестве примера в deriv.mat, вычислите чувствительность инструментов.

load deriv.mat
[Delta, Gamma, Vega, Price] = crrsens(CRRTree, CRRInstSet);

Можно удобно исследовать чувствительность и цены путем расположения их в одну матрицу.

format bank
All = [Delta, Gamma, Vega, Price]
All =

      0.59            0.04       53.45          8.29
     -0.31            0.03       67.00          2.50
      0.69            0.03       67.00         12.13
     -0.12           -0.01      -98.08          3.32
     -0.40       -45926.32       88.18          7.60
     -0.42      -112143.15      119.19         11.78
      0.60        45926.32       49.21          4.18
      0.82       112143.15       41.71          3.42

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

All = [Delta ./ Price, Gamma ./ Price, Vega ./ Price, Price]
All =

       0.07         0.00        6.45        8.29
      -0.12         0.01       26.78        2.50
       0.06         0.00        5.53       12.13
      -0.04        -0.00      -29.51        3.32
      -0.05     -6041.77       11.60        7.60
      -0.04     -9522.02       10.12       11.78
       0.14     10987.98       11.77        4.18
       0.24     32771.92       12.19        3.42

Пример чувствительности ITT

Синтаксис вызова для функции чувствительности:

[Delta, Gamma, Vega, Price] = ittsens(ITTTree, ITTInstSet, Options)

Используя данные в качестве примера в deriv.mat, вычислите чувствительность инструментов.

load deriv.mat
warning('off', 'fininst:itttree:Extrapolation');
[Delta, Gamma, Vega, Price] = ittsens(ITTTree, ITTInstSet);

Можно удобно исследовать чувствительность и цены путем расположения их в одну матрицу.

format bank
All = [Delta, Gamma, Vega, Price]
All =

          0.24          0.03         19.35          1.65
         -0.43          0.02         49.69         10.68
          0.35          0.04         12.29          2.41
         -0.07          0.00          6.73          3.23
          0.63     142945.66         38.90          0.54
          0.60      22703.21         68.92          6.18
          0.32    -142945.66         18.48          3.21
          0.67     -22703.21         17.75          6.61

Как с ценами, каждая строка векторов чувствительности соответствует столь же индексируемому инструменту в ITTInstSet.

Примечание

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

Если предупреждения экстраполяции включены

warning('on', 'fininst:itttree:Extrapolation');
и ittsens повторно выполняется, прокрутка предупреждений экстраполяции, когда команда выполняется:
[Delta, Gamma, Vega, Price] = ittsens(ITTTree, ITTInstSet)
Warning: The option set specified in StockOptSpec was too narrow for the
generated tree.
This made extrapolation necessary. Below is a list of the options that were
outside of the
range of those specified in StockOptSpec.

Option Type: 'call'   Maturity: 01-Jan-2007  Strike=67.2897
Option Type: 'put'   Maturity: 01-Jan-2007  Strike=37.1528
Option Type: 'put'   Maturity: 01-Jan-2008  Strike=27.6066
Option Type: 'put'   Maturity: 31-Dec-2008  Strike=20.5132
Option Type: 'call'   Maturity: 01-Jan-2010  Strike=164.0157
Option Type: 'put'   Maturity: 01-Jan-2010  Strike=15.2424
 
> In itttree>InterpOptPrices (line 680)
  In itttree (line 285)
  In stocktreesens>stocktreevega (line 193)
  In stocktreesens (line 94)
  In ittsens (line 79) 

Delta =

          0.24
         -0.43
          0.35
         -0.07
          0.63
          0.60
          0.32
          0.67


Gamma =

          0.03
          0.02
          0.04
          0.00
     142945.66
      22703.21
    -142945.66
     -22703.21


Vega =

         19.35
         49.69
         12.29
          6.73
         38.90
         68.92
         18.48
         17.75


Price =

          1.65
         10.68
          2.41
          3.23
          0.54
          6.18
          3.21
          6.61

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

Пример чувствительности STT

Синтаксис вызова для функции чувствительности:

[Delta, Gamma, Vega, Price] = sttsens(STTTree, InstSet, Name, Value)

Используя данные в качестве примера в deriv.mat, вычислите чувствительность инструментов.

load deriv.mat
[Delta, Gamma, Vega, Price] = sttsens(STTTree, STTInstSet);

Можно удобно исследовать чувствительность и цены путем расположения их в одну матрицу.

format bank
All = [Delta, Gamma, Vega, Price]
All =

          0.53          0.02         52.90          4.50
         -0.09          0.00         42.44          3.06
          0.47          0.03         25.98          3.80
         -0.06          0.00         -9.53          1.71
          0.23    -186495.25         70.38         11.73
          0.33    -191186.43         92.92         12.91
          0.57     186495.25         25.81          1.69
          0.66     191186.43         37.88          2.62

Смотрите также

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Связанные примеры

Больше о