asianbyls

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

Синтаксис

Price = asianbyls(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates)
Price = asianbyls(___,Name,Value)
[Price,Paths,Times,Z] = asianbyls(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates)
[Price,Paths,Times,Z] = asianbyls(___,Name,Value)

Описание

пример

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

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

Чтобы вычислить значение азиатской опции плавающей забастовки, 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';

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

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

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

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

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

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

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

  • 0 — Европеец

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

Примечание

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

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

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

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

Введенный в R2013b