Определите европейские опции корзины или чувствительность с помощью модели приближения Nengjiu Ju
задает опции, использующие один или несколько аргументы пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.PriceSens
= basketsensbyju(___,Name,Value
)
Найдите европейский вызов корзину опции пяти акций. Предположим, что корзина содержит:
5% от первой торговли акциями по $110
15% от второй торговли акциями по $75
20% от третьей торговли акциями по $40
25% от четвертого торга акциями по $125
35% от пятой торговли акциями по $92
Эти акции имеют годовую волатильность 20%, и корреляция между активами равна нулю. 1 мая 2009 года инвестор хочет купить 1-летний вызов опции с ценой забастовки в $90. Текущая годовая, постоянно сложившаяся процентная доля составляет 5%. Используйте эти данные для вычисления цены и дельты опции корзины вызовов с помощью модели приближения Ju.
Settle = 'May-1-2009'; Maturity = 'May-1-2010'; % Define RateSpec Rate = 0.05; Compounding = -1; RateSpec = intenvset('ValuationDate', Settle, 'StartDates', ... Settle, 'EndDates', Maturity, 'Rates', Rate, 'Compounding', Compounding); % Define the Correlation matrix. Correlation matrices are symmetric, and % have ones along the main diagonal. NumInst = 5; InstIdx = ones(NumInst,1); Corr = diag(ones(5,1), 0); % Define BasketStockSpec AssetPrice = [110; 75; 40; 125; 92]; Volatility = 0.2; Quantity = [0.05; 0.15; 0.2; 0.25; 0.35]; BasketStockSpec = basketstockspec(Volatility, AssetPrice, Quantity, Corr); % Compute the price of the call basket option. Calculate also the delta % of the first stock. OptSpec = {'call'}; Strike = 90; OutSpec = {'Price','Delta'}; UndIdx = 1; % First element in the basket [Price, Delta] = basketsensbyju(RateSpec, BasketStockSpec, OptSpec, Strike, Settle, ... Maturity, 'OutSpec', OutSpec,'UndIdx', UndIdx)
Price = 5.1610
Delta = 0.0297
Вычислите Delta
по второму активу:
UndIdx = 2; % Second element in the basket OutSpec = {'Delta'}; Delta = basketsensbyju(RateSpec, BasketStockSpec, OptSpec, Strike, Settle, Maturity, ... 'OutSpec',OutSpec,'UndIdx',UndIdx)
Delta = 0.0906
BasketStockSpec
— BasketStock
спецификацияBasketStock
спецификация, заданная с помощью basketstockspec
.
Типы данных: struct
OptSpec
- Определение опции 'call'
или 'put'
| массив ячеек векторов символов со значениями 'call'
или 'put'
Определение опции как 'call'
или 'put'
, заданный как вектор символов или 2
-by- 1
массив ячеек из векторов символов.
Типы данных: char
| cell
Strike
- значение цены опционной доставкиОпция значения цены доставки, указанный как одно из следующего:
Для европейской или бермудской опции, Strike
- скаляр (европейский) или 1
-by- NSTRIKES
(Бермудские острова) вектор страйк-цен.
Для американской опции, Strike
- скалярный вектор цены доставки.
Типы данных: double
Settle
- Дата расчета или сделкиДата расчета или сделки для опции корзины, заданная как скалярный серийный номер даты или вектор символов даты.
Типы данных: double
| char
Maturity
- Дата погашенияДата погашения для опции корзины, заданная как скалярный серийный номер даты или вектор символов даты.
Типы данных: double
| char
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
PriceSens = basketsensbyju(RateSpec,BasketStockSpec,OptSpec, Strike,Settle,Maturity,'OutSpec','delta')
'OutSpec'
- Определить выходы{'Price'}
(по умолчанию) | символьный вектор со значениями 'Price'
, 'Delta'
, 'Gamma'
, 'Vega'
, 'Lambda'
, 'Rho'
, 'Theta'
, и 'All'
| массив ячеек векторов символов со значениями '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'}
Типы данных: char
| cell
'UndIdx'
- Индекс базового инструмента для вычисления чувствительности[]
(по умолчанию) | скалярным числомИндекс базового инструмента для вычисления чувствительности, заданный как разделенная разделенными запятой парами, состоящая из 'UndIdx'
и скалярным числом.
Типы данных: double
PriceSens
- Ожидаемые цены или чувствительность для опции корзиныОжидаемые цены или чувствительности (определяются с помощью OutSpec
) для опции корзины, возвращенной как NINST
-by- 1
матрица.
A basket option является опцией для портфеля из нескольких базовых акционерных активов.
Выплата по опции корзины зависит от совокупной эффективности набора отдельных активов. Корзина опции имеет тенденцию быть дешевле, чем соответствующий портфель простой ванили опций по этим причинам:
Если компоненты корзины коррелируют отрицательно, движения в значении одного компонента нейтрализуют противоположные движения другого компонента. Если все компоненты не коррелируют идеально, вариант корзины дешевле, чем серия отдельных опций на каждом из активов в корзине.
Опция корзины минимизирует транзакционные издержки, поскольку инвестор должен приобрести только один вариант вместо нескольких отдельных опций.
Для получения дополнительной информации смотрите Опция корзины.
[1] Nengjiu Ju. «Ценообразование азиатских и корзинных опций через разложение Тейлора». Журнал вычислительных финансов. Том 5, 2002.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.