exponenta event banner

asiansensbyls

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

Описание

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) для азиатских опций 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около-1 вектор дат. Для европейского варианта есть только один ExerciseDates на дату истечения срока действия опциона.

  • Для американского варианта используйте 1около-2 вектор границ даты упражнения. Опцион может быть реализован на любую дату между или включая пару дат в этой строке. Если только один не -NaN дата указана, или если ExerciseDates является 1около-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' и NINSTоколо-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около-2около-NumTrials 3-D массив временных рядов.

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

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

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

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

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

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

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

Подробнее

свернуть все

Азиатский вариант

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

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

Представлен в R2013b