basketsensbyju

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

Описание

пример

PriceSens = basketsensbyju(RateSpec,BasketStockSpec,OptSpec,Strike,Settle,Maturity) вычисляет цены или чувствительность для опций корзины с помощью модели приближения Ненгджиу Джу.

пример

PriceSens = basketsensbyju(___,Name,Value) задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.

Примеры

свернуть все

Найдите европейскую опцию корзины вызова пяти запасов. Примите, что корзина содержит:

  • 5% первой продажи акций на уровне 110$

  • 15% второй продажи акций на уровне 75$

  • 20% третьей продажи акций на уровне 40$

  • 25% четвертой продажи акций на уровне 125$

  • 35% пятой продажи акций на уровне 92$

Эти запасы имеют ежегодные колебания 20%, и корреляция между активами является нулем. 1 мая 2009 инвестор хочет купить 1-летний колл-опцион с ценой исполнения опциона 90$. Пересчитанный на год ток, постоянно начисляемые проценты составляют 5%. Используйте эти данные, чтобы вычислить цену и дельту опции корзины вызова с моделью приближения Джу.

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- 1 массив ячеек из символьных векторов.

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

Значение цены исполнения опциона опции в виде одного из следующего:

  • Для европейца или опции Бермуд, Strike скаляр (европеец) или 1- 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' и 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'}

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

Индекс базового инструмента, чтобы вычислить чувствительность в виде разделенной запятой пары, состоящей из 'UndIdx' и числовой скаляр.

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

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

свернуть все

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

Больше о

свернуть все

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

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

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

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

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

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

Ссылки

[1] Ненгджиу Джу. “Оценивая азиата и опции корзины через разложение Тейлора”. Журнал вычислительных финансов. Издание 5, 2002.

Представленный в R2009b