Вычислите двойную цену барьерного опциона и чувствительность с помощью метода конечной разности
[
вычисляет европейский или американский вызов или помещенную двойную цену барьерного опциона и чувствительность одного базового актива с помощью метода конечной разности. 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
- 2
вектор контуров даты осуществления. Опция может быть осуществлена в любую дату между или включая пару дат. Если только один non-NaN
дата перечислена, опция может быть осуществлена между Settle
и одна перечисленная дата в ExerciseDates
.
Типы данных: double |
char
| datetime
BarrierSpec
— Двойной тип барьерного опциона'DKI'
или 'DKO'
| скалярная строка со значением "DKI"
или "DKO"
Двойной тип барьерного опциона, заданный как вектор символов или строка с одним из следующих значений:
'DKI'
— Двойной удар - в
'DKI'
опция вступает в силу, когда цена базового актива достигает одного из барьеров. Это дает держателю опции право, но не обязательство купить или продать базовый актив по цене исполнения опциона, если базовый актив идет выше или ниже уровней барьера во время жизни опции.
'DKO'
— Двойной нокаут
'DKO'
опция дает держателю опции право, но не обязательство купить или продать базовый актив по цене исполнения опциона, пока базовый актив остается между уровнями барьера во время жизни опции. Эта опция завершает работу, когда цена базового актива передает один из барьеров.
Опция | Тип барьера | Выплата, если любой пересеченный барьер | Выплата, если барьеры, не пересеченные |
---|---|---|---|
Вызвать/Поместить | Двойной удар - в | Стандарт вызывает/Помещает | Бесполезный |
Вызвать/Поместить | Двойной нокаут | Бесполезный | Стандарт вызывает/Помещает |
Типы данных: char |
string
Barrier
— Уровень барьераУровень барьера, заданный как 1
- 2
вектор числовых значений, где первый столбец является верхним барьером (1) (UB) и второй столбец, является более низким барьером (2) (LB). Барьер (1) должен быть больше Барьера (2).
Типы данных: double
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. 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'
— Задайте выходные параметры{'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
- 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
для Двойного Удара - в (значении по умолчанию) | вектор | числовой скалярЗначение уступки, заданное как разделенная запятой пара, состоящая из 'Rebate'
и одно из следующего:
Для Двойной опции Нокаута используйте 1
- 2
вектор значений уступки, где первый столбец является выплатой, если верхний барьер (1) (UB) поражен и второй столбец, является выплатой, если более низкий барьер (2) (LB) поражен. Уступка заплачена, когда барьер достигнут.
Для Двойного Удара - в опции, используйте скалярное значение уступки. Уступка заплачена при истечении.
Типы данных: double
'AssetGridSize'
— Размер сетки актива используется в сетке конечной разности
(значение по умолчанию) | числовая положительная скалярная величинаРазмер сетки актива используется в сетке конечной разности, заданной как разделенная запятой пара, состоящая из 'AssetGridSize'
и числовая положительная скалярная величина.
Типы данных: double
'TimeGridSize'
— Размер сетки времени используется в сетке конечной разности
(значение по умолчанию) | числовая положительная скалярная величинаРазмер сетки времени используется в сетке конечной разности, заданной как разделенная запятой пара, состоящая из 'TimeGridSize'
и числовая положительная скалярная величина.
Фактическая сетка времени может иметь больший размер, потому что осуществление и без дивиденда даты могут быть добавлены к сетке от StockSpec
.
Типы данных: double
'AmericanOpt'
— Тип опции
Европейское (значение по умолчанию) | целое число со значениями 0
или 1
Тип опции, заданный как разделенная запятой пара, состоящая из 'AmericanOpt'
и скалярный флаг с одним из следующих значений:
0 — Европеец
1 — Американец
Типы данных: логический
PriceSens
— Ожидаемые цены или значения чувствительности для двойных барьерных опционовОжидаемые цены или чувствительность (заданное использование OutSpec
) для двойных барьерных опционов, возвращенных как 1
- 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.