Вычислите цены барьерного опциона или чувствительность с помощью метода конечной разности
[PriceSens,PriceGrid,AssetPrices,Times]
= barriersensbyfd(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates,BarrierSpec,Barrier)
[PriceSens,PriceGrid,AssetPrices,Times]
= barriersensbyfd(___,Name,Value)
[
вычисляет европейские и американские цены барьерного опциона или чувствительность одного базового актива с помощью метода конечной разности. PriceSens
,PriceGrid
,AssetPrices
,Times
]
= barriersensbyfd(RateSpec
,StockSpec
,OptSpec
,Strike
,Settle
,ExerciseDates
,BarrierSpec
,Barrier
)barrierbyfd
принимает, что барьер постоянно проверяется.
[
добавляют дополнительные аргументы пары "имя-значение". PriceSens
,PriceGrid
,AssetPrices
,Times
]
= barriersensbyfd(___,Name,Value
)barriersesbyfd
принимает, что барьер постоянно проверяется.
Создайте 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: []
Вычислите Price
, Delta
и Theta
европейца Вниз и колл-опциона с помощью метода конечной разности.
Barrier = 40; BarrierSpec = 'DO'; OptSpec = 'Call'; OutSpec = {'price';'delta';'theta'}; [Price, Delta, Theta] = barriersensbyfd(RateSpec,StockSpec,OptSpec,Strike,Settle,... Maturity, BarrierSpec,Barrier,'Outspec',OutSpec)
Price = 8.5020
Delta = 0.8569
Theta = -1.8502
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
— Тип барьерного опциона'UI'
, 'UO'
, 'DI'
, 'DO'
Тип барьерного опциона, заданный как вектор символов со следующими значениями:
'UI'
— стучит - в
Эта опция вступает в силу, когда цена базового актива передает выше уровня барьера. Это дает держателю опции, право, но не обязательство, чтобы купить или продать (вызывает/помещает) базовый актив по цене исполнения опциона, если базовый актив выходит за предел уровня барьера во время жизни опции. Примечание, barrierbyfd
не поддерживает американский удар - в барьерных опционах.
'UO'
— Нокаут
Эта опция дает держателю опции, право, но не обязательство, чтобы купить или продать (вызывает/помещает) базовый актив по цене исполнения опциона, пока базовый актив не выходит за предел уровня барьера во время жизни опции. Эта опция останавливается, когда цена базового актива передает выше уровня барьера. Обычно, с-и опцией, уступка заплачена, если спотовая цена базовых пределов или превышает уровень барьера.
'DI'
— вниз стучит - в
Эта опция вступает в силу, когда цена базового запаса передает ниже уровня барьера. Это дает держателю опции, право, но не обязательство, чтобы купить или продать (вызывает/помещает) базовый актив по цене исполнения опциона, если базовый актив понижается уровень барьера во время жизни опции. С down-in опцией заплачена уступка, если спотовая цена базового не достигает уровня барьера во время жизни опции. Примечание, barrierbyfd
не поддерживает американский удар - в барьерных опционах.
'DO'
— Вниз удар
Эта опция дает держателю опции, право, но не обязательство, чтобы купить или продать (вызывает/помещает) базовый актив по цене исполнения опциона, пока базовый актив не понижается уровень барьера во время жизни опции. Эта опция останавливается, когда цена базового актива передает ниже уровня барьера. Обычно держатель опции получает сумму уступки, если опция истекает бесполезная.
Опция | Тип барьера | Выплата, если Пересеченный Барьер | Выплата, если Барьер, не Пересеченный |
---|---|---|---|
Вызвать/Поместить | Вниз нокаут | Бесполезный | Стандарт вызывает/Помещает |
Вызвать/Поместить | Вниз удар - в | Вызвать/Поместить | Бесполезный |
Вызвать/Поместить | Нокаут | Бесполезный | Стандарт вызывает/Помещает |
Вызвать/Поместить | Удар - в | Стандарт вызывает/Помещает | Бесполезный |
Типы данных: char
Barrier
— Уровень барьераУровень барьера, заданный как числовой скаляр.
Типы данных: double
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
PriceSens = barriersensbyfd(RateSpec,StockSpec,OptSpec,Strike,Settle,Maturity,BarrierSpec,Barrier,Rebate,1000,AmericanOpt,1)
'Rebate'
— Значение уступки0
(значение по умолчанию) | числовойЗначение уступки, заданное как пара, разделенная запятой, состоящая из 'Rebate'
и числового скаляра. Для Удара - в опциях, Rebate
заплачен при истечении. Для опций Knock-out
заплачен Rebate
, когда Barrier
достигнут.
Типы данных: double
'OutSpec'
— Define выходные параметры{'Price'}
(значение по умолчанию) | вектор символов со значениями '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
'AssetGridSize'
— Размер сетки актива используется для сетки конечной разности400
(значение по умолчанию) | положительный числовойРазмер сетки актива используется для сетки конечной разности, заданной как пара, разделенная запятой, состоящая из 'AssetGridSize'
и скаляра, положительного числовой.
Типы данных: double
'TimeGridSize'
— Размер сетки времени используется для сетки конечной разности100
(значение по умолчанию) | положительный числовойРазмер сетки времени используется для сетки конечной разности, заданной как пара, разделенная запятой, состоящая из 'TimeGridSize'
и скаляра, положительного числовой.
Типы данных: double
'AmericanOpt'
— Тип опции0
(значение по умолчанию) | целое число со значениями 0
или 1
Тип опции, заданный как пара, разделенная запятой, состоящая из 'AmericanOpt'
и скалярного флага с одним из следующих значений:
0
— Европеец
1
— Американец
Типы данных: логический
PriceSens
— Ожидаемые цены или значения чувствительности для барьерных опционовОжидаемые цены или чувствительность (заданное использование OutSpec
) для барьерных опционов, возвращенных как NINST
-by-1
матрица.
PriceGrid
— Сетка, содержащая цены, вычисленные методом конечной разностиСетка, содержащая цены, вычисленные методом конечной разности, возвращенным как двумерная сетка с размером PriceGridSize*length(Times)
. Количество столбцов не должно быть равно TimeGridSize
, потому что без дивиденда даты в StockSpec
добавляются к сетке времени. Цена за t = 0
содержится в PriceGrid(:, end)
.
\times
Времена соответствуя второму измерению PriceGrid
Времена соответствуя второму измерению PriceGrid
, возвращенного как вектор.
Барьерный опцион не имеет только цены исполнения опциона, но также и уровня барьера и иногда уступки.
Уступка является установленной суммой, которая заплачена, если опция не может быть осуществлена, потому что уровень барьера был достигнут или не достигнут. Выплата для этого типа опции зависит от того, пересекает ли базовый актив предопределенное триггерное значение (уровень барьера), обозначенный Barrier
, во время жизни опции.
[1] Оболочка, J. Опции, фьючерсы и Другие Производные. Четвертый Выпуск. Prentice Hall, 2000, стр 646–649.
[2] Aitsahlia, F., Л. Имхоф и Т.Л. Лай. “Оценивая и страхуясь американского удара - в опциях”. Журнал Производных. Издание 11.3, 2004, стр 44–50.
[3] Рубинштайн М. и Э. Райнер. “Устраняя препятствия”. Риск. Издание 4 (8), 1991, стр 28–35.
barrierbybls
| barrierbyfd
| barrierbyls
| barriersensbybls
| barriersensbyls
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.