asiansensbyls

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

Описание

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

Для американских опций Longstaff-Schwartz методом наименьших квадратов используется для вычисления премии за ранние упражнения.

Чтобы вычислить значение опции для Азии с плавающим ударом, 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) для азиатских опций fixed- и floating-strike с использованием необязательных аргументов пары "имя-значение" и модели Лонгстафа-Шварца.

Примеры

свернуть все

Определите 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 вектор контуров дат упражнения. Опция может быть использована в любую дату между или включая пару дат в этой строке. Если только один не - NaN указана дата, или если ExerciseDates является 1-by- 1 вектор последовательных номеров дат или массив ячеек из векторов символов, опция может быть реализована между Settle и один из перечисленных ExerciseDates.

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

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

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. 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' и a NINST-by- 1 положительные целочисленные скалярные флаги со значениями:

  • 0 - Европейский

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

Примечание

Для американских опций Longstaff-Schwartz методом наименьших квадратов используется для вычисления премии за ранние упражнения. Для получения дополнительной информации о методе наименьших квадратов смотрите https ://people.math.etz.ch/% 7Ehjfurrer/training/LongstaffSchwartzAmericanOptionsLeastSquareMonteCarlo.pdf.

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

Задайте выходы, заданные как разделенная разделенными запятой парами, состоящая из 'OutSpec' и a NOUT- by- 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 массив.

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

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

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

Подробнее о

свернуть все

Азиатская опция

Опция Asian является зависящей от пути опцией с окупаемостью, связанной со средним значением базового актива в течение жизни (или некоторой части жизни) опции.

Азиатские опции аналогичны интерполяционным опциям в том, что существует два типа азиатских опций: фиксированный (опция средней цены) и плавающий (среднее значение забастовки). Фиксированные азиатские опции имеют заданную забастовку, в то время как плавающие азиатские опции имеют забастовку, равную среднему значению базового актива за срок действия опции. Для получения дополнительной информации смотрите Asian Option.

Введенный в R2013b