Вычислите двойную цену барьерного опциона и чувствительность с помощью метода конечной разности
[PriceSens,PriceGrid,AssetPrices,Times]
= dblbarriersensbyfd(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates,BarrierSpec,Barrier)
[PriceSens,PriceGrid,AssetPrices,Times]
= dblbarriersensbyfd(___,Name,Value)
[
вычисляет европейский или американский вызов или помещенную двойную цену барьерного опциона и чувствительность одного базового актива с помощью метода конечной разности. PriceSens
,PriceGrid
,AssetPrices
,Times
]
= dblbarriersensbyfd(RateSpec
,StockSpec
,OptSpec
,Strike
,Settle
,ExerciseDates
,BarrierSpec
,Barrier
)dblbarrierbyfd
принимает, что барьер постоянно проверяется.
[
задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.PriceSens
,PriceGrid
,AssetPrices
,Times
]
= dblbarriersensbyfd(___,Name,Value
)
Вычислите цену и чувствительность для американского двойного барьерного опциона для двойного нокаута (вниз и и) колл-опцион с уступкой с помощью следующих данных:
Rate = 0.05; Settle = '01-Jun-2018'; Maturity = '01-Dec-2018'; Basis = 1;
Задайте RateSpec
.
RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle, 'EndDates', Maturity,'Rates', Rate, 'Compounding', -1, 'Basis', Basis);
Задайте StockSpec
.
AssetPrice = 100; Volatility = 0.25; StockSpec = stockspec(Volatility, AssetPrice);
Задайте двойной барьерный опцион.
LBarrier = 80; UBarrier = 130; Barrier = [UBarrier LBarrier]; BarrierSpec = 'DKO'; OptSpec = 'Call'; Strike = 110; Rebate = 1; OutSpec = {'price'; 'vega'; 'theta'};
Вычислите цену и чувствительность для американской опции с помощью конечных разностей.
[Price, Vega, Theta] = dblbarriersensbyfd(RateSpec, StockSpec, OptSpec, Strike, Settle, Maturity, BarrierSpec, Barrier,'Rebate', Rebate, 'AmericanOpt', 1,'Outspec', OutSpec)
Price = 4.0002
Vega = -1.9180e+03
Theta = -6.6509
StockSpec
— Спецификация запаса для базового активаСпецификация запаса для базового актива, заданного StockSpec
, получена из stockspec
.
stockspec
обрабатывает несколько типов базовых активов. Например, для физических предметов потребления ценой является StockSpec.Asset
, энергозависимостью является StockSpec.Sigma
, и урожаем удобства является StockSpec.DividendAmounts
.
Типы данных: struct
OptSpec
— Определение опции 'call'
или 'put'
| представляет скаляр в виде строки со значениями "call"
или "put"
Определение опции, заданной как вектор символов со значением 'call'
или 'put'
или скаляра строки со значениями "call"
или "put"
.
Типы данных: char | string
Strike
— Значение цены исполнения опциона опцииЗначение цены исполнения опциона опции, заданное как числовой скаляр.
Типы данных: double
Settle
— Урегулирование или торговая датаУрегулирование или торговая дата барьерного опциона, заданного как последовательный номер даты, вектор символов даты или объект datetime.
Типы данных: double
| char
| datetime
ExerciseDates
— Даты осуществления опцииДаты осуществления опции, заданные как последовательный номер даты, вектор символов даты или объект datetime.
Для европейской опции дата окончания срока действия опции имеет только одно значение ExerciseDates
.
Для американской опции используйте 1
-by-2
вектор контуров даты осуществления. Опция может быть осуществлена в любую дату между или включая пару дат. Если только одна non-NaN
дата перечислена, опция может быть осуществлена между Settle
и одной перечисленной датой в ExerciseDates
.
Типы данных: double
| char
| datetime
BarrierSpec
— Двойной тип барьерного опциона'DKI'
или 'DKO'
| скалярная строка со значением "DKI"
или "DKO"
Двойной тип барьерного опциона, заданный как вектор символов или строка с одним из следующих значений:
'DKI'
— дважды стучит - в
Опция 'DKI'
вступает в силу, когда цена базового актива достигает одного из барьеров. Это дает держателю опции право, но не обязательство купить или продать базовый актив по цене исполнения опциона, если базовый актив идет выше или ниже уровней барьера во время жизни опции.
'DKO'
— Двойной нокаут
Опция 'DKO'
дает держателю опции право, но не обязательство купить или продать базовый актив по цене исполнения опциона, пока базовый актив остается между уровнями барьера во время жизни опции. Эта опция останавливается, когда цена базового актива передает один из барьеров.
Опция | Тип барьера | Выплата, если любой пересеченный барьер | Выплата, если барьеры, не пересеченные |
---|---|---|---|
Вызвать/Поместить | Двойной удар - в | Стандарт вызывает/Помещает | Бесполезный |
Вызвать/Поместить | Двойной нокаут | Бесполезный | Стандарт вызывает/Помещает |
Типы данных: char | string
Barrier
— Уровень барьераУровень барьера, заданный как 1
-by-2
вектор числовых значений, где первый столбец является верхним барьером (1) (UB) и второй столбец, является более низким барьером (2) (LB). Барьер (1) должен быть больше, чем Барьер (2).
Типы данных: double
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
PriceSens = dblbarriersensbyfd(RateSpec,StockSpec,OptSpec,Strike,Settle,Maturity,BarrierSpec,Barrier,'OutSpec',{'delta','gamma','vega','lambda','rho','theta','price'},'AmericanOpt',1)
'OutSpec'
— Define выходные параметры{'Price'}
(значение по умолчанию) | вектор символов со значениями 'Price'
, 'Delta'
, 'Gamma'
, 'Vega'
, 'Lambda'
, 'Rho'
, 'Theta'
и 'All'
| массив ячеек из символьных векторов со значениями 'Price'
, 'Delta'
, 'Gamma'
, 'Vega'
, 'Lambda'
, 'Rho'
, 'Theta'
и 'All'
| массив строк со значениями "Price"
, "Delta"
, "Gamma"
, "Vega"
, "Lambda"
, "Rho"
, "Theta"
и "All"
Задайте выходные параметры, заданные как пара, разделенная запятой, состоящая из 'OutSpec'
и NOUT
- 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
| string
'Rebate'
— Значение уступки[0 0]
для Двойного Нокаута или 0
для Двойного Удара - в (значении по умолчанию) | вектор | числовой скалярЗначение уступки, заданное как пара, разделенная запятой, состоящая из 'Rebate'
и одно из следующего:
Для Двойной опции Нокаута используйте 1
-by-2
вектор значений уступки, где первый столбец является выплатой, если верхний барьер (1) (UB) поражен, и второй столбец является выплатой, если более низкий барьер (2) (LB) поражен. Уступка заплачена, когда барьер достигнут.
Для Двойного Удара - в опции, используйте скалярное значение уступки. Уступка заплачена при истечении.
Типы данных: double
'AssetGridSize'
— Размер сетки актива используется для сетки конечной разности400
(значение по умолчанию) | числовая положительная скалярная величинаРазмер сетки актива используется для сетки конечной разности, заданной как пара, разделенная запятой, состоящая из 'AssetGridSize'
и числовой положительной скалярной величины.
Типы данных: double
'TimeGridSize'
— Размер сетки времени используется для сетки конечной разности100
(значение по умолчанию) | числовая положительная скалярная величинаРазмер сетки времени используется для сетки конечной разности, заданной как пара, разделенная запятой, состоящая из 'TimeGridSize'
и числовой положительной скалярной величины.
Фактическая сетка времени может иметь больший размер, потому что осуществление и без дивиденда даты могут быть добавлены к сетке от StockSpec
.
Типы данных: double
'AmericanOpt'
— Тип опции0
(значение по умолчанию) | целое число со значениями 0
или 1
Тип опции, заданный как пара, разделенная запятой, состоящая из 'AmericanOpt'
и скалярного флага с одним из следующих значений:
0
— Европеец
1
— Американец
Типы данных: логический
PriceSens
— Ожидаемые цены или значения чувствительности для двойных барьерных опционовОжидаемые цены или чувствительность (заданное использование OutSpec
) для двойных барьерных опционов, возвращенных как 1
-by-NOUT
матрица.
PriceGrid
— Сетка, содержащая ценыСетка, содержащая цены, вычисленные методом конечной разности, возвращенным как двумерная сетка с размером AssetGridSize*TimeGridSize
. Количество столбцов не должно быть равно TimeGridSize
, потому что осуществление и без дивиденда даты в StockSpec
добавляются к сетке времени. PriceGrid(:, end)
содержит цену за t = 0
.
\times
Времена соответствуя второму измерению PriceGrid
Времена соответствуя второму измерению PriceGrid
, возвращенного как вектор.
Опция double barrier подобна стандартному одному барьерному опциону за исключением того, что это имеет два уровня барьера: более низкий барьер (LB
) и верхний барьер (UB
).
Выплата для двойного барьерного опциона зависит от того, остается ли базовый актив между уровнями барьера во время жизни опции. Двойные барьерные опционы являются менее дорогими, чем один барьерные опционы, когда у них есть более высокая вероятность нокаута. Из-за этого, двойные барьерные опционы позволяют инвесторам уменьшать опционные премии и совпадать с верой инвестора о будущем перемещении базового ценового процесса.
[1] Бойл, P. и И. Тянь. “Явный Подход Конечной разности к Оценке Барьерных опционов”. Прикладные Математические Финансы. Издание 5, Номер 1, 1998, стр 17–43.
[2] Оболочка, J. Опции, фьючерсы и Другие Производные. Четвертый Выпуск. Верхний Сэддл-Ривер, NJ: Prentice Hall, 2000, стр 646–649.
[3] Рубинштайн, M. и Э. Райнер. “Устраняя Препятствия”. Риск. Издание 4, Номер 8, 1991, стр 28–35.
[4] Zvan, R., П. А. Форсайт и К. Р. Вецэл. “Методы УЧП для Оценки Барьерных опционов”. Журнал Экономической Динамики и Управления. Издание 24, Номер 11-12, 2000, стр 1563–1590.
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.