Портфель, оценивая функции 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