Вычислите цены опции ванили или чувствительность с помощью метода конечной разности
[
вычисляет цены опции ванили или чувствительность с помощью метода конечной разности. 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
- NSTRIKES
вектор цен исполнения опциона.
Для американской опции используйте скаляр цены исполнения опциона.
Типы данных: single
| double
Settle
— Урегулирование или торговая датаУрегулирование или торговая дата барьерного опциона в виде последовательного номера даты, вектора символов даты или объекта datetime.
Типы данных: double |
char
| datetime
ExerciseDates
— Даты осуществления опцииДаты осуществления опции в виде неотрицательного скалярного целого числа, вектора символов даты или объекта datetime:
Для европейской опции используйте 1
- 1
вектор дат в виде неотрицательного скалярного целого числа, вектора символов даты или объекта datetime. Для опции Бермуд используйте 1
- NSTRIKES
вектор дат в виде неотрицательного скалярного целого числа, вектора символов даты или объекта datetime.
Для американской опции используйте 1
- 2
массив ячеек векторов символов даты. Опция может быть осуществлена в любую дату между или включая пару дат на той строке. Если только один non-NaN
дата перечислена, или если ExerciseDates
1
- 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'
и NOUT
- 1
или 1
- 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'
— Размер сетки актива используется в сетке конечной разности
(значение по умолчанию) | положительная скалярная величинаРазмер сетки актива, используемой в сетке конечной разности в виде разделенной запятой пары, состоящей из 'AssetGridSize'
и положительная скалярная величина.
Типы данных: double
'AssetPriceMax'
— Максимальная цена за ценовой контур сеткиStockSpec
значения вычисляются с помощью распределений актива в зрелости (значение по умолчанию) | положительная скалярная величинаМаксимальная цена за ценовой контур сетки в виде разделенной запятой пары, состоящей из 'AssetPriceMax'
и положительная скалярная величина.
Типы данных: single
| double
'TimeGridSize'
— Размер сетки времени используется в сетке конечной разности
(значение по умолчанию) | положительная скалярная величинаРазмер сетки времени, используемой в сетке конечной разности в виде разделенной запятой пары, состоящей из 'TimeGridSize'
и положительная скалярная величина.
Типы данных: double
'AmericanOpt'
— Тип опции
(Европеец/Бермуды) (значение по умолчанию) | скаляр со значениями [0,1]
Тип опции в виде разделенной запятой пары, состоящей из 'AmericanOpt'
и NINST
- 1
положительный целочисленный скаляр отмечает с помощью значений:
0 — Европеец/Бермуды
1 — Американец
Типы данных: double
PriceSens
— Ожидаемые цены или чувствительность для опций ванилиОжидаемая цена или чувствительность (заданный OutSpec
) из опции ванили, возвращенной как 1
- 1
массив.
PriceGrid
— Сетка, содержащая цены, вычисленные методом конечной разностиСетка, содержащая цены, вычисленные методом конечной разности, возвращенным как двумерная сетка с размером PriceGridSize*length(Times)
. Количество столбцов не должно быть равно TimeGridSize
, потому что без дивиденда даты в StockSpec
добавляются к сетке времени. Цена за t = 0
содержится в PriceGrid(:, end)
.
Times
— Времена соответствуя второму измерению PriceGrid
Времена соответствуя второму измерению PriceGrid
, возвращенный как вектор.
vanilla option является категорией опций, которая включает только самые стандартные компоненты.
Опция ванили имеет дату истечения срока и прямую цену исполнения опциона. Американские параметры стиля и европейские параметры стиля оба категоризированы как опции ванили.
Выплата для опции ванили следующие:
Для вызова:
Для помещенного:
где:
St является ценой базового актива во время t.
K является ценой исполнения опциона.
Для получения дополнительной информации см. Опцию Ванили.
[1] Хог, Например, Дж. Хог и А. Льюис. "Назад к основам: новый подход к дискретной проблеме дивиденда". Издание 9, журнал Wilmott, 2003, стр 37–47.
[2] Ву, L. и И. К. Квок. "Фиксирующий переднюю сторону метод конечной разности для оценки американских опций". Журнал Финансовой Разработки. Издание 6.4, 1997, стр 83–97.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.