Ценовые опции ванили на запасах с помощью стандартного трехчленного дерева
[Price,PriceTree]
= optstockbystt(STTTree,OptSpec,Strike,Settle,ExerciseDates)
[Price,PriceTree]
= optstockbystt(___,Name,Value)
[
добавляют дополнительные аргументы пары "имя-значение".Price
,PriceTree
]
= optstockbystt(___,Name,Value
)
Создайте RateSpec
.
StartDates = 'Jan-1-2009'; EndDates = 'Jan-1-2013'; Rates = 0.035; Basis = 1; Compounding = -1; RateSpec = intenvset('ValuationDate', StartDates, 'StartDates', StartDates,... 'EndDates', EndDates, 'Rates', Rates,'Compounding', Compounding, 'Basis', Basis)
RateSpec = struct with fields:
FinObj: 'RateSpec'
Compounding: -1
Disc: 0.8694
Rates: 0.0350
EndTimes: 4
StartTimes: 0
EndDates: 735235
StartDates: 733774
ValuationDate: 733774
Basis: 1
EndMonthRule: 1
Создайте StockSpec
.
AssetPrice = 85; Sigma = 0.15; StockSpec = stockspec(Sigma, AssetPrice)
StockSpec = struct with fields:
FinObj: 'StockSpec'
Sigma: 0.1500
AssetPrice: 85
DividendType: []
DividendAmounts: 0
ExDividendDates: []
Создайте STTTree
.
NumPeriods = 4; TimeSpec = stttimespec(StartDates, EndDates, 4); STTTree = stttree(StockSpec, RateSpec, TimeSpec)
STTTree = struct with fields:
FinObj: 'STStockTree'
StockSpec: [1x1 struct]
TimeSpec: [1x1 struct]
RateSpec: [1x1 struct]
tObs: [0 1 2 3 4]
dObs: [733774 734139 734504 734869 735235]
STree: {1x5 cell}
Probs: {[3x1 double] [3x3 double] [3x5 double] [3x7 double]}
Задайте колл-опционы и пут-опционы и вычислите цену.
Settle = '1/1/09'; ExerciseDates = [datenum('1/1/11');datenum('1/1/12')]; OptSpec = {'call';'put'}; Strike =[100;80]; Price = optstockbystt(STTTree, OptSpec, Strike, Settle, ExerciseDates)
Price = 2×1
4.5025
3.0603
STTTree
— Древовидная структура запаса для стандартного трехчленного дереваДревовидная структура запаса для стандартного трехчленного дерева, заданного при помощи stttree
.
Типы данных: struct
OptSpec
— Определение опции 'call'
или 'put'
| массив ячеек из символьных векторов со значениями 'call'
или 'put'
Определение опции, заданной как 'call'
или 'put'
с помощью вектора символов.
Типы данных: char | cell
Strike
— Значения цены исполнения опциона опцииЗначение цены исполнения опциона опции, заданное с NINST
-by-1
или NINST
-by-NSTRIKES
в зависимости от типа опции:
Для европейской опции используйте NINST
-by-1
вектор цен исполнения опциона.
Для опции Бермуд используйте матрицу aNINST-by-
NSTRIKES
цен исполнения опциона. Каждая строка является расписанием для одной опции. Если опция имеет меньше, чем возможности осуществления NSTRIKES
, конец строки дополнен NaN
s.
Для американской опции используйте NINST
-by-1
цен исполнения опциона.
Типы данных: double
Settle
— Расчетный день или торговая датаРасчетный день или торговая дата опции ванили, заданной как NINST
-by-1
вектор векторов символов даты или последовательных чисел даты.
Дата Settle
каждой опции ванили назначена к ValuationDate
дерева запаса. Аргумент Settle
опции ванили проигнорирован.
Типы данных: char
| double
ExerciseDates
— Даты осуществления опцииДаты осуществления опции, заданные как NINST
-by-1
, NINST
-by-2
или NINST
-by-NSTRIKES
последовательные числа даты или векторы символов даты, в зависимости от типа опции:
Для европейской опции используйте NINST
-by-1
вектор дат. Каждая строка является расписанием для одной опции. Для европейской опции на дате окончания срока действия опции существует только один ExerciseDates
.
Для опции Бермуд используйте NINST
-by-NSTRIKES
вектор дат. Каждая строка является расписанием для одной опции.
Для американской опции используйте NINST
-by-2
вектор контуров даты осуществления. Опция может быть осуществлена в любую дату между или включая пару дат на той строке. Если только одна non-NaN
дата перечислена, или если ExerciseDates
является NINST
-by-1
вектор, опция может быть осуществлена между ValuationDate
дерева запаса и одним перечисленным ExerciseDates
.
Типы данных: double
| char
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
Price = optstockbystt(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates,'AmericanOpt','1')
'AmericanOpt'
— Тип опции0
или Бермуды (значение по умолчанию) | целое число со значениями 0
или 1
Тип опции, заданный как пара, разделенная запятой, состоящая из 'AmericanOpt'
и NINST
-by-1
вектор целочисленных флагов со значениями:
0
— Европеец или Бермуды
1
— Американец
Типы данных: single | double
Price
— Ожидаемая цена опции ванили во время 0
Ожидаемая цена опции ванили во время 0
, возвращенный как NINST
-by-1
вектор.
PriceTree
— Структура, содержащая деревья векторов цен на инструменты и начисленных процентов для каждого узлаСтруктура, содержащая деревья векторов цен на инструменты и начисленных процентов, и вектора времен наблюдения для каждого узла. Значения:
PriceTree.PTree
содержит чистые цены.
PriceTree.tObs
содержит времена наблюдения.
PriceTree.dObs
содержит даты наблюдения.
instoptstock
| sttprice
| sttsens
| stttimespec
| stttree
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.