Вычислите цену и чувствительность для европейских или американских опций корзины с помощью симуляций Монте-Карло
[
вычисляет цену и чувствительность для европейских или американских опций корзины с помощью модели Лонгштафф-Шварца. 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
- 1
массив ячеек из символьных векторов.
Типы данных: char |
cell
Strike
— Значение цены исполнения опциона опцииЗначение цены исполнения опциона опции в виде одного из следующего:
Для европейца или опции Бермуд, Strike
скаляр (европеец) или 1
- NSTRIKES
(Бермуды) вектор из цен исполнения опциона.
Для американской опции, Strike
скалярный вектор из цены исполнения опциона.
Типы данных: double
Settle
— Урегулирование или торговая датаУрегулирование или торговая дата опции корзины в виде скалярного последовательного номера даты или вектора символов даты.
Типы данных: double |
char
ExerciseDates
— Даты осуществления опцииДаты осуществления опции в виде последовательного номера даты или вектора символов даты:
Для европейца или опции Бермуд, ExerciseDates
1
- 1
(Европеец) или 1
- NSTRIKES
(Бермуды) вектор из дат осуществления. Для европейской опции существует только один ExerciseDate
на дате окончания срока действия опции.
Для американской опции, ExerciseDates
1
- 2
вектор из контуров даты осуществления. Опция тренируется в любую дату между, или включая, пара дат на той строке. Если существует только один non-NaN
дата, или если ExerciseDates
1
- 1
, опция тренируется между Settle
дата и один перечисленный ExerciseDate
.
Типы данных: double |
char
| cell
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
PriceSens = basketsensbyls(RateSpec,BasketStockSpec,OptSpec, Strike,Settle,Maturity,'AmericanOpt',AmericanOpt,'NumTrials',NumTrial,'OutSpec','delta')
'AmericanOpt'
— Тип опции
(Европеец/Бермуды) (значение по умолчанию) | значения [0,1]
Тип опции в виде разделенной запятой пары, состоящей из 'AnericanOpt'
и NINST
- 1
положительный целочисленный скаляр отмечает с помощью значений:
0 — Европеец/Бермуды
1 — Американец
Примечание
Для американских опций метод наименьших квадратов Лонгштафф-Шварца используется, чтобы вычислить раннюю премию осуществления. Для получения дополнительной информации о методе наименьших квадратов см. https://people.math.ethz.ch / % 7Ehjfurrer/teaching/LongstaffSchwartzAmericanOptionsLeastSquareMonteCarlo.pdf.
Типы данных: double
'NumPeriods'
— Количество периодов симуляции на испытание
(значение по умолчанию) | неотрицательное целое числоКоличество периодов симуляции на испытание в виде разделенной запятой пары, состоящей из 'NumPeriods'
и скалярное неотрицательное целое число.
Примечание
NumPeriods
рассматривается только при оценке европейских опций корзины. Для американца и опций корзины Бермуд, NumPeriod
равняется номеру дней осуществления во время жизни опции.
Типы данных: double
'NumTrials'
— Количество независимых демонстрационных путей (испытания симуляции)
(значение по умолчанию) | неотрицательное целое числоКоличество независимых демонстрационных путей (испытания симуляции) в виде разделенной запятой пары, состоящей из 'NumTrials'
и скалярное неотрицательное целое число.
Типы данных: double
'Z'
— Массив временных рядов зависимых случайных варьируемых величинМассив временных рядов зависимых случайных варьируемых величин в виде разделенной запятой пары, состоящей из 'Z'
и NumPeriods
- NINST
- NumTrials
3-D массив временных рядов. Z
значение генерирует вектор Броуновского движения (то есть, Винеровские процессы), который управляет симуляцией.
Типы данных: double
'Antithetic'
— Индикатор для прямо противоположной выборкиfalse
(значение по умолчанию) | скалярный логический флаг со значением true
или false
Индикатор для прямо противоположной выборки в виде разделенной запятой пары, состоящей из 'Antithetic'
и значение true
или false
.
Типы данных: логический
'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
матрица.
Paths
— Симулированные пути коррелированых переменных состоянияСимулированные пути коррелированых переменных состояния, возвращенных как NumPeriods + 1
- 1
- NumTrials
3-D массив временных рядов симулированных путей коррелированых переменных состояния. Каждая строка Paths
транспонирование вектора состояния X (t) во время t для данного испытания.
Times
— Времена наблюдения сопоставлены с симулированными путямиВремена наблюдения сопоставлены с симулированными путями, возвращенными как NumPeriods + 1
- 1
вектор-столбец времен наблюдения сопоставлен с симулированными путями. Каждый элемент Times
сопоставлен с соответствующей строкой Paths
.
Z
— Массив временных рядов зависимых случайных варьируемых величинМассив временных рядов зависимых случайных варьируемых величин, возвращенных как NumPeriods
- 1
- NumTrials
Трехмерный массив, когда Z
задан как входной параметр. Если Z
входной параметр не задан, затем Z
выходной аргумент содержит случайные варьируемые величины, сгенерированные внутренне.
basket option является опцией на портфеле нескольких базовых активов акции.
Выплата для опции корзины зависит от совокупной эффективности набора отдельных активов. Опция корзины имеет тенденцию быть более дешевой, чем соответствующий портфель простых опций ванили по этим причинам:
Если компоненты корзины коррелируют негативно, перемещения в значении одного компонента нейтрализуют противоположные перемещения другого компонента. Если все компоненты не коррелируют отлично, опция корзины является более дешевой, чем ряд отдельных опций на каждом из активов в корзине.
Опция корзины минимизирует операционные издержки, потому что инвестор должен купить только одну опцию вместо нескольких отдельных опций.
Для получения дополнительной информации см. Опцию Корзины.
[1] Longstaff, F.A., и Э.С. Шварц. “Оценивая американские Опции Симуляцией: Простой Подход Наименьших квадратов”. Анализ Финансовых Исследований. Издание 14, № 1, Spring 2001, стр 113–147.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.