reeviewer
исследовать 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.Connec
t задает древовидную структуру. 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
структуры для любого из следующих древовидных типов: