Чувствительность прибора и цены с помощью стандартного триномиального дерева
stttree
Набор приборовЗагрузите данные в рабочую область MATLAB ® .
load deriv.mat
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
)
Использование sttsens
вычислить цену и чувствительность для каждого инструмента в наборе приборов.
[Delta,Gamma,Vega,Price] = sttsens(STTTree, STTInstSet)
Delta = 8×1
0.5267
-0.0943
0.4726
-0.0624
0.2313
0.3266
0.5706
0.6646
Gamma = 8×1
105 ×
0.0000
0.0000
0.0000
0.0000
-1.8650
-1.9119
1.8650
1.9119
Vega = 8×1
52.8980
42.4369
25.9792
-9.5266
70.3758
92.9226
25.8122
37.8757
Price = 8×1
4.5025
3.0603
3.7977
1.7090
11.7296
12.9120
1.6905
2.6203
Создайте RateSpec
.
StartDates = 'Jan-1-2015'; EndDates = 'Jan-1-2020'; Rates = 0.025; Basis = 1; RateSpec = intenvset('ValuationDate',StartDates,'StartDates',StartDates,... 'EndDates',EndDates,'Rates',Rates,'Compounding',-1,'Basis',Basis)
RateSpec = struct with fields:
FinObj: 'RateSpec'
Compounding: -1
Disc: 0.8825
Rates: 0.0250
EndTimes: 5
StartTimes: 0
EndDates: 737791
StartDates: 735965
ValuationDate: 735965
Basis: 1
EndMonthRule: 1
Создайте StockSpec
.
AssetPrice = 80; Sigma = 0.12; StockSpec = stockspec(Sigma,AssetPrice)
StockSpec = struct with fields:
FinObj: 'StockSpec'
Sigma: 0.1200
AssetPrice: 80
DividendType: []
DividendAmounts: 0
ExDividendDates: []
Создайте STTTree
.
TimeSpec = stttimespec(StartDates, EndDates, 20); STTTree = stttree(StockSpec, RateSpec, TimeSpec)
STTTree = struct with fields:
FinObj: 'STStockTree'
StockSpec: [1x1 struct]
TimeSpec: [1x1 struct]
RateSpec: [1x1 struct]
tObs: [1x21 double]
dObs: [1x21 double]
STree: {1x21 cell}
Probs: {1x20 cell}
Определите конвертируемую связь. Конвертируемая облигация может быть названа начиная с 1 января 2016 года со страйк-ценой 95.
CouponRate = 0.03; Settle = 'Jan-1-2015'; Maturity = 'April-1-2018'; Period = 1; CallStrike = 95; CallExDates = [datenum('Jan-1-2016') datenum('April-1-2018')]; ConvRatio = 1; Spread = 0.025;
Оцените конвертируемую связь с помощью стандартной модели триномиального дерева.
[Price,PriceTree,EqtTre,DbtTree] = cbondbystt(STTTree,CouponRate,Settle,Maturity,ConvRatio,... 'Period',Period,'Spread',Spread,'CallExDates',CallExDates,'CallStrike',CallStrike,'AmericanCall', 1)
Price = 90.2511
PriceTree = struct with fields:
FinObj: 'TrinPriceTree'
PTree: {1x21 cell}
tObs: [1x21 double]
dObs: [1x21 double]
EqtTre = struct with fields:
FinObj: 'TrinPriceTree'
PTree: {1x21 cell}
tObs: [1x21 double]
dObs: [1x21 double]
DbtTree = struct with fields:
FinObj: 'TrinPriceTree'
PTree: {1x21 cell}
tObs: [1x21 double]
dObs: [1x21 double]
Вычислите дельту и гамму конвертируемой связи.
InstSet= instcbond(CouponRate,Settle,Maturity,ConvRatio,'Spread',Spread,... 'CallExDates',CallExDates,'CallStrike',CallStrike,'AmericanCall',1); [Delta,Gamma] = sttsens(STTTree,InstSet)
Delta = 0.3945
Gamma = 0.0324
STTTree
- Древовидная структура для стандартного триномиального дереваСтруктура дерева запасов для стандартного триномиального дерева, заданная при помощи stttree
.
Типы данных: struct
InstSet
- Переменная, содержащая инструменты набораПеременная, содержащая набор NINST
инструменты, заданные как структура. Инструменты разбиваются по типам, и каждый тип может иметь различные поля данных.
Типы данных: struct
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
[Delta,Gamma,Vega,Price] = sttsens(STTTree,InstSet,'Options',deriv)
'Options'
- Опции ценообразования производных инструментовПроизводные опции ценообразования, заданные как разделенная разделенными запятой парами, состоящая из 'Options'
и структуру, которая создается с derivset
.
Типы данных: struct
Delta
- Скорость изменения цен на инструменты в отношении изменения цены акцийСкорость изменения цен на инструменты в отношении изменений в цене акций, возвращенных как NINST
-by- 1
вектор дельт. Для получения дополнительной информации о дереве запасов см. stttree
.
Gamma
- Скорость изменения дельты инструмента относительно изменения цены акцийСкорость изменения дельты инструмента относительно изменения цены акции, возвращенной как NINST
-by- 1
вектор гамм.
Vega
- Скорость изменения цен на инструменты в отношении изменения волатильности цены акцийСкорость изменения цен на инструменты в отношении изменения волатильности цены акции, возвращенной как NINST
-by- 1
вектор вегаса. Для получения дополнительной информации о дереве запасов см. stttree
.
Price
- Ожидаемые цены для каждого инструмента в то время 0
Ожидаемые цены для каждого инструмента в то время 0
, возвращается как NINST
-by- 1
вектор. Цены вычисляются путем обратного динамического программирования на стандартном триномиальном (STT) дереве запасов. Если инструмент не может быть оценен, NaN
возвращается в эту запись.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.