basketbyls

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

Синтаксис

[Price,Paths,Times,Z] = basketbyls(RateSpec,BasketStockSpec,OptSpec,Strike,Settle,ExerciseDates)
[Price,Paths,Times,Z] = basketbyls(___,Name,Value)

Описание

пример

[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-by-1 массив ячеек из символьных векторов.

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

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

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

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

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

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

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

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

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

  • Для американской опции ExerciseDates является 1-by-2 вектор контуров даты осуществления. Опция тренируется в любую дату между, или включая, пара дат на той строке. Если существует только одна non-NaN дата, или если ExerciseDates является 1-by-1, упражнения опции между датой Settle и одним перечисленным ExerciseDate.

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

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: Price = basketbyls(RateSpec,BasketStockSpec,OptSpec, Strike,Settle,Maturity,'AmericanOpt',AmericanOpt,'NumTrials',NumTrial)

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

  • 0 — Европеец/Бермуды

  • 1 — Американец

Примечание

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

свернуть все

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

Ссылки

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

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