Вычислите цены опций ванили или чувствительности с помощью метода конечных различий
[
вычисляет цены опций ванили или чувствительности с помощью метода конечного различия. PriceSens
,PriceGrid
,AssetPrices
,Times
]
= optstocksensbyfd(RateSpec
,StockSpec
,OptSpec
,Strike
,Settle
,ExerciseDates
)
[
добавляет необязательные аргументы пары "имя-значение". PriceSens
,PriceGrid
,AssetPrices
,Times
]
= optstocksensbyfd(___,Name,Value
)
Создайте RateSpec
.
AssetPrice = 50; Strike = 45; Rate = 0.035; Volatility = 0.30; Settle = '01-Jan-2015'; Maturity = '01-Jan-2016'; Basis = 1; RateSpec = intenvset('ValuationDate',Settle,'StartDates',Settle,'EndDates',... Maturity,'Rates',Rate,'Compounding',-1,'Basis',Basis)
RateSpec = struct with fields:
FinObj: 'RateSpec'
Compounding: -1
Disc: 0.9656
Rates: 0.0350
EndTimes: 1
StartTimes: 0
EndDates: 736330
StartDates: 735965
ValuationDate: 735965
Basis: 1
EndMonthRule: 1
Создайте StockSpec
.
StockSpec = stockspec(Volatility,AssetPrice)
StockSpec = struct with fields:
FinObj: 'StockSpec'
Sigma: 0.3000
AssetPrice: 50
DividendType: []
DividendAmounts: 0
ExDividendDates: []
Вычислите цену и чувствительность для европейской опции вызова ванили с помощью метода конечного различия.
ExerciseDates = 'may-1-2015'; OptSpec = 'Call'; OutSpec = {'price'; 'delta'; 'theta'}; [PriceSens, Delta, Theta] = optstocksensbyfd(RateSpec,StockSpec,OptSpec,Strike,Settle,... ExerciseDates,'OutSpec',OutSpec)
PriceSens = 6.7352
Delta = 0.7765
Theta = -4.9999
StockSpec
- Спецификация запаса для базового активаСпецификация запаса для базового актива. Для получения информации о спецификации запаса см. stockspec
.
stockspec
обрабатывает несколько типов базовых ресурсов. Для примера, для физических товаров цена StockSpec.Asset
, волатильность StockSpec.Sigma
, и удобное выражение StockSpec.DividendAmounts
.
Типы данных: struct
OptSpec
- Определение опции 'call'
или 'put'
| строковые массивы со значениями 'call'
или 'put'
Определение опции как 'call'
или 'put'
, заданный как вектор символов или строковые массивы со значениями 'call'
или 'put'
.
Типы данных: char
| string
Strike
- значение цены опционной доставкиЗначение цены доставки опции, заданное как неотрицательный скаляр или вектор.
Для европейской опции используйте скаляр цены доставки.
Для опции Бермудских островов используйте 1
-by- NSTRIKES
вектор страйк-цен.
Для американской опции используйте скаляр цены доставки.
Типы данных: single
| double
Settle
- Дата расчета или сделкиДата расчета или сделки для барьерной опции, заданная как серийный номер даты, вектор символов даты или объект datetime.
Типы данных: double
| char
| datetime
ExerciseDates
- Даты опционных упражненийДаты упражнения опции, заданные как неотрицательное скалярное целое число, вектор символов даты или объект datetime:
Для европейской опции используйте 1
-by- 1
вектор дат, заданный как неотрицательное скалярное целое число, вектор символов даты или объект datetime. Для опции Бермудских островов используйте 1
-by- NSTRIKES
вектор дат, заданный как неотрицательное скалярное целое число, вектор символов даты или объект datetime.
Для американской опции используйте 1
-by- 2
массив ячеек из векторов символов даты. Опция может быть использована в любую дату между или включая пару дат в этой строке. Если только один не - NaN
указана дата, или если ExerciseDates
является 1
-by- 1
вектор последовательных номеров дат или массив ячеек из векторов символов дат, опция может быть реализована между Settle
и одинарная дата, указанная в ExerciseDates
.
Типы данных: double
| char
| cell
| datetime
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
PriceSens = optstocksensbyfd(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates,'OutSpec',{'All'},'AssetGridSize',1000)
'OutSpec'
- Определить выходы{'Price'}
(по умолчанию) | символьный вектор со значениями 'Price'
, 'Delta'
, 'Gamma'
, 'Vega'
, 'Lambda'
, 'Rho'
, 'Theta'
, и 'All'
| массив ячеек векторов символов со значениями 'Price'
, 'Delta'
, 'Gamma'
, 'Vega'
, 'Lambda'
, 'Rho'
, 'Theta'
, и 'All'
Задайте выходы, заданные как разделенная разделенными запятой парами, состоящая из 'OutSpec'
и a NOUT
- by- 1
или 1
-by- NOUT
массив ячеек из векторов символов с возможными значениями 'Price'
, 'Delta'
, 'Gamma'
, 'Vega'
, 'Lambda'
, 'Rho'
, 'Theta'
, и 'All'
.
OutSpec = {'All'}
указывает, что выход Delta
, Gamma
, Vega
, Lambda
, Rho
, Theta
, и Price
, в таком порядке. Это то же самое, что и установка OutSpec
включать каждую чувствительность.
Пример: OutSpec = {'delta','gamma','vega','lambda','rho','theta','price'}
Типы данных: char
| cell
'AssetGridSize'
- Размер сетки активов, используемый для сетки конечных различий400
(по умолчанию) | положительная скалярная величинаРазмер сетки активов, используемой для сетки конечных различий, задается как разделенная разделенными запятой парами, состоящая из 'AssetGridSize'
и положительная скалярная величина.
Типы данных: double
'AssetPriceMax'
- Максимальная цена для контура сетки ценStockSpec
значения вычисляются с помощью распределений активов на сроке (по умолчанию) | положительной скалярной величинеМаксимальная цена для контура сетки цен, заданная как разделенная разделенными запятой парами, состоящая из 'AssetPriceMax'
и положительная скалярная величина.
Типы данных: single
| double
'TimeGridSize'
- Размер временной сетки, используемой для конечной разностной сетки100
(по умолчанию) | положительная скалярная величинаРазмер временной сетки, используемой для сетки с конечным различием, задается как разделенная разделенными запятой парами, состоящая из 'TimeGridSize'
и положительная скалярная величина.
Типы данных: double
'AmericanOpt'
- Тип опции0
(Европейский/Бермудские острова) (по умолчанию) | скаляром со значениями [0,1]
Тип опции, заданный как разделенная разделенными запятой парами, состоящая из 'AmericanOpt'
и NINST
-by- 1
положительные целочисленные скалярные флаги со значениями:
0
- Европейский/Бермудские острова
1
- Американский
Типы данных: double
PriceSens
- Ожидаемые цены или чувствительность для опций ванилиОжидаемая цена или чувствительность (определяется OutSpec
) ванильной опцией, возвращенной как 1
-by- 1
массив.
PriceGrid
- Сетка, содержащая цены, рассчитанные методом конечных различийСетка, содержащая цены, рассчитанные методом конечного различия, возвращается как двумерная сетка с размером PriceGridSize*length(Times)
. Количество столбцов не должно равняться TimeGridSize
, потому что бывшие даты дивидендов в StockSpec
добавляются к временной сетке. Цена за t = 0
содержится в PriceGrid(:, end)
.
Times
- Время, соответствующее второму измерению PriceGrid
Время, соответствующее второму измерению PriceGrid
, возвращается как вектор.
A vanilla option - это категория опций, которая включает только самые стандартные компоненты.
Ванильная опция имеет срок годности и прямолинейную цену доставки. Опции в американском стиле и опции в европейском стиле классифицируются как опции ванили.
Выплата для ванильной опции следующая:
Для вызова:
Для размещения:
где:
St - цена базового актива на t времени.
K - цена доставки.
Для получения дополнительной информации смотрите Опцию Vanilla.
[1] Хауг, Э. Г., Дж. Хауг и А. Льюис. «Назад к основам: новый подход к дискретной дивидендной проблеме». Том 9, журнал Wilmott, 2003, стр. 37-47.
[2] Wu, L. and Y. K. Kwok. Метод фиксирования конечного различия для оценки американских опций. Журнал финансового инжиниринга. Том 6.4, 1997, стр. 83-97.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.