basketsensbyju

Определите европейские опции корзины или чувствительность с помощью модели приближения Nengjiu Ju

Описание

пример

PriceSens = basketsensbyju(RateSpec,BasketStockSpec,OptSpec,Strike,Settle,Maturity) вычисляет цены или чувствительности для опций корзины с помощью модели приближения 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

Входные параметры

свернуть все

Структура процентной ставки (в годовом исчислении и постоянно сложной), определяемая RateSpec получен из intenvset. Для получения информации о спецификации процентной ставки смотрите intenvset.

Типы данных: struct

BasketStock спецификация, заданная с помощью basketstockspec.

Типы данных: struct

Определение опции как 'call' или 'put', заданный как вектор символов или 2-by- 1 массив ячеек из векторов символов.

Типы данных: char | cell

Опция значения цены доставки, указанный как одно из следующего:

  • Для европейской или бермудской опции, Strike - скаляр (европейский) или 1-by- NSTRIKES (Бермудские острова) вектор страйк-цен.

  • Для американской опции, Strike - скалярный вектор цены доставки.

Типы данных: double

Дата расчета или сделки для опции корзины, заданная как скалярный серийный номер даты или вектор символов даты.

Типы данных: double | char

Дата погашения для опции корзины, заданная как скалярный серийный номер даты или вектор символов даты.

Типы данных: double | char

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: PriceSens = basketsensbyju(RateSpec,BasketStockSpec,OptSpec, Strike,Settle,Maturity,'OutSpec','delta')

Задайте выходы, заданные как разделенная разделенными запятой парами, состоящая из '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' и скалярным числом.

Типы данных: double

Выходные аргументы

свернуть все

Ожидаемые цены или чувствительности (определяются с помощью OutSpec) для опции корзины, возвращенной как NINST-by- 1 матрица.

Подробнее о

свернуть все

Опция корзины

A basket option является опцией для портфеля из нескольких базовых акционерных активов.

Выплата по опции корзины зависит от совокупной эффективности набора отдельных активов. Корзина опции имеет тенденцию быть дешевле, чем соответствующий портфель простой ванили опций по этим причинам:

  • Если компоненты корзины коррелируют отрицательно, движения в значении одного компонента нейтрализуют противоположные движения другого компонента. Если все компоненты не коррелируют идеально, вариант корзины дешевле, чем серия отдельных опций на каждом из активов в корзине.

  • Опция корзины минимизирует транзакционные издержки, поскольку инвестор должен приобрести только один вариант вместо нескольких отдельных опций.

Для получения дополнительной информации смотрите Опция корзины.

Ссылки

[1] Nengjiu Ju. «Ценообразование азиатских и корзинных опций через разложение Тейлора». Журнал вычислительных финансов. Том 5, 2002.

Введенный в R2009b