Определение цен на европейские радужные опционы или чувствительности максимум по двум рискованным активам с использованием модели ценообразования Stulz
вычисляет цены опционов с использованием модели ценообразования опционов Stulz.PriceSens = maxassetsensbystulz(RateSpec,StockSpec1,StockSpec2,Settle,Maturity,OptSpec,Strike,Corr)
указывает параметры, использующие один или несколько необязательных аргументов пары имя-значение в дополнение к входным аргументам в предыдущем синтаксисе.PriceSens = maxassetsensbystulz(___,Name,Value)
Рассмотрим европейский радужный вариант, который дает держателю право купить либо $100 000 индекса акций по цене страйка 1000 (актив 1), либо $100 000 государственной облигации (актив 2) с ценой страйка 100% номинальной стоимости, в зависимости от того, что стоит больше в конце 12 месяцев. 15 января 2008 года индекс акций торгуется на уровне 950, ежегодно выплачивает дивиденды в размере 2% и имеет доходность волатильность 22%. Также 15 января 2008 года гособлигация торгуется на уровне 98, выплачивает купонную доходность 6%, имеет доходность волатильность 15%. Безрисковая ставка составляет 5%. Используя эти данные, рассчитайте цену и чувствительность европейского радужного варианта, если корреляция между ставками доходности составляет -0,5, 0 и 0,5.
Поскольку цены основных средств в этом примере находятся в различных единицах, необходимо работать либо в индексных точках (для основного средства 1), либо в долларах (для основного средства 2). Европейский радужный вариант позволяет держателю купить следующее: 100 единицы индекса акций по $1000 каждый (на общую сумму $100 000) или 1000 единицы гособлигаций по $100 каждый (на общую сумму $100 000). Чтобы преобразовать цену облигации (актив 2) в единицы индекса (актив 1), необходимо выполнить следующие корректировки:
Умножьте цену страйка и текущую цену гособлигации на 10 (1000/100).
Умножьте цену опциона на 100, учитывая, что в опционе 100 единиц индекса собственного капитала.
После внесения этих корректировок цена страйка будет одинаковой для обоих активов ($1000). Сначала создайте RateSpec:
Settle = 'Jan-15-2008'; Maturity = 'Jan-15-2009'; Rates = 0.05; 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.9512
Rates: 0.0500
EndTimes: 1
StartTimes: 0
EndDates: 733788
StartDates: 733422
ValuationDate: 733422
Basis: 1
EndMonthRule: 1
Создание двух StockSpec определения.
AssetPrice1 = 950; % Asset 1 => Equity index AssetPrice2 = 980; % Asset 2 => Government bond Sigma1 = 0.22; Sigma2 = 0.15; Div1 = 0.02; Div2 = 0.06; StockSpec1 = stockspec(Sigma1, AssetPrice1, 'continuous', Div1)
StockSpec1 = struct with fields:
FinObj: 'StockSpec'
Sigma: 0.2200
AssetPrice: 950
DividendType: {'continuous'}
DividendAmounts: 0.0200
ExDividendDates: []
StockSpec2 = stockspec(Sigma2, AssetPrice2, 'continuous', Div2)StockSpec2 = struct with fields:
FinObj: 'StockSpec'
Sigma: 0.1500
AssetPrice: 980
DividendType: {'continuous'}
DividendAmounts: 0.0600
ExDividendDates: []
Рассчитайте цену и дельту для различных уровней корреляции.
Strike = 1000 ;
Corr = [-0.5; 0; 0.5];
OutSpec = {'price'; 'delta'};
OptSpec = 'call';
[Price, Delta] = maxassetsensbystulz(RateSpec, StockSpec1, StockSpec2,...
Settle, Maturity, OptSpec, Strike, Corr,'OutSpec', OutSpec)Price = 3×1
111.6683
103.7715
92.4412
Delta = 3×2
0.4594 0.3698
0.4292 0.3166
0.4053 0.2512
Продукция Delta имеет два столбца: первый столбец представляет Delta относительно индекса собственного капитала (актив 1), и второй столбец представляет Delta в отношении государственной облигации (актив 2). Значение 0,4595 представляет Delta по отношению к одной единице индекса собственного капитала. Поскольку существует 100 единиц индекса собственного капитала, общий Delta будет 45,94 (100 * 0,4594) для уровня корреляции -0,5. Чтобы вычислить Delta что касается государственных облигаций, помните, что была использована скорректированная цена 980 вместо 98. Поэтому, например, Delta что касается государственных облигаций, то для корреляции 0,5 будет 251,2 (0,2512 * 100 * 10).
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] = maxassetsensbystulz(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 вектор.
Радужное погашение опциона зависит от относительной ценовой эффективности двух или более активов.
Радужный опцион дает держателю право покупать или продавать лучшие или худшие из двух ценных бумаг, или опционы, которые оплачивают лучшие или худшие из двух активов. Радужные опционы популярны из-за более низкой премиальной стоимости конструкции относительно покупки двух отдельных опционов. Более низкая стоимость отражает тот факт, что окупаемость, как правило, ниже, чем окупаемость двух отдельных вариантов.
Financial Instruments Toolbox™ поддерживает два типа радужных опционов:
Минимум два актива - владелец опциона имеет право купить (продать) один из двух рискованных активов, в зависимости от того, какой из них стоит меньше.
Максимум два актива - владелец опциона имеет право купить (продать) один из двух рискованных активов, в зависимости от того, какой из них стоит больше.
Дополнительные сведения см. в разделе Параметр «Радуга».
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.