Определите европейские цены опции радуги или чувствительность на минимуме двух опасных использований активов модель ценообразования опционов Stulz
PriceSens = minassetsensbystulz(RateSpec,StockSpec1,StockSpec2,Settle,Maturity,OptSpec,Strike,Corr)PriceSens = minassetsensbystulz(___,Name,Value) вычисляет цены опции с помощью модели ценообразования опционов 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-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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
[PriceSens] = minassetsensbystulz(RateSpec, StockSpecA,StockSpecB,Settle,Maturity,OptSpec,Strike,Corr,'OutSpec',OutSpec)'OutSpec' — Define выходные параметры{'Price'}
(значение по умолчанию) | массив ячеек из символьных векторов со значениями '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'}
Типы данных: cell
PriceSens — Ожидаемые цены или чувствительностьОжидаемые цены или чувствительность, возвращенная как NINST-by-1 или NINST-by-2 вектор.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.