Используйте treeviewer исследовать HWTree и PriceTree При оценке европейской вызываемой связи

Этот пример демонстрирует, как использовать treeviewer исследовать древовидную информацию на Белое как оболочка дерево, когда вы оцениваете Europrean вызываемая связь.

Задайте входные параметры

Задайте информацию о кривой процентной ставки.

Rates = [0.035; 0.042147; 0.047345; 0.052707];
ValuationDate = 'Jan-1-2019';
EndDates = {'Jan-1-2020'; 'Jan-1-2021'; 'Jan-1-2022'; 'Jan-1-2023'};
Compounding = 1;

Задайте вызываемые инструменты связи. Первый инструмент является первой записью в массивах. Так, например, первый инструмент имеет цену исполнения опциона 98$ и зрелость от 1 января 2022.

Settle = '01-Jan-2019';
Maturity = {'01-Jan-2022'; '01-Jan-2023'};
CouponRate = {{'01-Jan-2021' .0425; '01-Jan-2023' .0450}};  
OptType = 'call';
Strike = [98; 95];
ExerciseDates= {'01-Jan-2021'; '01-Jan-2022'};
Basis = 1;

Задайте информацию об энергозависимости и HW параметры с одним фактором.

VolDates = ['1-Jan-2020'; '1-Jan-2021'; '1-Jan-2022'; '1-Jan-2023'];
VolCurve = 0.05;
AlphaDates = '01-01-2023';
AlphaCurve = 0.05; 

Создайте белое как оболочка дерево с одним фактором

Используйте hwtree создавать дерево с одним фактором.

RateSpec = intenvset('ValuationDate', ValuationDate, 'StartDates', ValuationDate,...
'EndDates', EndDates,'Rates', Rates, 'Compounding', Compounding, 'Basis', Basis); 
HWVolSpec = hwvolspec(RateSpec.ValuationDate, VolDates, VolCurve, AlphaDates, AlphaCurve);
HWTimeSpec = hwtimespec(RateSpec.ValuationDate, VolDates, Compounding);
HWTimeSpec.Basis = Basis;

HWT = hwtree(HWVolSpec, RateSpec, HWTimeSpec);

Цена оба вызываемых инструмента

Используйте optembndbyhw оценивать вызываемую связь со встроенными опциями.

[Price, PriceTree] = optembndbyhw(HWT, CouponRate,  Settle, Maturity, OptType, Strike,...
ExerciseDates, 'Period', 1, 'Basis', Basis)
Price = 2×1

   96.4131
   92.9341

PriceTree = struct with fields:
                FinObj: 'HWPriceTree'
                  tObs: [0 1 2 3 4]
                 PTree: {1x5 cell}
              ProbTree: {1x5 cell}
                ExTree: {1x5 cell}
            ExProbTree: {1x5 cell}
    ExProbsByTreeLevel: [2x5 double]
               Connect: {[2]  [2 3 4]  [2 3 4 5 6]}

Исследуйте белую как оболочка древовидную структуру

Используйте treeviewer исследовать Белое как оболочка дерево процентной ставки, которое является входом для встроенного калькулятора цен опции.

treeviewer(HWT)

Белое как оболочка дерево имеет 4 уровня узлов. Корневой узел в t = 0, три узла в t = 1, пять узлов в t = 2, и семь узлов в t = 3. Каждый узел представляет конкретное состояние. В этом случае состояние задано прямой кривой процентной ставки, HWT.FwdTree. Комбинация HWT.FwdTree и HWT.Connect задает древовидную структуру. FwdTree содержит значения прямой процентной ставки в каждом узле. Другие поля содержат другую информацию, относящуюся к интерпретации значений в FwdTree. Самым важным является VolSpec, TimeSpec, и RateSpec, которые содержат энергозависимость, временную структуру и информацию о структуре уровня, соответственно.

Например, HWT.FwdTree :

HWT.FwdTree
ans=1×4 cell array
    {[1.0350]}    {1x3 double}    {1x5 double}    {1x7 double}

Если вы отображаетесь, узлы графически с форвардными курсами наложились, это похоже:

Можно использовать treeviewer функция, чтобы визуализировать уровни в дереве с treeviewer(HWT). Эта функция отображает структуру Белого как оболочка дерева (HWT) на левой панели. Древовидная визуализация на правой панели является пробелом. Визуализируйте фактическое дерево процентной ставки:

1. В Древовидной панели Визуализации нажмите Path и Diagram.

2. Выберите первый путь путем нажатия на первый узел ветвь в t =1 .

3. Продолжите путем нажатия ветвь в следующем узле в t =2 .

Следующие рисунки показывают treeviewer путь схематически изображает для этих выборов.

4. Продолжите кликать по всем узлам по очереди, пока вы не достигнете конца ветви. Целый путь, который вы выбрали, подсвечен в красном.

5. Выберите второй путь путем нажатия на первый узел более низкой ветви в t =1 . Продолжите кликать по более низким узлам, как вы сделали на первой ветви. Вторая ветвь подсвечена в фиолетовом.

Белые как оболочка деревья имеют два дополнительных свойства под названием Probs и Connect. Probs свойство представляет вероятности перехода и Connect свойство задает, как узлы соединяются вместе.

Connect Поле

HWT.Connect описывает возможность соединения узлов данного древовидного уровня к узлам на следующем древовидном уровне.

HWT.Connect
ans=1×3 cell array
    {[2]}    {1x3 double}    {1x5 double}

Первое значение HWT.Connect соответствует t = 0 для корневого узла и указывает, что корневой узел соединяет с узлом 2 из следующего уровня в t = 1. Чтобы визуализировать это, рассмотрите следующий рисунок связи дерева, где числа узла были наложены выше каждого узла.

А именно, HWT.Connect представляет индекс узла на следующем древовидном уровне (t + 1) то, что средняя ветвь узла соединяется с.

Следующая запись в HWT.Connect в t = 1 [2,3,4]. Это означает что узел 1 в t = 1 имеет среднюю ветвь с узлом 2 в t = 2, узел 2 в t = 1 имеет среднюю ветвь с узлом 3 в t = 2, и узел 3 в t = 1 имеет среднюю ветвь с узлом 4 в t = 2. Графическое представление следует.

Средний путь к ветви, как явным образом задано в HWT.Connect, окрашен в красный, и неявные верхние и более низкие пути к ветви окрашены в желтый. Накладывание всех путей задано в HWT.Connect столь же красный и неявные верхние и более низкие ветви как желтые продукты следующая древовидная структура.

Форма на рисунке является той же формой, полученной путем выполнения функционального treeviewer(HWT).

Probs Поле

Используя следующий рисунок, полагайте, что вы хотите знать вероятность в t = 1 (второй уровень дерева), что главные взятия узла одного из этих трех путей.

HWT.Probs дает вероятности, что конкретная ветвь имеет перемещения от данного узла до узла на следующем уровне дерева.

HWT.Probs
ans=1×3 cell array
    {3x1 double}    {3x3 double}    {3x5 double}

Probs поле состоит из массива ячеек с одной ячейкой на уровень дерева. Найдите вероятности всех трех узлов в t = 1, который соответствует второму уровню дерева.

HWT.Probs{2}
ans = 3×3

    0.1429    0.1667    0.1929
    0.6642    0.6667    0.6642
    0.1929    0.1667    0.1429

Каждый столбец представляет различный узел. Первый узел в t = 1 соответствует первому столбцу, и вероятности составляют 14,29%, 66,42% и 19,30%.

Вероятность продвижения (путь 1) является главным значением (14,29%), средний путь является средним значением (66,42%) и путем, потеря работоспособности (путь 3) является минимальным значением в массиве (19,30%). Следующая схема обобщает эту информацию.

Исследуйте PriceTree Структура

Выходом функции оценки является PriceTree. PriceTree имеет следующие поля.

  • PriceTree.PTree — содержит чистые цены на каждый инструмент.

  • PriceTree.ExTree — содержит массивы индикатора осуществления где значение 1 указывает, что опция была осуществлена и значение 0 указывает, что опция не была осуществлена.

  • PriceTree.ExProbTree — содержит вероятности осуществления. Значение 0 указывает, что не было никакого осуществления, и ненулевое значение дает вероятность достижения того узла, где осуществление происходит.

  • PriceTree.ProbTree — содержит дерево вероятности указание, с какой вероятностью любой узел достигнут от корневого узла.

  • PriceTree.ExProbsByTreeLevel — содержит вероятность осуществления для данной опции в каждый древовидный раз наблюдения. Это - агрегированное представление PriceTree.ExProbTree это суммирует значения вдоль всех узлов в определенное время.

Обратите внимание на то, что для ProbTree, PTree, ExTree, и ExProbTree, каждая ячейка представляет различное время в дереве, и в каждой ячейке массив. Каждый столбец в массиве представляет различный узел на дереве на том конкретном древовидном уровне. Эта структура эквивалентна в HWT.Probs. Однако для PTree, ExTree, и ExProbTree каждая строка представляет различный инструмент. Поскольку этот пример оценивает два инструмента, существует только две строки. ProbTree содержит только одну строку, когда вероятность достижения конкретного узла независима от оцениваемого инструмента.

Рассмотрение PriceTree.ProbTree, исследуйте вероятности достижения каждого из этих пяти узлов от корневого узла в t = 2, который является третьим уровнем дерева.

PriceTree.ProbTree{3}
ans = 1×5

    0.0238    0.2218    0.5087    0.2218    0.0238

Эти результаты отображены в следующей схеме, где все узлы являются overlayed со своими вероятностями. Корневой узел в t = 0 всегда имеет вероятность того, чтобы быть достигнутым, следовательно, она имеет значение 1.

Путем рассмотрения PriceTree.ExTree, можно определить, осуществлены ли опции. Если любому из этих двух инструментов осуществили опции в t = 2, который является третьим уровнем дерева, значений в ExTree 1; в противном случае значением является 0.

PriceTree.ExTree{3}
ans = 2×5

     0     0     1     1     1
     0     0     0     0     0

В t = 2, первому инструменту осуществили его опцию в некоторых узлах, в то время как нет никакого осуществления для второго инструмента. Следующая схема обобщает индикаторы осуществления на дереве.

Исследуйте ExProbTree, который содержит вероятности осуществления. Эти значения указывают на вероятность осуществления опции.

PriceTree.ExProbTree{3}
ans = 2×5

         0         0    0.5087    0.2218    0.0238
         0         0         0         0         0

ExProbsByTreeLevel агрегированное представление ExProbTrees. Исследуйте вероятности осуществления на эти две опции в каждый древовидный раз наблюдения.

PriceTree.ExProbsByTreeLevel
ans = 2×5

         0         0    0.7544         0         0
         0         0         0    0.7124         0

Первая строка соответствует инструменту 1, и вторая строка соответствует инструменту 2.

Можно использовать treeviewer исследовать tree и PriceTree структуры для любого из следующих древовидных типов: