Инструментальная чувствительность и цены с помощью стандартного трехчленного дерева
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
)
Две lookback опции (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
- 1
вектор дельт. Для получения дополнительной информации о дереве запаса смотрите stttree
.
Gamma
— Скорость изменения инструментальных дельт относительно изменений в курсе акцийСкорость изменения инструментальных дельт относительно изменений в курсе акций, возвращенном как NINST
- 1
вектор гамм.
Vega
— Скорость изменения цен на инструменты относительно изменений в энергозависимости курса акцийСкорость изменения цен на инструменты относительно изменений в энергозависимости курса акций, возвращенного как NINST
- 1
вектор Лас-Вегаса. Для получения дополнительной информации о дереве запаса смотрите stttree
.
Price
— Ожидаемые цены на каждый инструмент во время 0
Ожидаемые цены на каждый инструмент во время 0
, возвращенный как NINST
- 1
вектор. Цены вычисляются обратным динамическим программированием на стандартном трехчлене (STT) дерево запаса. Если инструмент не может быть оценен, NaN
возвращен в той записи.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.