basketbyls

Цена Европейские или американские опции корзины с помощью симуляций Монте-Карло

Описание

пример

[Price,Paths,Times,Z] = basketbyls(RateSpec,BasketStockSpec,OptSpec,Strike,Settle,ExerciseDates) ценовая корзина опций с использованием модели Longstaff-Schwartz.

Для американских опций Longstaff-Schwartz методом наименьших квадратов используется для вычисления премии за ранние упражнения.

пример

[Price,Paths,Times,Z] = basketbyls(___,Name,Value) задает опции, использующие один или несколько аргументы пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.

Примеры

свернуть все

Найдите американскую корзину вызовов опции из трех акций. Акции в настоящее время торгуются на уровне $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

Входные параметры

свернуть все

Структура процентной ставки (в годовом исчислении и постоянно сложной), определяемая RateSpec получен из intenvset. Для получения информации о спецификации процентной ставки смотрите intenvset.

Типы данных: struct

BasketStock спецификация, заданная с помощью basketstockspec.

Типы данных: struct

Определение опции как 'call' или 'put', заданный как вектор символов или 2-by- 1 массив ячеек из векторов символов.

Типы данных: char | cell

Опция значения цены доставки, указанный как одно из следующего:

  • Для европейской или бермудской опции, Strike - скаляр (европейский) или 1-by- NSTRIKES (Бермудские острова) вектор страйк-цен.

  • Для американской опции, Strike - скалярный вектор цены доставки.

Типы данных: double

Дата расчета или сделки для опции корзины, заданная как скалярный серийный номер даты или вектор символов даты.

Типы данных: double | char

Даты упражнения опции, заданные как серийный номер даты или вектор символов даты:

  • Для европейской или бермудской опции, 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)

Тип опции, заданный как разделенная разделенными запятой парами, состоящая из 'AnericanOpt' и a NINST-by- 1 положительные целочисленные скалярные флаги со значениями:

  • 0 - Европейский/Бермудские острова

  • 1 - Американский

Примечание

Для американских опций Longstaff-Schwartz методом наименьших квадратов используется для вычисления премии за ранние упражнения. Для получения дополнительной информации о методе наименьших квадратов смотрите https ://people.math.etz.ch/% 7Ehjfurrer/training/LongstaffSchwartzAmericanOptionsLeastSquareMonteCarlo.pdf.

Типы данных: double

Количество периодов симуляции в пробной версии, заданное как разделенная разделенными запятой парами, состоящая из 'NumPeriods' и скаляр неотрицательное целое число.

Примечание

NumPeriods учитывается только при ценообразовании европейских опций корзины. Для опций корзины на Американских и Бермудских островах, NumPeriod равен количеству дней упражнений в течение срока действия опции.

Типы данных: double

Количество независимых путей выборки (испытания симуляции), заданное как разделенная разделенными запятой парами, состоящая из 'NumTrials' и скаляр неотрицательное целое число.

Типы данных: double

Массив временных рядов зависимых случайных вариатов, заданный как разделенная разделенными запятой парами, состоящая из 'Z' и a NumPeriods-by- NINST-by- NumTrials 3-D массив временных рядов. The Z значение генерирует вектор движения Brownian (то есть процессы Винера), который управляет симуляцией.

Типы данных: double

Индикатор для антитетической выборки, заданный как разделенная разделенными запятой парами, состоящая из 'Antithetic' и значение true или false.

Типы данных: logical

Выходные аргументы

свернуть все

Ожидаемые цены на опцию, возвращенные как NINST-by- 1 матрица.

Моделируемые пути коррелированных переменных состояния, возвращенные как NumPeriods + 1-by- 1-by- NumTrials 3-D массив временных рядов моделируемых путей коррелированных переменных состояния. Каждая строка Paths - транспонирование вектора X (t) состояния в момент t для данного исследования.

Время наблюдения, сопоставленное с моделируемыми путями, возвращается как NumPeriods + 1-by- 1 вектор-столбец, сопоставленный с моделируемыми путями. Каждый элемент Times связана с соответствующей строкой Paths.

Массив временных рядов зависимых случайных вариаций, возвращаемый как NumPeriods-by- 1-by- NumTrials трехмерный массив, когда Z задается как входной параметр. Если на Z входной параметр не задан, тогда Z выходной аргумент содержит случайные изменения, сгенерированные внутри.

Подробнее о

свернуть все

Опция корзины

A basket option является опцией для портфеля из нескольких базовых акционерных активов.

Выплата по опции корзины зависит от совокупной эффективности набора отдельных активов. Корзина опции имеет тенденцию быть дешевле, чем соответствующий портфель простой ванили опций по этим причинам:

  • Если компоненты корзины коррелируют отрицательно, движения в значении одного компонента нейтрализуют противоположные движения другого компонента. Если все компоненты не коррелируют идеально, вариант корзины дешевле, чем серия отдельных опций на каждом из активов в корзине.

  • Опция корзины минимизирует транзакционные издержки, поскольку инвестор должен приобрести только один вариант вместо нескольких отдельных опций.

Для получения дополнительной информации смотрите Опция корзины.

Ссылки

[1] Longstaff, F.A., and E.S. Schwartz. Оценка американских опций по симуляции: простой подход методом наименьших квадратов. Обзор финансовых исследований. Том 14, № 1, весна 2001, стр. 113-147.

Введенный в R2009b
Для просмотра документации необходимо авторизоваться на сайте