Определите европейскую цену опций корзины или чувствительность с помощью модели приближения Ненгджиу Джу
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.