basketbyls

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

Описание

пример

[Price,Paths,Times,Z] = basketbyls(RateSpec,BasketStockSpec,OptSpec,Strike,Settle,ExerciseDates) ценовые опции корзины с помощью модели Лонгштафф-Шварца.

Для американских опций метод наименьших квадратов Лонгштафф-Шварца используется, чтобы вычислить раннюю премию осуществления.

пример

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

Примеры

свернуть все

Найдите американскую опцию корзины вызова трех запасов. Запасы в настоящее время стоят на уровне 35$, 40$ и 45$ с ежегодными колебаниями 12%, 15% и 18%, соответственно. Корзина содержит 33,33% каждого запаса. Примите, что корреляция между всей парой активов составляет 50%. 1 мая 2009 инвестор хочет купить трехлетний колл-опцион с ценой исполнения опциона 42$. Текущая пересчитываемая на год постоянно составляемая процентная ставка составляет 5%. Используйте эти данные, чтобы вычислить цену опции корзины вызова с помощью модели Лонгштафф-Шварца.

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

Увеличьте число испытаний симуляции к 2 000, чтобы дать следующие результаты:

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 вектор контуров даты осуществления. Опция тренируется в любую дату между, или включая, пара дат на той строке. Если существует только один non-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.

Типы данных: логический

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

свернуть все

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

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

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

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

Больше о

свернуть все

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

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

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

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

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

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

Ссылки

[1] Longstaff, F.A., и Э.С. Шварц. “Оценивая американские Опции Симуляцией: Простой Подход Наименьших квадратов”. Анализ Финансовых Исследований. Издание 14, № 1, Spring 2001, стр 113–147.

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