Определите европейскую цену опций корзины или чувствительность с помощью модели приближения Ненгджиу Джу
PriceSens = basketsensbyju(RateSpec,BasketStockSpec,OptSpec,Strike,Settle,Maturity)
PriceSens = basketsensbyju(___,Name,Value)
задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.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
-by-1
массив ячеек из символьных векторов.
Типы данных: char | cell
Strike
— Значение цены исполнения опциона опцииЗначение цены исполнения опциона опции, заданное как одно из следующего:
Для европейца или опции Бермуд, Strike
является скаляром (европеец) или 1
-by-NSTRIKES
(Бермуды) вектор цен исполнения опциона.
Для американской опции Strike
является скалярным вектором цены исполнения опциона.
Типы данных: double
Settle
— Урегулирование или торговая датаУрегулирование или торговая дата опции корзины, заданной как скалярный последовательный номер даты или вектор символов даты.
Типы данных: double
| char
Maturity
— Дата погашенияДата погашения для опции корзины, заданной как скалярный последовательный номер даты или вектор символов даты.
Типы данных: double
| char
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
PriceSens = basketsensbyju(RateSpec,BasketStockSpec,OptSpec, Strike,Settle,Maturity,'OutSpec','delta')
'OutSpec'
— Define выходные параметры{'Price'}
(значение по умолчанию) | вектор символов со значениями 'Price'
, 'Delta'
, 'Gamma'
, 'Vega'
, 'Lambda'
, 'Rho'
, 'Theta'
и 'All'
| массив ячеек из символьных векторов со значениями 'Price'
, 'Delta'
, 'Gamma'
, 'Vega'
, 'Lambda'
, 'Rho'
, 'Theta'
и 'All'
Задайте выходные параметры, заданные как пара, разделенная запятой, состоящая из 'OutSpec'
и NOUT
- 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
матрица.
[1] Ненгджиу Джу. “Оценивая азиата и опции корзины через разложение Тейлора”. Журнал вычислительных финансов. Издание 5, 2002.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.