optstockbyls

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

Синтаксис

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

Описание

пример

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

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

пример

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

пример

[Price,Path,Times,Z] = optstockbyls(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates) возвращает цены опции ванили с помощью модели Лонгштафф-Шварца.

пример

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

Примеры

свернуть все

Задайте RateSpec.

StartDates = 'Jan-1-2013';
EndDates = 'Jan-1-2015';
Rates = 0.05;
RateSpec = intenvset('ValuationDate', StartDates, 'StartDates', StartDates, ...
'EndDates', EndDates, 'Rates', Rates)
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: 2
             Disc: 0.9060
            Rates: 0.0500
         EndTimes: 4
       StartTimes: 0
         EndDates: 735965
       StartDates: 735235
    ValuationDate: 735235
            Basis: 0
     EndMonthRule: 1

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

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

Задайте опцию ванили.

OptSpec = 'put';
Settle = 'Jan-1-2013';
ExerciseDates = 'Jan-1-2015';
Strike = 105;

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

Antithetic = true;
Price = optstockbyls(RateSpec, StockSpec, OptSpec, Strike, Settle, ...
ExerciseDates, 'Antithetic', Antithetic)
Price = 3.2292

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

свернуть все

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

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

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

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

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

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

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

Значение цены исполнения опциона опции, заданное с неотрицательным скалярным целым числом:

  • Для европейской опции используйте скаляр цены исполнения опциона.

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

  • Для американской опции используйте скаляр цены исполнения опциона.

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

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

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

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

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

  • Для опции Бермуд используйте 1-by-NSTRIKES вектор дат.

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

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

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

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

Пример: Price = optstockbyls(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates,'AmericanOpt','1','NumTrials','2000')

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

  • 0 — Европеец или Бермуды

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

Примечание

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

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

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

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

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

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

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

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

Индикатор для прямо противоположной выборки, заданной со значением 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