optstockbyls

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

Описание

пример

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

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

пример

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

пример

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

пример

[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;

Вычислите цену опции ванили с помощью модели Longstaff-Schwartz.

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

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

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

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

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

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

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

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

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

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

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

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

  • 0 - Европейский или Бермудский

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

Примечание

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

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

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

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

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

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

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

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

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

Подробнее о

свернуть все

Ванильные Опции

A vanilla option - это категория опций, которая включает только самые стандартные компоненты.

Ванильная опция имеет срок годности и прямолинейную цену доставки. Опции в американском стиле и опции в европейском стиле классифицируются как опции ванили.

Выплата для ванильной опции следующая:

  • Для вызова: max(StK,0)

  • Для размещения: max(KSt,0)

где:

St - цена базового актива на t времени.

K - цена доставки.

Для получения дополнительной информации смотрите Опцию Vanilla.

Введенный в R2013b