Определите европейские цены опции радуги или чувствительность на минимуме двух опасных использований активов модель ценообразования опционов 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%. Сток Б торгует в 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
относительно запаса (актив 1), и второй столбец представляет Delta
относительно запаса B (актив 2). Значение 0.4183 представляет Delta
относительно запаса для уровня корреляции-0.5. Delta
относительно запаса B, для корреляции нуля-0.3189.
RateSpec
— Пересчитанный на год, постоянно составляемая структура термина уровняПересчитанный на год, постоянно составляемая структура термина уровня, заданное использование intenvset
.
Типы данных: structure
StockSpec1
— Спецификация запаса для актива 1Спецификация запаса для актива 1, заданное использование stockspec
.
Типы данных: structure
StockSpec2
— Спецификация запаса для актива 2Спецификация запаса для актива 2, заданное использование stockspec
.
Типы данных: structure
Settle
— Урегулирование или торговые датыУрегулирование или торговые даты в виде NINST
- 1
вектор из числовых дат.
Типы данных: double
Maturity
— Даты погашенияДаты погашения в виде NINST
- 1
вектор.
Типы данных: double
OptSpec
— Тип опции'call'
или 'put'
Тип опции в виде NINST
- 1
массив ячеек из символьных векторов со значением 'call'
или 'put'
.
Типы данных: cell
Strike
— Цены исполнения опционаЦены исполнения опциона в виде NINST
- 1
вектор.
Типы данных: double
Corr
— Корреляция между ценами базового активаКорреляция между ценами базового актива в виде NINST
- 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'
и 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'}
Типы данных: cell
PriceSens
— Ожидаемые цены или чувствительностьОжидаемые цены или чувствительность, возвращенная как NINST
- 1
или NINST
- 2
вектор.
Выплата rainbow option зависит от относительной динамики цен двух или больше активов.
Опция радуги дает держателю право купить или продать лучшее или худшую из двух ценных бумаг или опций, которые платят лучшее или худший из двух активов. Опции радуги популярны из-за более низкой премиальной стоимости структуры относительно покупки двух отдельных опций. Более низкая цена отражает то, что выплата обычно ниже, чем выплата двух отдельных опций.
Financial Instruments Toolbox™ поддерживает два типа опций радуги:
Минимум двух активов — держатель опции имеет право купить (продают) один из двух опасных активов, какой бы ни каждый стоит меньше.
Максимум двух активов — держатель опции имеет право купить (продают) один из двух опасных активов, какой бы ни каждый стоит больше.
Для получения дополнительной информации см. Опцию Радуги.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.