Портфель, оценивая функции crrprice
, eqpprice
, и ittprice
вычислите цену любого набора поддерживаемых инструментов на основе бинарного ценового дерева акции, подразумеваемого трехчленного ценового дерева или стандартного трехчленного дерева. Эти функции способны к оценке следующих инструментальных типов:
Синтаксис для вызова функционального crrprice
:
[Price, PriceTree] = crrprice(CRRTree, InstSet, Options)
Синтаксис для eqpprice
:
[Price, PriceTree] = eqpprice(EQPTree, InstSet, Options)
Синтаксис для ittprice
:
Price = ittprice(ITTTree, ITTInstSet, Options)
Синтаксис для sttprice
:
[Price, PriceTree] = sttprice(STTTree, InstSet, Name, Value)
Эти функции требуют двух входных параметров: ценовое дерево акции и набор инструментов, InstSet
, и позвольте третий дополнительный аргумент.
CRRTree
ценовое дерево акции CRR, созданное с помощью crrtree
. EQPTree
равное ценовое дерево акции вероятности, созданное с помощью eqptree
. ITTTree
ценовое дерево акции ITT, созданное с помощью itttree
. STTTree
стандартное трехчленное ценовое дерево акции, созданное с помощью stttree
. Смотрите Двоичные деревья Акции Создания и Создание Подразумеваемых Трехчленных Деревьев, чтобы изучить, как создать эти структуры.
InstSet
структура, которая представляет набор инструментов, которые будут оценены независимо с помощью модели.
Можно ввести третий дополнительный аргумент, Options
, используемый при оценке барьерных опционов. Дополнительные сведения см. в Структуре опций Оценки.
Эти функции оценки внутренне классифицируют инструменты и вызывают соответствующую отдельную инструментальную функцию оценки для каждого из инструментальных типов. CRR оценивающие функции является asianbycrr
, barrierbycrr
, compoundbycrr
, lookbackbycrr
, и optstockbycrr
. Подобный набор функций существует для EQP, ITT и оценки STT. Можно также использовать эти функции непосредственно, чтобы вычислить цену наборов инструментов того же типа. Смотрите страницы с описанием для этих отдельных функций для получения дополнительной информации.
Рассмотрите следующий пример, который использует портфель и данные о курсе акций в MAT-файле deriv.mat
включенный в тулбокс. Загрузите данные в рабочую область MATLAB®.
load deriv.mat
Используйте whos
MATLAB команда, чтобы отобразить список переменных, загруженных из MAT-файла.
Name Size Bytes Class Attributes BDTInstSet 1x1 27344 struct BDTTree 1x1 7322 struct BKInstSet 1x1 27334 struct BKTree 1x1 8532 struct CRRInstSet 1x1 21066 struct CRRTree 1x1 7086 struct EQPInstSet 1x1 21066 struct EQPTree 1x1 7086 struct HJMInstSet 1x1 27336 struct HJMTree 1x1 8334 struct HWInstSet 1x1 27334 struct HWTree 1x1 8532 struct ITTInstSet 1x1 21070 struct ITTTree 1x1 12660 struct STTInstSet 1x1 21070 struct STTTree 1x1 7782 struct ZeroInstSet 1x1 17458 struct ZeroRateSpec 1x1 2152 struct
CRRTree
и CRRInstSet
необходимые входные параметры должны вызвать функциональный crrprice
.
Используйте instdisp
исследовать набор инструментов, содержавшихся в переменной CRRInstSet
.
instdisp(CRRInstSet)
Index Type OptSpec Strike Settle ExerciseDates AmericanOpt Name Quantity 1 OptStock call 105 01-Jan-2003 01-Jan-2005 1 Call1 10 2 OptStock put 105 01-Jan-2003 01-Jan-2006 0 Put1 5 Index Type OptSpec Strike Settle ExerciseDates AmericanOpt BarrierSpec Barrier Rebate Name Quantity 3 Barrier call 105 01-Jan-2003 01-Jan-2006 1 ui 102 0 Barrier1 1 Index Type UOptSpec UStrike USettle UExerciseDates UAmericanOpt COptSpec CStrike CSettle CExerciseDates CAmericanOpt Name Quantity 4 Compound call 130 01-Jan-2003 01-Jan-2006 1 put 5 01-Jan-2003 01-Jan-2005 1 Compound1 3 Index Type OptSpec Strike Settle ExerciseDates AmericanOpt Name Quantity 5 Lookback call 115 01-Jan-2003 01-Jan-2006 0 Lookback1 7 6 Lookback call 115 01-Jan-2003 01-Jan-2007 0 Lookback2 9 Index Type OptSpec Strike Settle ExerciseDates AmericanOpt AvgType AvgPrice AvgDate Name Quantity 7 Asian put 110 01-Jan-2003 01-Jan-2006 0 arithmetic NaN NaN Asian1 4 8 Asian put 110 01-Jan-2003 01-Jan-2007 0 arithmetic NaN NaN Asian2 6
Из-за факторов пробела, составной опции выше (Index 4
) был сжат, чтобы соответствовать странице. instdisp
команда отображает все составные поля опции на вашем мониторе.
Инструментальный набор содержит восемь инструментов:
Две опции ванили (Call1
, Put1
)
Один барьерный опцион (Barrier1
)
Одна составная опция (Compound1
)
Две lookback опции (Lookback1
, Lookback2
)
Две азиатских опции (Asian1
, Asian2
)
Каждый инструмент имеет соответствующий индекс, который идентифицирует цены на инструменты в ценовом векторе, возвращенном crrprice
.
Теперь используйте crrprice
вычислить цену каждого инструмента в инструментальном наборе.
Price = crrprice(CRRTree, CRRInstSet)
Price = 8.2863 2.5016 12.1272 3.3241 7.6015 11.7772 4.1797 3.4219
Загрузите данные в рабочее пространство MATLAB.
load deriv.mat
Используйте whos
MATLAB команда, чтобы отобразить список переменных, загруженных из MAT-файла.
Name Size Bytes Class Attributes BDTInstSet 1x1 27344 struct BDTTree 1x1 7322 struct BKInstSet 1x1 27334 struct BKTree 1x1 8532 struct CRRInstSet 1x1 21066 struct CRRTree 1x1 7086 struct EQPInstSet 1x1 21066 struct EQPTree 1x1 7086 struct HJMInstSet 1x1 27336 struct HJMTree 1x1 8334 struct HWInstSet 1x1 27334 struct HWTree 1x1 8532 struct ITTInstSet 1x1 21070 struct ITTTree 1x1 12660 struct STTInstSet 1x1 21070 struct STTTree 1x1 7782 struct ZeroInstSet 1x1 17458 struct ZeroRateSpec 1x1 2152 struct
EQPTree
и EQPInstSet
входные параметры, требуемые вызывать функциональный eqpprice
.
Используйте команду instdisp
исследовать набор инструментов, содержавшихся в переменной EQPInstSet
.
instdisp(EQPInstSet)
Index Type OptSpec Strike Settle ExerciseDates AmericanOpt Name Quantity 1 OptStock call 105 01-Jan-2003 01-Jan-2005 1 Call1 10 2 OptStock put 105 01-Jan-2003 01-Jan-2006 0 Put1 5 Index Type OptSpec Strike Settle ExerciseDates AmericanOpt BarrierSpec Barrier Rebate Name Quantity 3 Barrier call 105 01-Jan-2003 01-Jan-2006 1 ui 102 0 Barrier1 1 Index Type UOptSpec UStrike USettle UExerciseDates UAmericanOpt COptSpec CStrike CSettle CExerciseDates CAmericanOpt Name Quantity 4 Compound call 130 01-Jan-2003 01-Jan-2006 1 put 5 01-Jan-2003 01-Jan-2005 1 Compound1 3 Index Type OptSpec Strike Settle ExerciseDates AmericanOpt Name Quantity 5 Lookback call 115 01-Jan-2003 01-Jan-2006 0 Lookback1 7 6 Lookback call 115 01-Jan-2003 01-Jan-2007 0 Lookback2 9 Index Type OptSpec Strike Settle ExerciseDates AmericanOpt AvgType AvgPrice AvgDate Name Quantity 7 Asian put 110 01-Jan-2003 01-Jan-2006 0 arithmetic NaN NaN Asian1 4 8 Asian put 110 01-Jan-2003 01-Jan-2007 0 arithmetic NaN NaN Asian2 6 >> instdisp(EQPInstSet) Index Type OptSpec Strike Settle ExerciseDates AmericanOpt Name Quantity 1 OptStock call 105 01-Jan-2003 01-Jan-2005 1 Call1 10 2 OptStock put 105 01-Jan-2003 01-Jan-2006 0 Put1 5 Index Type OptSpec Strike Settle ExerciseDates AmericanOpt BarrierSpec Barrier Rebate Name Quantity 3 Barrier call 105 01-Jan-2003 01-Jan-2006 1 ui 102 0 Barrier1 1 Index Type UOptSpec UStrike USettle UExerciseDates UAmericanOpt COptSpec CStrike CSettle CExerciseDates CAmericanOpt Name Quantity 4 Compound call 130 01-Jan-2003 01-Jan-2006 1 put 5 01-Jan-2003 01-Jan-2005 1 Compound1 3 Index Type OptSpec Strike Settle ExerciseDates AmericanOpt Name Quantity 5 Lookback call 115 01-Jan-2003 01-Jan-2006 0 Lookback1 7 6 Lookback call 115 01-Jan-2003 01-Jan-2007 0 Lookback2 9 Index Type OptSpec Strike Settle ExerciseDates AmericanOpt AvgType AvgPrice AvgDate Name Quantity 7 Asian put 110 01-Jan-2003 01-Jan-2006 0 arithmetic NaN NaN Asian1 4 8 Asian put 110 01-Jan-2003 01-Jan-2007 0 arithmetic NaN NaN Asian2 6
Из-за факторов пробела, составной опции выше (Index 4
) был сжат, чтобы соответствовать странице. instdisp
команда отображает все составные поля опции на вашем мониторе.
Инструментальный набор содержит восемь инструментов:
Две опции ванили (Call1
, Put1
)
Один барьерный опцион (Barrier1
)
Одна составная опция (Compound1
)
Две lookback опции (Lookback1
, Lookback2
)
Две азиатских опции (Asian1
, Asian2
)
Каждый инструмент имеет соответствующий индекс, который идентифицирует цены на инструменты в ценовом векторе, возвращенном eqpprice
.
Теперь используйте eqpprice
вычислить цену каждого инструмента в инструментальном наборе.
Price = eqpprice(EQPTree, EQPInstSet)
Price = 8.4791 2.6375 12.2632 3.5091 8.7941 12.9577 4.7444 3.9178
Рассмотрите следующий пример, который использует портфель и данные о курсе акций в MAT-файле deriv.mat
включенный в тулбокс. Загрузите данные в рабочее пространство MATLAB.
load deriv.mat
Используйте whos
MATLAB команда, чтобы отобразить список переменных, загруженных из MAT-файла.
Name Size Bytes Class Attributes BDTInstSet 1x1 27344 struct BDTTree 1x1 7322 struct BKInstSet 1x1 27334 struct BKTree 1x1 8532 struct CRRInstSet 1x1 21066 struct CRRTree 1x1 7086 struct EQPInstSet 1x1 21066 struct EQPTree 1x1 7086 struct HJMInstSet 1x1 27336 struct HJMTree 1x1 8334 struct HWInstSet 1x1 27334 struct HWTree 1x1 8532 struct ITTInstSet 1x1 21070 struct ITTTree 1x1 12660 struct STTInstSet 1x1 21070 struct STTTree 1x1 7782 struct ZeroInstSet 1x1 17458 struct ZeroRateSpec 1x1 2152 struct
ITTTree
и ITTInstSet
входные параметры, требуемые вызывать функциональный ittprice
. Используйте команду instdisp
исследовать набор инструментов, содержавшихся в переменной ITTInstSet
.
instdisp(ITTInstSet)
Index Type OptSpec Strike Settle ExerciseDates AmericanOpt Name Quantity 1 OptStock call 95 01-Jan-2006 31-Dec-2008 1 Call1 10 2 OptStock put 80 01-Jan-2006 01-Jan-2010 0 Put1 4 Index Type OptSpec Strike Settle ExerciseDates AmericanOpt BarrierSpec Barrier Rebate Name Quantity 3 Barrier call 85 01-Jan-2006 31-Dec-2008 1 ui 115 0 Barrier1 1 Index Type UOptSpec UStrike USettle UExerciseDates UAmericanOpt COptSpec CStrike CSettle CExerciseDates CAmericanOpt Name Quantity 4 Compound call 99 01-Jan-2006 01-Jan-2010 1 put 5 01-Jan-2006 01-Jan-2010 1 Compound1 3 Index Type OptSpec Strike Settle ExerciseDates AmericanOpt Name Quantity 5 Lookback call 85 01-Jan-2006 01-Jan-2008 0 Lookback1 7 6 Lookback call 85 01-Jan-2006 01-Jan-2010 0 Lookback2 9 Index Type OptSpec Strike Settle ExerciseDates AmericanOpt AvgType AvgPrice AvgDate Name Quantity 7 Asian call 55 01-Jan-2006 01-Jan-2008 0 arithmetic NaN NaN Asian1 5 8 Asian call 55 01-Jan-2006 01-Jan-2010 0 arithmetic NaN NaN Asian2 7
Инструментальный набор содержит восемь инструментов:
Две опции ванили (Call1
, Put1
)
Один барьерный опцион (Barrier1
)
Одна составная опция (Compound1
)
Две lookback опции (Lookback1
, Lookback2
)
Две азиатских опции (Asian1
, Asian2
)
Каждый инструмент имеет соответствующий индекс, который идентифицирует цены на инструменты в ценовом векторе, возвращенном ittprice
.
Теперь используйте ittprice
вычислить цену каждого инструмента в инструментальном наборе.
Price = ittprice(ITTTree, ITTInstSet)
Price = 1.6506 10.6832 2.4074 3.2294 0.5426 6.1845 3.2052 6.6074
Рассмотрите следующий пример, который использует портфель и данные о курсе акций в MAT-файле deriv.mat
включенный в тулбокс. Загрузите данные в рабочее пространство MATLAB.
load deriv.mat
Используйте whos
MATLAB команда, чтобы отобразить список переменных, загруженных из MAT-файла.
Name Size Bytes Class Attributes BDTInstSet 1x1 27344 struct BDTTree 1x1 7322 struct BKInstSet 1x1 27334 struct BKTree 1x1 8532 struct CRRInstSet 1x1 21066 struct CRRTree 1x1 7086 struct EQPInstSet 1x1 21066 struct EQPTree 1x1 7086 struct HJMInstSet 1x1 27336 struct HJMTree 1x1 8334 struct HWInstSet 1x1 27334 struct HWTree 1x1 8532 struct ITTInstSet 1x1 21070 struct ITTTree 1x1 12660 struct STTInstSet 1x1 21070 struct STTTree 1x1 7782 struct ZeroInstSet 1x1 17458 struct ZeroRateSpec 1x1 2152 struct
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
)
Каждый инструмент имеет соответствующий индекс, который идентифицирует цены на инструменты в ценовом векторе, возвращенном sttprice
.
Теперь используйте sttprice
вычислить цену каждого инструмента в инструментальном наборе.
Price = sttprice(STTTree, STTInstSet)
Price = 4.5025 3.0603 3.7977 1.7090 11.7296 12.9120 1.6905 2.6203
Цены в выходном векторе Price
соответствуйте ценам в начальный момент времени наблюдения (tObs = 0
), который задан как дата оценки дерева акции. Инструментальная индексация в Price
совпадает с индексацией в InstSet
.
В примере CRR, ценах в Price
вектор соответствует инструментам в этом порядке.
InstNames = instget(CRRInstSet, 'FieldName','Name')
InstNames = Call1 Put1 Barrier1 Compound1 Lookback1 Lookback2 Asian1 Asian2
Так, в Price
вектор, четвертый элемент, 3.3241
, представляет цену четвертого инструмента (Compound1
), и шестой элемент, 11.7772
, представляет цену шестого инструмента (Lookback2
).
В примере ITT, ценах в Price
вектор соответствует инструментам в этом порядке.
InstNames = instget(ITTInstSet, 'FieldName','Name')
InstNames = Call1 Put1 Barrier1 Compound1 Lookback1 Lookback2 Asian1 Asian2
Так, в Price
вектор, первый элемент, 1.650, представляет цену первого инструмента (Call1
), и восьмые элементы, 6.607, представляют цену восьмого инструмента (Asian2
).
Если вы вызываете функцию оценки с двумя выходными аргументами, например:
[Price, PriceTree] = crrprice(CRRTree, CRRInstSet)
вы генерируете ценовую древовидную структуру наряду с информацией о ценах.
Эта ценовая древовидная структура PriceTree
содержит всю информацию о ценах.
PriceTree = FinObj: 'BinPriceTree' PTree: {[8x1 double] [8x2 double] [8x3 double] [8x4 double] [8x5 double]} tObs: [0 1 2 3 4] dObs: [731582 731947 732313 732678 733043]
Первое поле этой структуры, FinObj
, указывает, что эта структура представляет ценовое дерево. Второе поле, PTree
, дерево, содержащее цены на инструменты в каждом узле дерева. Наконец, третьи и четвертые поля, tObs
и dObs
, представляйте время и дату наблюдения каждого уровня PTree
, с tObs
использование модулей в терминах соединения периодов.
Используя интерфейс командной строки, можно непосредственно исследовать PriceTree.PTree
, поле в PriceTree
структура, которая содержит ценовое дерево с ценовыми векторами в каждом состоянии. Первый узел представляет tObs = 0
, соответствие дате оценки.
PriceTree.PTree{1}
ans = 8.2863 2.5016 12.1272 3.3241 7.6015 11.7772 4.1797 3.4219
С этим интерфейсом можно наблюдать цены на все инструменты в портфеле в определенное время.
Функциональный eqpprice
также возвращает ценовое дерево, которое можно исследовать таким же образом.
Если вы вызываете функцию оценки с двумя выходными аргументами, например:
[Price, PriceTree] = ittprice(ITTTree, ITTInstSet)
вы генерируете ценовую древовидную структуру наряду с информацией о ценах.
Эта ценовая древовидная структура PriceTree
содержит всю информацию о ценах.
PriceTree = FinObj: 'TrinPriceTree' PTree: {[8x1 double] [8x3 double] [8x5 double] [8x7 double] [8x9 double]} tObs: [0 1 2 3 4] dObs: [732678 733043 733408 733773 734139]
Первое поле этой структуры, FinObj
, указывает, что эта структура представляет трехчленное ценовое дерево. Второе поле, PTree
дерево, содержащее цены на инструменты в каждом узле дерева. Наконец, третьи и четвертые поля, tObs
и dObs
, представляйте время и дату наблюдения каждого уровня PTree
, с tObs
использование модулей в терминах соединения периодов.
Используя интерфейс командной строки, можно непосредственно исследовать PriceTree.PTree
, поле в PriceTree
структура, которая содержит ценовое дерево с ценовыми векторами в каждом состоянии. Первый узел представляет tObs = 0
, соответствие дате оценки.
PriceTree.PTree{1}
ans = 1.6506 10.6832 2.4074 3.2294 0.5426 6.1845 3.2052 6.6074
С этим интерфейсом можно наблюдать цены на все инструменты в портфеле в определенное время.
Опции Lookback и азиатские опции зависимы от предшествующего пути развития, и, как таковы, нет никаких уникальных цен ни на какой узел кроме корневого узла. Так, соответствующие значения для lookback и азиатских опций в ценовом дереве установлены к NaN
, единственное исключение, являющееся корневым узлом. Это становится очевидным, если вы исследуете цены во втором узле (tobs = 1
) из ценового дерева CRR:
PriceTree.PTree{2}
ans = 11.9176 0 0.9508 7.1914 16.4600 2.6672 2.5896 5.0000 NaN NaN NaN NaN NaN NaN NaN NaN
Исследование цен во втором узле (tobs = 1
) из ценовых отображений дерева ITT:
PriceTree.PTree{2}
ans = 3.9022 0 0 6.3736 13.3743 22.1915 5.6914 0 0 2.7663 3.8594 5.0000 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
Можно использовать функциональный treeviewer
отобразить графическое представление дерева, позволяя вам исследовать в интерактивном режиме цены и уровни на узлах дерева до зрелости. Графические представления CRR, EQP и деревьев LR эквивалентны деревьям Black-Derman-Toy (BDT), учитывая, что они - все двоичные деревья переобъединения. Графические представления ITT и деревьев STT эквивалентны деревьям Белого как оболочка (HW), учитывая, что они - все деревья переобъединения трехчлена. Смотрите Графическое представление Деревьев для обзора использования treeviewer
с деревьями CRR, деревьями EQP, деревьями LR, деревьями ITT, и деревьями STT и их соответствующими деревьями цены опции. Следуйте инструкциям для деревьев BDT.
asianbycrr
| asianbyeqp
| asianbyitt
| asianbystt
| barrierbycrr
| barrierbyeqp
| barrierbyitt
| barrierbystt
| compoundbycrr
| compoundbyeqp
| compoundbyitt
| compoundbystt
| crrprice
| crrsens
| crrtimespec
| crrtree
| eqpprice
| eqpsens
| eqptimespec
| eqptree
| instasian
| instbarrier
| instcompound
| instlookback
| instoptstock
| ittprice
| ittsens
| itttimespec
| itttree
| lookbackbycrr
| lookbackbyeqp
| lookbackbyitt
| lookbackbystt
| lrtimespec
| lrtree
| optstockbycrr
| optstockbyeqp
| optstockbyitt
| optstockbylr
| optstockbystt
| optstocksensbylr
| stockspec
| sttprice
| sttsens
| treepath
| trintreepath