Функции ценообразования портфеля 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
. См. Building Equity Binary Trees и Building Implied Trinomial Trees, чтобы узнать, как создать эти структуры.
InstSet
- структура, которая представляет набор инструментов, которые будут оцениваться независимо с помощью модели.
Можно ввести третий необязательный аргумент, Options
, используемый при ценообразовании барьерных опций. Для получения дополнительной информации см. раздел Структуру опций ценообразования.
Эти функции калькуляции внутренне классифицируют инструменты и вызывают соответствующую отдельную функцию калькуляции приборов для каждого из типов приборов. Функции ценообразования CRR: asianbycrr
, barrierbycrr
, compoundbycrr
, lookbackbycrr
, и optstockbycrr
. Аналогичный набор функций существует для ценообразования EQP, ITT и STT. Можно также использовать эти функции непосредственно для вычисления цены наборов инструментов того же типа. Для получения дополнительной информации см. страницы с описанием по этим отдельным функциям.
Рассмотрим следующий пример, который использует данные портфеля и цены акций в MAT-файле deriv.mat
включено в тулбокс. Загрузите данные в MATLAB® рабочей области.
load deriv.mat
Используйте MATLAB whos
команда списка переменных, загруженных из 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
)
Две опции поиска (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
Используйте MATLAB whos
команда списка переменных, загруженных из 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
)
Две опции поиска (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
Используйте MATLAB whos
команда списка переменных, загруженных из 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
)
Две опции поиска (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
Используйте MATLAB whos
команда списка переменных, загруженных из 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
)
Две опции поиска (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
), а восьмые элементы представляет собой цену восьмого инструмента (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
С помощью этого интерфейса можно наблюдать цены на все инструменты в портфеле в определенное время.
Опции поиска и азиатские опции зависят от пути, и, как таковые, нет уникальных цен ни для одного узла, кроме корневого. Итак, соответствующие значения для интерполяционных и азиатских опций в дереве цен установлены в 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 эквивалентны деревьям Hull-White (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