Вычислите цену и чувствительность для европейских или американских опций корзины с помощью симуляций Монте-Карло
[PriceSens,Paths,Times,Z] = basketsensbyls(RateSpec,BasketStockSpec,OptSpec,Strike,Settle,ExerciseDates)
[PriceSens,Paths,Times,Z] = basketsensbyls(___,Name,Value)
[
вычисляет цену и чувствительность для европейских или американских опций корзины с помощью модели Лонгштафф-Шварца. PriceSens
,Paths
,Times
,Z
] = basketsensbyls(RateSpec
,BasketStockSpec
,OptSpec
,Strike
,Settle
,ExerciseDates
)
Для американских опций метод наименьших квадратов Лонгштафф-Шварца используется, чтобы вычислить раннюю премию осуществления.
Найдите европейскую помещенную опцию корзины двух запасов. Корзина содержит 50% каждого запаса. Запасы в настоящее время стоят на уровне 90$ и 75$ с ежегодными колебаниями 15%. Примите, что корреляция между активами является нулем. 1 мая 2009 инвестор хочет купить однолетний пут-опцион с ценой исполнения опциона 80$. Пересчитанный на год ток, постоянно начисляемые проценты составляют 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 = 2; InstIdx = ones(NumInst,1); Corr = diag(ones(NumInst,1), 0); % Define BasketStockSpec AssetPrice = [90; 75]; Volatility = 0.15; Quantity = [0.50; 0.50]; BasketStockSpec = basketstockspec(Volatility, AssetPrice, Quantity, Corr); % Compute the price of the put basket option. Calculate also the delta % of the first stock. OptSpec = {'put'}; Strike = 80; OutSpec = {'Price','Delta'}; UndIdx = 1; % First element in the basket [PriceSens, Delta] = basketsensbyls(RateSpec, BasketStockSpec, OptSpec,... Strike, Settle, Maturity,'OutSpec', OutSpec,'UndIdx', UndIdx)
PriceSens = 0.9822
Delta = -0.0995
Вычислите Price
и Delta
корзины с корреляцией-20%:
NewCorr = [1 -0.20; -0.20 1]; % Define the new BasketStockSpec. BasketStockSpec = basketstockspec(Volatility, AssetPrice, Quantity, NewCorr); % Compute the price and delta of the put basket option. [PriceSens, Delta] = basketsensbyls(RateSpec, BasketStockSpec, OptSpec,... Strike, Settle, Maturity,'OutSpec', OutSpec,'UndIdx', UndIdx)
PriceSens = 0.7814
Delta = -0.0961
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
ExerciseDates
— Даты осуществления опцииДаты осуществления опции, заданные как последовательный номер даты или вектор символов даты:
Для европейца или опции Бермуд, ExerciseDates
является 1
-by-1
(европеец) или 1
-by-NSTRIKES
(Бермуды) вектор дат осуществления. Для европейской опции на дате окончания срока действия опции существует только один ExerciseDate
.
Для американской опции ExerciseDates
является 1
-by-2
вектор контуров даты осуществления. Опция тренируется в любую дату между, или включая, пара дат на той строке. Если существует только одна non-NaN
дата, или если ExerciseDates
является 1
-by-1
, упражнения опции между датой Settle
и одним перечисленным ExerciseDate
.
Типы данных: double
| char
| cell
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
PriceSens = basketsensbyls(RateSpec,BasketStockSpec,OptSpec, Strike,Settle,Maturity,'AmericanOpt',AmericanOpt,'NumTrials',NumTrial,'OutSpec','delta')
'AmericanOpt'
— Тип опции0
(европеец/Бермуды) (значение по умолчанию) | значения [0,1]
Тип опции, заданный как пара, разделенная запятой, состоящая из 'AnericanOpt'
и NINST
-by-1
положительный целочисленный скаляр, отмечает с помощью значений:
0
— Европеец/Бермуды
1
— Американец
Для американских опций метод наименьших квадратов Лонгштафф-Шварца используется, чтобы вычислить раннюю премию осуществления. Для получения дополнительной информации о методе наименьших квадратов см. https://people.math.ethz.ch/%7Ehjfurrer/teaching/LongstaffSchwartzAmericanOptionsLeastSquareMonteCarlo.pdf.
Типы данных: double
'NumPeriods'
— Количество периодов симуляции на испытание100
(значение по умолчанию) | неотрицательное целое числоКоличество периодов симуляции на испытание, заданное как пара, разделенная запятой, состоящая из 'NumPeriods'
и скалярного неотрицательного целого числа.
NumPeriods
рассматривается только при оценке европейских опций корзины. Для американца и опций корзины Бермуд, NumPeriod
равняется номеру дней осуществления во время жизни опции.
Типы данных: double
'NumTrials'
— Количество независимых демонстрационных путей (испытания симуляции)1000
(значение по умолчанию) | неотрицательное целое числоКоличество независимых демонстрационных путей (испытания симуляции), заданный как пара, разделенная запятой, состоящая из 'NumTrials'
и скалярного неотрицательного целого числа.
Типы данных: double
Z
Массив временных рядов зависимых случайных варьируемых величинМассив временных рядов зависимых случайных варьируемых величин, заданных как пара, разделенная запятой, состоящая из 'Z'
и NumPeriods
-by-NINST-by-
NumTrials
3-D массив временных рядов. Значение Z
генерирует вектор Броуновского движения (то есть, Винеровские процессы), который управляет симуляцией.
Типы данных: double
'Antithetic'
— Индикатор для прямо противоположной выборкиfalse
(значение по умолчанию) | скалярный логический флаг со значением true
или false
Индикатор для прямо противоположной выборки, заданной как пара, разделенная запятой, состоящая из 'Antithetic'
и значение true
или false
.
Типы данных: логический
'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
матрица.
Пути
Моделируемые пути коррелированых переменных состоянияМоделируемые пути коррелированых переменных состояния, возвращенных как NumPeriods + 1
-by-1-by-
NumTrials
3-D массив временных рядов моделируемых путей коррелированых переменных состояния. Каждая строка Paths
является транспонированием вектора состояния X (t) во время t для данного испытания.
\times
Времена наблюдения сопоставлены с моделируемыми путямиВремена наблюдения сопоставлены с моделируемыми путями, возвращенными, как NumPeriods + 1
-by-1
вектор-столбец времен наблюдения сопоставлен с моделируемыми путями. Каждый элемент Times
сопоставлен с соответствующей строкой Paths
.
Z
Массив временных рядов зависимых случайных варьируемых величинМассив временных рядов зависимых случайных варьируемых величин, возвращенных как NumPeriods
-by-1-by-
NumTrials
трехмерный массив, когда Z
задан как входной параметр. Если входной параметр Z
не задан, то выходной аргумент Z
содержит случайные варьируемые величины, сгенерированные внутренне.
[1] Longstaff, F.A., и Э.С. Шварц. “Оценивая американские Опции Симуляцией: Простой Подход Наименьших квадратов”. Анализ Финансовых Исследований. Издание 14, № 1, Spring 2001, стр 113–147.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.