asianbyls

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

Описание

пример

Price = asianbyls(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates) Возвраты цены азиатских опций с фиксированными и плавающими страйками с помощью модели Лонгстафа-Шварца. asianbyls вычисляет цены на европейские и американские азиатские опции.

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

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

Price = asianbyls(___,Name,Value) добавляет необязательные аргументы пары "имя-значение".

пример

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

[Price,Paths,Times,Z] = asianbyls(___,Name,Value) добавляет необязательные аргументы пары "имя-значение".

Примеры

свернуть все

Определите 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';

Рассчитать цену за европейскую среднюю арифметическую цену для азиатской опции можно используя модель Longstaff-Schwartz.

NumTrials = 10000;
NumPeriods = 100;
AvgType = 'arithmetic';
Antithetic= true;
Price= asianbyls(RateSpec, StockSpec, OptSpec, Strike, Settle, ExerciseDates, ...
'NumTrials', NumTrials, 'NumPeriods', NumPeriods,'Antithetic', Antithetic, 'AvgType', AvgType)
Price = 1.9876

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

свернуть все

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

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

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

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

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

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

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

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

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

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

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

Пример: Price = asianbyls(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates,'NumTrials',NumTrials,'NumPeriods',NumPeriods,'Antithetic',Antithetic,'AvgType','arithmetic')

Тип опции, заданный как разделенная разделенными запятой парами, состоящая из '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' и скалярное числовое значение. The AvgPrice вычисляется во временном окне, начиная с AvgDate и заканчивается на Settle. Другими словами, среднее выглядит назад.

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

Ожидаемая цена азиатской опции, возвращенная как 1-by- 1 скаляр.

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

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

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

Подробнее о

свернуть все

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

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

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

Введенный в R2013b