basketsensbyls

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

Синтаксис

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

Описание

пример

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

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

пример

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

Примеры

свернуть все

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

Settle = 'May-1-2009';
Maturity  = 'May-1-2010';

% 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.
NumInst  = 2;
InstIdx = ones(NumInst,1);
Corr = diag(ones(NumInst,1), 0);

% Define BasketStockSpec
AssetPrice =  [90; 75]; 
Volatility = 0.15;
Quantity = [0.50; 0.50];
BasketStockSpec = basketstockspec(Volatility, AssetPrice, Quantity, Corr);

% Compute the price of the put basket option. Calculate also the delta 
% of the first stock.
OptSpec = {'put'};
Strike = 80;
OutSpec = {'Price','Delta'}; 
UndIdx = 1; % First element in the basket
                                     
[PriceSens, Delta] = basketsensbyls(RateSpec, BasketStockSpec, OptSpec,...
Strike, Settle, Maturity,'OutSpec', OutSpec,'UndIdx', UndIdx)
PriceSens = 0.9822
Delta = -0.0995

Вычислите Price и Delta корзины с корреляцией-20%:

NewCorr = [1 -0.20; -0.20 1];

% Define the new BasketStockSpec.
BasketStockSpec = basketstockspec(Volatility, AssetPrice, Quantity, NewCorr);

% Compute the price and delta of the put basket option. 
[PriceSens, Delta] = basketsensbyls(RateSpec, BasketStockSpec, OptSpec,...
Strike, Settle, Maturity,'OutSpec', OutSpec,'UndIdx', UndIdx)
PriceSens = 0.7814
Delta = -0.0961

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

свернуть все

Структура термина процентной ставки (пересчитанный на год и постоянно составляемый), заданный 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.

Пример: PriceSens = basketsensbyls(RateSpec,BasketStockSpec,OptSpec, Strike,Settle,Maturity,'AmericanOpt',AmericanOpt,'NumTrials',NumTrial,'OutSpec','delta')

Тип опции, заданный как пара, разделенная запятой, состоящая из '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.

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

Задайте выходные параметры, заданные как пара, разделенная запятой, состоящая из 'OutSpec' и NOUT - 1 или 1-by-NOUT массив ячеек из символьных векторов с возможными значениями 'Price', 'Delta', 'Gamma', 'Vega', 'Lambda', 'Rho', 'Theta' и 'All'.

OutSpec = {'All'} указывает, что выводом является Delta, Gamma, Vega, Lambda, Rho, Theta и Price, в том порядке. Это совпадает с определением OutSpec, чтобы включать каждую чувствительность.

Пример: OutSpec = {'delta','gamma','vega','lambda','rho','theta','price'}

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

Индекс базового инструмента, чтобы вычислить чувствительность, заданную как пара, разделенная запятой, состоящая из 'UndIdx' и числового скаляра.

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

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

свернуть все

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