Определите европейскую цену опций корзины или чувствительность с помощью модели приближения Ненгджиу Джу
задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.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
BasketStockSpec
— BasketStock
спецификацияBasketStock
спецификация, заданное использование basketstockspec
.
Типы данных: struct
OptSpec
— Определение опции 'call'
или 'put'
| массив ячеек из символьных векторов со значениями 'call'
или 'put'
Определение опции как 'call'
или 'put'
, заданный как вектор символов или 2
- 1
массив ячеек из символьных векторов.
Типы данных: char |
cell
Strike
— Значение цены исполнения опциона опцииЗначение цены исполнения опциона опции, заданное как одно из следующего:
Для европейца или опции Бермуд, Strike
скаляр (европеец) или 1
- 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'
и 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'
— Индекс базового инструмента, чтобы вычислить чувствительность[]
(значение по умолчанию) | числовой скалярИндекс базового инструмента, чтобы вычислить чувствительность, заданную как разделенная запятой пара, состоящая из 'UndIdx'
и числовой скаляр.
Типы данных: double
PriceSens
— Ожидаемые цены или чувствительность для опции корзиныОжидаемые цены или чувствительность (заданное использование OutSpec
) для опции корзины, возвращенной как NINST
- 1
матрица.
basket option является опцией на портфеле нескольких базовых активов акции.
Выплата для опции корзины зависит от совокупной производительности набора отдельных активов. Опция корзины имеет тенденцию быть более дешевой, чем соответствующий портфель простых опций ванили по этим причинам:
Если компоненты корзины коррелируют негативно, перемещения в значении одного компонента нейтрализуют противоположные перемещения другого компонента. Если все компоненты не коррелируют отлично, опция корзины является более дешевой, чем ряд отдельных опций на каждом из активов в корзине.
Опция корзины минимизирует операционные издержки, потому что инвестор должен купить только одну опцию вместо нескольких отдельных опций.
Для получения дополнительной информации см. Опцию Корзины.
[1] Ненгджиу Джу. “Оценивая азиата и опции корзины через разложение Тейлора”. Журнал вычислительных финансов. Издание 5, 2002.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.