Цена Европейские или американские опции корзины с помощью симуляций Монте-Карло
[
ценовая корзина опций с использованием модели Longstaff-Schwartz.Price
,Paths
,Times
,Z
] = basketbyls(RateSpec
,BasketStockSpec
,OptSpec
,Strike
,Settle
,ExerciseDates
)
Для американских опций Longstaff-Schwartz методом наименьших квадратов используется для вычисления премии за ранние упражнения.
Найдите американскую корзину вызовов опции из трех акций. Акции в настоящее время торгуются на уровне $35, $40 и $45 с годовой волатильностью 12%, 15% и 18% соответственно. Корзина содержит 33,33% от каждого запаса. Предположим, что корреляция между всеми парами активов составляет 50%. 1 мая 2009 года инвестор хочет купить трехлетний вызов опции с ценой забастовки в $42. Текущая годовая непрерывно сложившаяся процентная ставка составляет 5%. Используйте эти данные для вычисления цены опции корзины вызовов с помощью модели Longstaff-Schwartz.
Settle = 'May-1-2009'; Maturity = 'May-1-2012'; % 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. Corr = [1 0.50 0.50; 0.50 1 0.50;0.50 0.50 1]; % Define BasketStockSpec AssetPrice = [35;40;45]; Volatility = [0.12;0.15;0.18]; Quantity = [0.333;0.333;0.333]; BasketStockSpec = basketstockspec(Volatility, AssetPrice, Quantity, Corr); % Compute the price of the call basket option OptSpec = {'call'}; Strike = 42; AmericanOpt = 1; % American option Price = basketbyls(RateSpec, BasketStockSpec, OptSpec, Strike, Settle, Maturity,... 'AmericanOpt',AmericanOpt)
Price = 5.4687
Увеличьте количество испытаний симуляции до 2000, чтобы получить следующие результаты:
NumTrial = 2000; Price = basketbyls(RateSpec, BasketStockSpec, OptSpec, Strike, Settle, Maturity,... 'AmericanOpt',AmericanOpt,'NumTrials',NumTrial)
Price = 5.5501
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
вектор контуров дат упражнения. Опция выполняется на любую дату между или включая пару дат в этой строке. Если существует только один не - NaN
дата, или если ExerciseDates
является 1
-by- 1
, опциональные упражнения между Settle
дата и сингл перечисленные ExerciseDate
.
Типы данных: double
| char
| cell
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
Price = basketbyls(RateSpec,BasketStockSpec,OptSpec, Strike,Settle,Maturity,'AmericanOpt',AmericanOpt,'NumTrials',NumTrial)
'AmericanOpt'
- Тип опции0
(Европейский/Бермудские острова) (по умолчанию) | значения [0,1]
Тип опции, заданный как разделенная разделенными запятой парами, состоящая из 'AnericanOpt'
и a NINST
-by- 1
положительные целочисленные скалярные флаги со значениями:
0
- Европейский/Бермудские острова
1
- Американский
Примечание
Для американских опций Longstaff-Schwartz методом наименьших квадратов используется для вычисления премии за ранние упражнения. Для получения дополнительной информации о методе наименьших квадратов смотрите https ://people.math.etz.ch/% 7Ehjfurrer/training/LongstaffSchwartzAmericanOptionsLeastSquareMonteCarlo.pdf.
Типы данных: double
'NumPeriods'
- Количество периодов симуляции в испытании100
(по умолчанию) | неотрицательное целое числоКоличество периодов симуляции в пробной версии, заданное как разделенная разделенными запятой парами, состоящая из 'NumPeriods'
и скаляр неотрицательное целое число.
Примечание
NumPeriods
учитывается только при ценообразовании европейских опций корзины. Для опций корзины на Американских и Бермудских островах, NumPeriod
равен количеству дней упражнений в течение срока действия опции.
Типы данных: double
'NumTrials'
- Количество независимых путей выборки (испытания симуляции)1000
(по умолчанию) | неотрицательное целое числоКоличество независимых путей выборки (испытания симуляции), заданное как разделенная разделенными запятой парами, состоящая из 'NumTrials'
и скаляр неотрицательное целое число.
Типы данных: double
'Z'
- Массив временных рядов зависимых случайных вариацийМассив временных рядов зависимых случайных вариатов, заданный как разделенная разделенными запятой парами, состоящая из 'Z'
и a NumPeriods
-by- NINST
-by- NumTrials
3-D массив временных рядов. The Z
значение генерирует вектор движения Brownian (то есть процессы Винера), который управляет симуляцией.
Типы данных: double
'Antithetic'
- Индикатор для антитетического отбора пробfalse
(по умолчанию) | скалярный логический флаг со значением true
или false
Индикатор для антитетической выборки, заданный как разделенная разделенными запятой парами, состоящая из 'Antithetic'
и значение true
или false
.
Типы данных: logical
Price
- Ожидаемые цены на опциюОжидаемые цены на опцию, возвращенные как NINST
-by- 1
матрица.
Paths
- Моделируемые пути коррелированных переменных состоянияМоделируемые пути коррелированных переменных состояния, возвращенные как 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
выходной аргумент содержит случайные изменения, сгенерированные внутри.
A basket option является опцией для портфеля из нескольких базовых акционерных активов.
Выплата по опции корзины зависит от совокупной эффективности набора отдельных активов. Корзина опции имеет тенденцию быть дешевле, чем соответствующий портфель простой ванили опций по этим причинам:
Если компоненты корзины коррелируют отрицательно, движения в значении одного компонента нейтрализуют противоположные движения другого компонента. Если все компоненты не коррелируют идеально, вариант корзины дешевле, чем серия отдельных опций на каждом из активов в корзине.
Опция корзины минимизирует транзакционные издержки, поскольку инвестор должен приобрести только один вариант вместо нескольких отдельных опций.
Для получения дополнительной информации смотрите Опция корзины.
[1] Longstaff, F.A., and E.S. Schwartz. Оценка американских опций по симуляции: простой подход методом наименьших квадратов. Обзор финансовых исследований. Том 14, № 1, весна 2001, стр. 113-147.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.