asiansensbyls

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

Синтаксис

PriceSens = asiansensbyls(RateSpec,StockSpec,OptSpec,StrikeSettle,ExerciseDates)
PriceSens = asiansensbyls(___,Name,Value)
[PriceSens,Path,Times,Z] = asiansensbyls(RateSpec,StockSpec,OptSpec,StrikeSettle,ExerciseDates)
[PriceSens,Path,Times,Z] = asiansensbyls(___,Name,Value)

Описание

PriceSens = asiansensbyls(RateSpec,StockSpec,OptSpec,StrikeSettle,ExerciseDates) возвращает азиатские цены опции или чувствительность для фиксированного - и азиатские опции плавающей забастовки с помощью модели Лонгштафф-Шварца. asiansensbyls поддерживает европейские и американские азиатские опции.

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

Чтобы вычислить значение азиатской опции плавающей забастовки, Strike должен быть задан как NaN. Азиатские опции фиксированной забастовки также известны как опции средней стоимости, и азиатские опции плавающей забастовки также известны как средние опции забастовки.

PriceSens = asiansensbyls(___,Name,Value) возвращает азиатские цены опции или чувствительность для фиксированного - и азиатские опции плавающей забастовки с помощью дополнительных аргументов пары "имя-значение" и модели Лонгштафф-Шварца.

[PriceSens,Path,Times,Z] = asiansensbyls(RateSpec,StockSpec,OptSpec,StrikeSettle,ExerciseDates) возвращает азиатские цены опции или чувствительность (PriceSens, Path, Times и Z) для фиксированного - и азиатские опции плавающей забастовки с помощью модели Лонгштафф-Шварца.

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

Примеры

свернуть все

Задайте RateSpec.

Rates = 0.05;
StartDate = 'Jan-1-2013';
EndDate = 'Jan-1-2014';
RateSpec = intenvset('ValuationDate', StartDate, 'StartDates', StartDate, ...
'EndDates', EndDate,'Compounding', -1, 'Rates', Rates)
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: -1
             Disc: 0.9512
            Rates: 0.0500
         EndTimes: 1
       StartTimes: 0
         EndDates: 735600
       StartDates: 735235
    ValuationDate: 735235
            Basis: 0
     EndMonthRule: 1

Задайте StockSpec для актива.

AssetPrice = 100;
Sigma = 0.2;
StockSpec = stockspec(Sigma, AssetPrice)
StockSpec = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.2000
         AssetPrice: 100
       DividendType: []
    DividendAmounts: 0
    ExDividendDates: []

Задайте азиатскую опцию 'call'.

Settle = 'Jan-1-2013';
ExerciseDates = 'Jan-1-2014';
Strike = 110;
OptSpec = 'call';

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

NumTrials = 10000;
NumPeriods = 100;
AvgType = 'arithmetic';
Antithetic= true;
OutSpec = {'Price', 'Delta', 'Gamma'};
PriceSens = asiansensbyls(RateSpec, StockSpec, OptSpec, Strike, Settle, ExerciseDates, ...
'NumTrials', NumTrials, 'NumPeriods', NumPeriods,'Antithetic', Antithetic, 'AvgType', ...
AvgType,'OutSpec',OutSpec)
PriceSens = 1.9876

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

свернуть все

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

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

Спецификация запаса для базового актива, заданное использование StockSpec получен из stockspec. Для получения информации о спецификации запаса смотрите stockspec.

stockspec может обработать другие типы базовых активов. Например, запасы, индексы запаса и предметы потребления. Если дивиденды не заданы в StockSpec, дивиденды приняты, чтобы быть 0.

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

Определение опции, заданной как 'call' или 'put' с помощью вектора символов.

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

Значение цены исполнения опциона опции, заданное с неотрицательным скалярным целым числом. Чтобы вычислить значение азиатской опции плавающей забастовки, Strike должен быть задан как NaN. Азиатские опции плавающей забастовки также известны как средние опции забастовки.

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

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

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

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

  • Для европейской опции используйте 1-by-1 вектор дат. Для европейской опции на дате окончания срока действия опции существует только один ExerciseDates.

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

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

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

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

Пример: PriceSens = asiansensbyls(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates,'NumTrials',NumTrials,'NumPeriods', NumPeriods,'Antithetic',Antithetic,'AvgType',AvgType,'OutSpec',{'All'})

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

  • 0 — Европеец

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

Примечание

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

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

Средние типы, заданные как пара, разделенная запятой, состоящая из 'AvgType' и arithmetic для среднего арифметического или geometric для среднего геометрического.

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

Средняя стоимость базового актива в Settle, заданном как пара, разделенная запятой, состоящая из 'AvgPrice' и скалярного числового значения.

Примечание

Используйте этот аргумент когда AvgDate <Settle.

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

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

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

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

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

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

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

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

Типы данных: single | 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

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

свернуть все

Ожидаемая цена или чувствительность (заданный OutSpec) азиатской опции, возвращенной как 1-by-1 массив.

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

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

Возвращены зависимые случайные варьируемые величины, возвращенные, если Z задан как дополнительный входной параметр, то же значение. В противном случае Z содержит случайные варьируемые величины, сгенерированные внутренне.

Введенный в R2013b