Ценовые европейские или американские барьерные опции с помощью симуляций Монте-Карло
[
вычисляет цены барьерной опции на один базовый актив с помощью модели Лонгстафа-Шварца. Price
,Paths
,Times
,Z
]
= barrierbyls(RateSpec
,StockSpec
,OptSpec
,Strike
,Settle
,ExerciseDates
,BarrierSpec
,Barrier
)barrierbyls
вычисляет цены европейских и американских барьерных опций.
Для американских опций Longstaff-Schwartz методом наименьших квадратов используется для вычисления премии за ранние упражнения.
Вычислите цену американца вниз в опция с помощью следующих данных:
Rates = 0.0325; Settle = '01-Jan-2016'; Maturity = '01-Jan-2017'; Compounding = -1; Basis = 1;
Задайте RateSpec
.
RateSpec = intenvset('ValuationDate',Settle,'StartDates',Settle,'EndDates',Maturity, ... 'Rates',Rates,'Compounding',Compounding,'Basis',Basis)
RateSpec = struct with fields:
FinObj: 'RateSpec'
Compounding: -1
Disc: 0.9680
Rates: 0.0325
EndTimes: 1
StartTimes: 0
EndDates: 736696
StartDates: 736330
ValuationDate: 736330
Basis: 1
EndMonthRule: 1
Задайте StockSpec
.
AssetPrice = 40; Volatility = 0.20; StockSpec = stockspec(Volatility,AssetPrice)
StockSpec = struct with fields:
FinObj: 'StockSpec'
Sigma: 0.2000
AssetPrice: 40
DividendType: []
DividendAmounts: 0
ExDividendDates: []
Рассчитать цену американского барьера вниз в опции пут.
Strike = 45; OptSpec = 'put'; Barrier = 35; BarrierSpec = 'DI'; AmericanOpt = 1; Price = barrierbyls(RateSpec,StockSpec,OptSpec,Strike,Settle,Maturity,BarrierSpec,... Barrier,'NumTrials',2000,'AmericanOpt',AmericanOpt)
Price = 4.7306
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
вектор контуров дат упражнения. Опция может быть использована в любую дату между или включая пару дат в этой строке. Если только один не - NaN
дата указана, опция может быть реализована между Settle
и одинарная дата, указанная в ExerciseDates
.
Типы данных: double
| char
| cell
BarrierSpec
- Тип варианта барьера'UI'
, 'UO'
, 'DI'
, 'DO'
Тип опции барьера, заданный как вектор символов со следующими значениями:
'UI'
- Нокинг Вверх
Эта опция вступает в силу, когда цена базового актива переходит выше уровня барьера. Это дает держателю опции право, но не обязательство, покупать или продавать (звонить/ставить) базовое обеспечение по цене забастовки, если базовый актив становится выше барьерного уровня в течение срока действия опции.
'UO'
- Нокаут Вверх
Эта опция дает держателю опциона право, но не обязательство, покупать или продавать (звонить/ставить) базовое обеспечение по цене забастовки, пока базовый актив не переходит выше барьерного уровня в течение срока действия опциона. Эта опция прекращается, когда цена базового актива переходит выше уровня барьера. Обычно с опцией «вверх и наружу» скидка выплачивается, если спотовая цена базового объекта достигает или превышает уровень барьера.
'DI'
- Нисходящий ввод
Эта опция вступает в силу, когда цена базового запаса переходит ниже уровня барьера. Он дает держателю опции право, но не обязательство, покупать или продавать (звонить/ставить) базовую гарантию по цене забастовки, если базовая гарантия идет ниже барьерного уровня в течение срока действия опции. С опцией down-and-in скидка выплачивается, если спотовая цена базового компонента не достигает уровня барьера в течение срока действия опции.
'DO'
- Нисходящий нокдаун
Эта опция предоставляет держателю опциона право, но не обязательство, покупать или продавать (звонить/ставить) базовый актив по цене доставки, пока базовый актив не опустится ниже уровня барьера в течение срока действия опциона. Эта опция прекращается, когда цена базового обеспечения переходит ниже уровня барьера. Обычно держатель опции получает сумму скидки, если срок действия опции истекает бесполезно.
Опция | Тип барьера | Окупаемость при пересечении барьера | Окупаемость, если барьер не пересечен |
---|---|---|---|
Вызов/Размещение | Нисходящий выбой | Бесполезный | Стандартный вызов/размещение |
Вызов/Размещение | Нисходящий ввод | Вызов/Размещение | Бесполезный |
Вызов/Размещение | Нокаут Вверх | Бесполезный | Стандартный вызов/размещение |
Вызов/Размещение | Нокин-ин вверх | Стандартный вызов/размещение | Бесполезный |
Типы данных: char
Barrier
- Уровень барьераУровень барьера, заданный в виде скалярного числа.
Типы данных: double
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
Price = barrierbyls(RateSpec,StockSpec,OptSpec,Strike,Settle,Maturity,BarrierSpec,Barrier,Rebate,1000)
'AmericanOpt'
- Тип опции0
(Европейский) (по умолчанию) | значений [0,1]
Тип опции, заданный как разделенная разделенными запятой парами, состоящая из 'AnericanOpt'
и a NINST
-by- 1
положительные целочисленные скалярные флаги со значениями:
0
- Европейский
1
- Американский
Примечание
Для американских опций Longstaff-Schwartz методом наименьших квадратов используется для вычисления премии за ранние упражнения. Для получения дополнительной информации о методе наименьших квадратов смотрите https ://people.math.etz.ch/% 7Ehjfurrer/training/LongstaffSchwartzAmericanOptionsLeastSquareMonteCarlo.pdf.
Типы данных: double
'Rebate'
- значение скидки0
(по умолчанию) | скалярным числомЗначение скидки, заданное как разделенная разделенными запятой парами, состоящая из 'Rebate'
и скалярным числом. Для опций Knock-in, Rebate
выплачивается по истечении срока действия. Для опций Knock-out, Rebate
оплачивается, когда Barrier
достигается.
Типы данных: double
'NumTrials'
- Количество независимых путей расчета 1000
(по умолчанию) | неотрицательное целое числоКоличество независимых путей выборки (испытания симуляции), заданное как разделенная разделенными запятой парами, состоящая из 'NumTrials'
и скаляр неотрицательное целое число.
Типы данных: double
'NumPeriods'
- Количество периодов симуляции в испытании100
(по умолчанию) | неотрицательное целое числоКоличество периодов симуляции в пробной версии, заданное как разделенная разделенными запятой парами, состоящая из 'NumPeriods'
и скаляр неотрицательное целое число.
Типы данных: double
'Z'
- Массив временных рядов зависимых случайных вариацийМассив временных рядов зависимых случайных вариатов, заданный как разделенная разделенными запятой парами, состоящая из 'Z'
и a NumPeriods
-by- 1
-by- NumTrials
3-D массив временных рядов. The Z
значение генерирует вектор движения Brownian (то есть процессы Винера), который управляет симуляцией.
Типы данных: double
'Antithetic'
- Индикатор для антитетического отбора пробfalse
(по умолчанию) | скалярный логический флаг со значением true
или false
Индикатор для антитетической выборки, заданный как разделенная разделенными запятой парами, состоящая из 'Antithetic'
и значение true
или false
.
Типы данных: logical
Price
- Ожидаемые цены на барьерные опцииОжидаемые цены на барьерные опции, возвращенные как NINST
-by- 1
матрица.
Paths
- Моделируемые пути коррелированных переменных состоянияМоделируемые пути коррелированных переменных состояния, возвращенные как NumPeriods + 1
-by- 1
-by- NumTrials
3-D массив временных рядов моделируемых путей коррелированных переменных состояния. Каждая строка Paths
- транспонирование вектора X (t) состояния в момент t для данного исследования.
Times
- Время наблюдения, сопоставленное с моделируемыми путямиВремя наблюдения, сопоставленное с моделируемыми путями, возвращается как NumPeriods + 1
-by- 1
вектор-столбец, сопоставленный с моделируемыми путями. Каждый элемент Times
связана с соответствующей строкой Paths
.
Z
- Массив временных рядов зависимых случайных вариацийМассив временных рядов зависимых случайных вариаций, возвращаемый как NumPeriods
-by- 1
-by- NumTrials
трехмерный массив, когда Z
задается как входной параметр. Если на Z
входной параметр не задан, тогда Z
выходной аргумент содержит случайные изменения, сгенерированные внутри.
Барьерная опция имеет не только цену доставки, но и уровень барьера, а иногда и скидку.
Скидка является фиксированной суммой, которая выплачивается, если опция не может быть реализована, поскольку уровень барьера достигнут или не достигнут. Выплата для этого типа опции зависит от того, пересекает ли базовый актив предопределенное значение триггера (уровень барьера), обозначенное Barrier
, в течение срока действия опции. Для получения дополнительной информации см. Раздел «Опция барьера».
[1] Hull, J. Options, Futures and Other Derivatives. Четвертое издание. Prentice Hall, 2000, с. 646-649.
[2] Aitsahlia, F., L. Imhof, and T.L. Lai. «Ценообразование и хеджирование американских опций». Журнал производных. Том 11.3, 2004, стр. 44-50.
[3] Рубинштейн М. и Э. Райнер. «Разрушение барьеров». Риск. Том 4 (8), 1991, стр. 28-35.
barrierbybls
| barrierbyfd
| barriersensbybls
| barriersensbyfd
| barriersensbyls
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.