Вычислите цены барьерного опциона или чувствительность с помощью метода конечной разности
[
вычисляет европейские и американские цены барьерного опциона или чувствительность одного базового актива с помощью метода конечной разности. 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
- 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
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
PriceSens = barriersensbyfd(RateSpec,StockSpec,OptSpec,Strike,Settle,Maturity,BarrierSpec,Barrier,Rebate,1000,AmericanOpt,1)
'Rebate'
— Значение уступки
(значение по умолчанию) | числовойЗначение уступки, заданное как разделенная запятой пара, состоящая из 'Rebate'
и числовой скаляр. Для Удара - в опциях, Rebate
заплачен при истечении. Для Knock-out
опции, Rebate
заплачен когда Barrier
достигнут.
Типы данных: double
'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
'TimeGridSize'
— Размер сетки времени используется в сетке конечной разности
(значение по умолчанию) | положительный числовойРазмер сетки времени используется в сетке конечной разности, заданной как разделенная запятой пара, состоящая из 'TimeGridSize'
и скаляр, положительный числовой.
Типы данных: double
'AmericanOpt'
— Тип опции
Европейское (значение по умолчанию) | целое число со значениями 0
или 1
Тип опции, заданный как разделенная запятой пара, состоящая из 'AmericanOpt'
и скалярный флаг с одним из следующих значений:
0 — Европеец
1 — Американец
Типы данных: логический
PriceSens
— Ожидаемые цены или значения чувствительности для барьерных опционовОжидаемые цены или чувствительность (заданное использование OutSpec
) для барьерных опционов, возвращенных как NINST
- 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.