Хеджирование функций

Введение

Хеджирование является инвестициями, чтобы снизить риск неблагоприятной динамики цен в активе. Financial Instruments Toolbox™ предлагает две функции для оценки фундаментального компромисса хеджирования, hedgeopt и hedgeslf.

Первая функция, hedgeopt, решает самую общую проблему хеджирования. Это выделяет оптимальную преграду, чтобы удовлетворить любой из двух голов:

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

  • Минимизируйте чувствительность портфеля для данного набора максимальных целевых затрат.

hedgeopt позволяет инвесторам изменять выделения портфеля среди инструментов согласно любой из целей. Проблема снята как ограниченная проблема линейного метода наименьших квадратов. Для получения дополнительной информации о hedgeopt смотрите Хеджирование с hedgeopt.

Вторая функция, hedgeslf, пытается выделить самофинансирующуюся преграду среди портфеля инструментов. В частности, hedgeslf пытается поддержать постоянную стоимость портфеля, сопоставимую с уменьшаемой чувствительностью портфеля (то есть, перебалансированный портфель застрахован против перемещений рынка и самый близкий к тому, чтобы быть самофинансирующимся). Если hedgeslf не может найти самофинансирующуюся преграду, он восстанавливает равновесие портфеля, чтобы минимизировать полную чувствительность портфеля. Для получения дополнительной информации о hedgeslf смотрите Самофинансирующиеся Преграды с hedgeslf.

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

Для акции экзотические опции базовый инструмент является курсом акций вместо прямой кривой доходности. Так, дельта теперь представляет ценовую меру по чувствительности, переключает курс акций на нижний регистр, гамма является мерой по чувствительности дельты, переключает курс акций на нижний регистр, и vega является ценовой мерой по чувствительности, переключает энергозависимость на нижний регистр запаса. Смотрите crrsens, eqpsens, ittsens или sttsens для получения дополнительной информации о вычислении чувствительности для производных акции.

Для примеров, показывающих вычисление чувствительности для основанных на процентной ставке производных, смотрите Вычислительную Инструментальную Чувствительность. Аналогично, для примеров, показывающих вычисление чувствительности для акции экзотические опции, смотрите Вычислительную Инструментальную Чувствительность Акции.

Примечание

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

Хеджирование с hedgeopt

Примечание

Числовые результаты в этом разделе отображены в формате банка MATLAB®. Несмотря на то, что вычисления выполняются в двойной точности с плавающей точкой, только два десятичных разряда отображены.

Чтобы проиллюстрировать средство хеджирования, считайте портфель HJMInstSet полученный из файла в качестве примера deriv.mat. Портфель состоит из восьми инструментов: две связи, одна опция связи, одно примечание с фиксированной процентной ставкой, одно долговое обязательство с плавающей ставкой, одна прописная буква, один пол и одна подкачка.

И функции хеджирования требуют некоторых общих входных параметров, включая текущие активы портфеля (выделения) и матрица инструментальной чувствительности. Чтобы создать эти входные параметры, загрузите портфель в качестве примера в память

load deriv.mat;

вычислите цену и чувствительность

[Delta, Gamma, Vega, Price] = hjmsens(HJMTree, HJMInstSet);
Warning: Not all cash flows are aligned with the tree. Result will
be approximated.

и извлеките текущие активы портфеля.

Holdings = instget(HJMInstSet, 'FieldName', 'Quantity');

Поскольку удобство помещает дельту, гамму и vega меры по чувствительности в матрицу чувствительности.

Sensitivities = [Delta Gamma Vega];

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

Обобщать информацию о портфеле

disp([Price  Holdings  Sensitivities])
 98.72       100.00       -272.65       1029.90       0.00
 97.53        50.00       -347.43       1622.69      -0.04
  0.05       -50.00         -8.08        643.40      34.07
 98.72        80.00       -272.65       1029.90       0.00
100.55         8.00         -1.04          3.31          0
  6.28        30.00        294.97       6852.56      93.69
  0.05        40.00        -47.16       8459.99      93.69
  3.69        10.00       -282.05       1059.68       0.00

Первый столбец выше является долларовой ценой за единицу товара каждого инструмента, вторыми являются активы каждого инструмента (сохраненное количество или количество контрактов), и третьи, четвертые, и пятые колонны являются долларовой дельтой, гаммой и vega чувствительностью, соответственно.

Текущая чувствительность портфеля является взвешенным средним инструментов в портфеле.

TargetSens  = Holdings' * Sensitivities
TargetSens =

     -61910.22     788946.21       4852.91

Поддержание существующих выделений

Чтобы проиллюстрировать использование hedgeopt, предположите, что вы хотите поддержать свой существующий портфель. Первая форма hedgeopt минимизирует стоимость хеджирования портфеля, учитывая набор целевой чувствительности. Если вы хотите поддержать свою существующую структуру портфеля и воздействие, необходимо смочь сделать так, не тратя денег. Чтобы проверить это, установите целевую чувствительность к текущей чувствительности.

FixedInd = [1 2 3 4 5 6 7 8];
[Sens, Cost, Quantity] = hedgeopt(Sensitivities, Price,Holdings, FixedInd, [], [], TargetSens)
Holdings =

        100.00
         50.00
        -50.00
         80.00
          8.00
         30.00
         40.00
         10.00


Sens =

     -61910.22     788946.21       4852.91


Cost =

             0


Quantity =

  Columns 1 through 6

        100.00         50.00        -50.00         80.00          8.00         30.00

  Columns 7 through 8

         40.00         10.00

Структура портфеля и чувствительность неизменны, и стоимость, сопоставленная с выполнением, ничто не нуль. Стоимость задана как изменение в стоимости портфеля. Этот номер не может быть меньше, чем нуль, потому что стоимость изменения баланса задана как неотрицательный номер.

Если Value0 и Value1 представляют стоимость портфеля до и после изменения баланса, соответственно, нулевая стоимость может также быть проверена путем сравнения стоимости портфеля.

Value0 = Holdings' * Price
Value0 =

     23674.62
Value1 = Quantity * Price
Value1 =

     23674.62

Частично застрахованный портфель

При построении на примере в Поддержании Существующих Выделений предположите, что вы хотите знать, что стоимость достигает полной долларовой чувствительности портфеля [-23000 -3300 3000], при разрешении торговли только в инструментах 2, 3, и 6 (занимание позиций инструментов 1, 4, 5, 7, и 8 зафиксированных). Чтобы найти стоимость, сначала установите целевую долларовую чувствительность портфеля.

TargetSens = [-23000 -3300 3000];

Затем задайте инструменты, которые будут зафиксированы.

FixedInd = [1 4 5 7 8];

Наконец, вызовите hedgeopt

[Sens, Cost, Quantity] = hedgeopt(Sensitivities, Price,... 
Holdings, FixedInd, [], [], TargetSens);

и снова исследуйте результаты.

Sens =

     -23000.00      -3300.00       3000.00

Cost =

      19174.02

Quantity' =

        100.00
       -141.03
        137.26
         80.00
          8.00
        -57.96
         40.00
         10.00

Повторно вычислите Value1, стоимость портфеля после изменения баланса.

Value1 = Quantity * Price
Value1 =

      4500.60

Как ожидалось стоимость, 19 174,02$, является различием между Value0 и Value1, 23 674,62$ — 4 500,60$. Только положения в инструментах 2, 3, и 6 сменились.

Полностью застрахованный портфель

Пример в Частично Застрахованном Портфеле иллюстрирует частичную преграду, но возможно самый интересный случай связал стоимость, сопоставленную с полностью застрахованным портфелем (одновременная дельта, гамма и vega нейтралитет). В этом случае установите целевую чувствительность к вектору - строке из 0s и вызовите hedgeopt снова. Следующий пример использует данные из Хеджирования с hedgeopt.

TargetSens = [0 0 0];
[Sens, Cost, Quantity] = hedgeopt(Sensitivities, Price, ... 
Holdings, FixedInd, [], [], TargetSens);

Исследование выходных параметров показывает, что вы получили полностью застрахованный портфель

Sens =

         -0.00          -0.00          -0.00

но за счет более чем 20 000$.

Cost =

      23055.90

Положения, требуемые достигнуть полностью застрахованного портфеля

Quantity' =

        100.00
       -182.36
        -19.55
         80.00
          8.00
        -32.97
         40.00
         10.00

приведите к новой стоимости портфеля

Value1 = Quantity * Price
Value1 =

      618.72

Минимизация чувствительности портфеля

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

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

Чтобы проиллюстрировать это использование hedgeopt, вычислите долларовую чувствительность портфеля вдоль целой границы стоимости. От предыдущих примеров вы знаете, что расходы ничего реплицируют существующий портфель, в то время как расходование 23 055,90$ полностью страхует портфель.

Примите, например, вы готовы потратить целых 50 000$ и хотеть видеть, какая чувствительность портфеля закончится вдоль границы стоимости. Примите, что те же инструменты считаются зафиксированные, и что граница стоимости оценена от 0$ до 50 000$ в шаге 1 000$.

MaxCost = [0:1000:50000];

Теперь, вызовите hedgeopt.

[Sens, Cost, Quantity] = hedgeopt(Sensitivities, Price, ... 
Holdings, FixedInd, [], MaxCost);

С этими данными можно построить необходимую стоимость хеджирования по сравнению с доступными фондами (сумма, которую вы готовы потратить),

plot(MaxCost/1000, Cost/1000, 'red'), grid
xlabel('Funds Available for Rebalancing ($1000''s)')
ylabel('Actual Rebalancing Cost ($1000''s)')
title ('Rebalancing Cost Profile')

Изменение баланса профиля стоимости

и долларовая чувствительность портфеля по сравнению с доступными фондами.

figure
plot(MaxCost/1000, Sens(:,1), '-red')
hold('on')
plot(MaxCost/1000, Sens(:,2), '-.black')
plot(MaxCost/1000, Sens(:,3), '--blue')
grid
xlabel('Funds Available for Rebalancing ($1000''s)')
ylabel('Delta, Gamma, and Vega Portfolio Dollar Sensitivities')
title ('Portfolio Sensitivities Profile')
legend('Delta', 'Gamma', 'Vega', 0)

Фонды, доступные для изменения баланса

Самофинансирующиеся преграды с hedgeslf

Фигуры, Восстанавливающие равновесие Профиля Стоимости и Фондов, Доступных для Изменения баланса, указывают, что нет никакого преимущества, потому что фонды, доступные для хеджирования, превышают 23 055,90$, точка максимального расхода, требуемого получить одновременную дельту, гамму и vega нейтралитет. Можно также найти эту точку дельты, гаммы и vega нейтралитета с помощью hedgeslf.

[Sens, Value1, Quantity] = hedgeslf(Sensitivities, Price,... 
Holdings, FixedInd);
Sens =

         -0.00
         -0.00
         -0.00

Value1 =

      618.72

Quantity =

        100.00
       -182.36
        -19.55
         80.00
          8.00
        -32.97
         40.00
         10.00

Подобно hedgeopt hedgeslf возвращает долларовую чувствительность портфеля и инструментальные количества (перебалансированные активы). Однако напротив, второй выходной параметр hedgeslf является значением перебалансированного портфеля, от которого можно вычислить изменение баланса, стоившее вычитанием.

Value0 - Value1
ans =

      23055.90

В этом примере портфель является ясно не самофинансирующимся, таким образом, hedgeslf находит самое лучшее решение требуемым получить нулевую чувствительность.

Существует, на самом деле, третий синтаксис вызова, доступный для hedgeopt, непосредственно связанного с результатами, показанными выше для hedgeslf. Предположим, вместо того, чтобы непосредственно задать фонды, доступные для изменения баланса (большая часть денег вы готовы потратить), вы хотите просто задать число точек вдоль границы стоимости. Этот вызов hedgeopt выбирает границу стоимости в 10 равномерно распределенных точках между точкой минимальной стоимости (и потенциально максимальным воздействием) и точкой минимального воздействия (и максимальной стоимости).

[Sens, Cost, Quantity] = hedgeopt(Sensitivities, Price,... 
Holdings, FixedInd, 10)
Sens =
     -32784.46       2231.83     -49694.33
     -29141.74       1983.85     -44172.74
     -25499.02       1735.87     -38651.14
     -21856.30       1487.89     -33129.55
     -18213.59       1239.91     -27607.96
     -14570.87        991.93     -22086.37
     -10928.15        743.94     -16564.78
      -7285.43        495.96     -11043.18
      -3642.72        247.98      -5521.59
          0.00         -0.00          0.00

Cost =
          0.00
       2561.77
       5123.53
       7685.30
      10247.07
      12808.83
      15370.60
      17932.37
      20494.14
      23055.90

Теперь отобразите эти данные на графике.

figure
plot(Cost/1000, Sens(:,1), '-red')
hold('on')
plot(Cost/1000, Sens(:,2), '-.black')
plot(Cost/1000, Sens(:,3), '--blue')
grid
xlabel('Rebalancing Cost ($1000''s)')
ylabel('Delta, Gamma, and Vega Portfolio Dollar Sensitivities')
title ('Portfolio Sensitivities Profile')
legend('Delta', 'Gamma', 'Vega', 0)

Изменение баланса стоимости

В этой форме вызова hedgeopt вызывает hedgeslf внутренне, чтобы решить, что максимальная стоимость должна была минимизировать чувствительность портфеля (23 055,90$), и равномерно выбирает границу стоимости между 0$ и 23 055,90$.

И hedgeopt и hedgeslf снимают задачу оптимизации в качестве ограниченной проблемы линейного метода наименьших квадратов. В зависимости от инструментов и ограничений, никакая функция, как не гарантируют, будет сходиться к решению. В некоторых случаях пространство задач может быть неограниченными, и дополнительными инструментальными ограничениями равенства или заданными пользователями ограничениями, может быть необходимым для сходимости. Смотрите Хеджирование с Ограниченными Портфелями для получения дополнительной информации.

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

|

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

Больше о