Определите европейские цены радужных опций или чувствительность к минимуму двух рискованных активов с помощью модели опционного ценообразования Stulz
вычисляет опцию цены с помощью модели ценообразования Stulz опции.PriceSens
= minassetsensbystulz(RateSpec
,StockSpec1
,StockSpec2
,Settle
,Maturity
,OptSpec
,Strike
,Corr
)
задает опции с использованием одного или нескольких необязательных аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.PriceSens
= minassetsensbystulz(___,Name,Value
)
Рассмотрим европейскую опцию «радуга пут», который дает держателю право продавать либо акции A, либо акции B при забастовке 50,25, в зависимости от того, какое значение меньше на дату истечения срока действия 15 мая 2009 года. 15 ноября 2008 года акции A торгуются на уровне 49,75 с непрерывным годовым дивидендным выражением 4,5% и с волатильностью возврата 11%. Акции B торгуются на уровне 51 с непрерывным дивидендным выражением 5% и с волатильностью возврата 16%. Безрисковая ставка составляет 4,5%. Используя эти данные, если корреляция между темпами возврата составляет -0,5, 0 и 0,5, вычислите цену и чувствительность минимума из двух активов, которые являются европейскими опциями радужного пута. Во-первых, создайте RateSpec
:
Settle = 'Nov-15-2008'; Maturity = 'May-15-2009'; Rates = 0.045; Basis = 1; RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle,... 'EndDates', Maturity, 'Rates', Rates, 'Compounding', -1, 'Basis', Basis)
RateSpec = struct with fields:
FinObj: 'RateSpec'
Compounding: -1
Disc: 0.9778
Rates: 0.0450
EndTimes: 0.5000
StartTimes: 0
EndDates: 733908
StartDates: 733727
ValuationDate: 733727
Basis: 1
EndMonthRule: 1
Создайте две StockSpec
определения.
AssetPriceA = 49.75;
AssetPriceB = 51;
SigmaA = 0.11;
SigmaB = 0.16;
DivA = 0.045;
DivB = 0.05;
StockSpecA = stockspec(SigmaA, AssetPriceA, 'continuous', DivA)
StockSpecA = struct with fields:
FinObj: 'StockSpec'
Sigma: 0.1100
AssetPrice: 49.7500
DividendType: {'continuous'}
DividendAmounts: 0.0450
ExDividendDates: []
StockSpecB = stockspec(SigmaB, AssetPriceB, 'continuous', DivB)
StockSpecB = struct with fields:
FinObj: 'StockSpec'
Sigma: 0.1600
AssetPrice: 51
DividendType: {'continuous'}
DividendAmounts: 0.0500
ExDividendDates: []
Вычислите цену и дельту для различных уровней корреляции.
Strike = 50.25; Corr = [-0.5;0;0.5]; OptSpec = 'put'; OutSpec = {'Price'; 'delta'}; [P, D] = minassetsensbystulz(RateSpec, StockSpecA, StockSpecB,... Settle, Maturity, OptSpec, Strike, Corr, 'OutSpec', OutSpec)
P = 3×1
3.4320
3.1384
2.7694
D = 3×2
-0.4183 -0.3496
-0.3746 -0.3189
-0.3304 -0.2905
Область выхода Delta
имеет два столбца: первый столбец представляет Delta
относительно запаса A (актив 1), а второй столбец представляет Delta
в отношении запаса B (актива 2). Значение 0.4183 представляет Delta
относительно запаса A для уровня корреляции -0,5. The Delta
что касается запаса B, для корреляции нуля является -0.3189.
RateSpec
- Годовая, постоянно сложная структура терминов ставокЕжегодная, постоянно сложенная структура терминов скорости, заданная с помощью intenvset
.
Типы данных: structure
StockSpec1
- Спецификация запаса для актива 1Спецификация запаса для актива 1, заданная с помощью stockspec
.
Типы данных: structure
StockSpec2
- Спецификация запаса для актива 2Спецификация запаса для актива 2, заданная с помощью stockspec
.
Типы данных: structure
Settle
- Даты расчетов или сделокДаты расчетов или сделок, указанные как NINST
-by- 1
вектор числовых дат.
Типы данных: double
Maturity
- Даты погашенияДаты погашения, заданные как NINST
-by- 1
вектор.
Типы данных: double
OptSpec
- Тип опции'call'
или 'put'
Тип опции, заданный как NINST
-by- 1
массив ячеек из векторов символов со значением 'call'
или 'put'
.
Типы данных: cell
Strike
- Цены забастовкиЦены забастовки, указанные как NINST
-by- 1
вектор.
Типы данных: double
Corr
- корреляция между базовыми ценами на активыКорреляция между базовыми ценами на активы, заданная как NINST
-by- 1
вектор.
Типы данных: double
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
[PriceSens] = minassetsensbystulz(RateSpec, StockSpecA,StockSpecB,Settle,Maturity,OptSpec,Strike,Corr,'OutSpec',OutSpec)
'OutSpec'
- Определить выходы{'Price'}
(по умолчанию) | массив ячеек из векторов символов со значениями 'Price'
, 'Delta'
, 'Gamma'
, 'Vega'
, 'Lambda'
, 'Rho'
, 'Theta'
, и 'All'
Задайте выходы, заданные как разделенная разделенными запятой парами, состоящая из 'OutSpec'
и a NOUT
- by- 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'}
Типы данных: cell
PriceSens
- Ожидаемые цены или чувствительностьОжидаемые цены или чувствительность, возвращенные как NINST
-by- 1
или NINST
-by- 2
вектор.
А rainbow option выплата зависит от относительной ценовой эффективности двух или более активов.
Радужный вариант дает держателю право покупать или продавать лучшие или худшие из двух ценных бумаг, или опции, которые платят лучшие или худшие из двух активов. Радужные опции популярны из-за более низкой премиальной стоимости структуры относительно покупки двух отдельных опций. Более низкая стоимость отражает тот факт, что выплата обычно ниже, чем выплата двух отдельных опций.
Financial Instruments Toolbox™ поддерживает два типа радужных опций:
Минимум два актива - держатель опции имеет право купить (продать) один из двух рисковых активов, в зависимости от того, какой из них стоит меньше.
Максимум два актива - держатель опции имеет право купить (продать) один из двух рисковых активов, в зависимости от того, какой из них стоит больше.
Для получения дополнительной информации смотрите Rainbow Option.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.