exponenta event banner

basketbyls

Ценовые европейские или американские варианты корзины с использованием моделирования Монте-Карло

Описание

пример

[Price,Paths,Times,Z] = basketbyls(RateSpec,BasketStockSpec,OptSpec,Strike,Settle,ExerciseDates) цены варианты корзины с использованием модели 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около-1 клеточный массив символьных векторов.

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

Цена страйка опциона, указанная как одно из следующих значений:

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

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

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

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

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

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

  • Для европейского или бермудского варианта: ExerciseDates является 1около-1 (европейский) или 1около-NSTRIKES (Бермудские острова) вектор дат учений. Для европейского варианта есть только один ExerciseDate на дату истечения срока действия опциона.

  • Для американского варианта, ExerciseDates является 1около-2 вектор границ даты упражнения. Опция выполняется на любую дату между или включая пару дат в этой строке. При наличии только одного не-NaN дата, или если ExerciseDates является 1около-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' и NINSTоколо-1 положительные целочисленные скалярные флаги со значениями:

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

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

Примечание

Для американских вариантов используется метод наименьших квадратов Лонгстаффа-Шварца для расчета ранней надбавки за упражнения. Для получения дополнительной информации о методе наименьших квадратов см. https://people.math.ethz.ch / % 7Ehjfurrer/teaching/LongstaffSchwartzAmericanOptionsLeastSquareMonteCarlo.pdf.

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

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

Примечание

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

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

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

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

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

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

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

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

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

свернуть все

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

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

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

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

Подробнее

свернуть все

Вариант корзины

Опцион на корзины - это опцион на портфель из нескольких базовых акционерных активов.

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

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

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

Дополнительные сведения см. в разделе Параметры корзины.

Ссылки

[1] Лонгстафф, Ф.А. и Э.С. Шварц. «Оценка американских вариантов путем моделирования: простой подход методом наименьших квадратов». Обзор финансовых исследований. Том 14, № 1, весна 2001, стр. 113-147.

Представлен в R2009b