optstockbystt

Цена ванильных опций на акции с помощью стандартного триномиального дерева

Описание

пример

[Price,PriceTree] = optstockbystt(STTTree,OptSpec,Strike,Settle,ExerciseDates) возвращает ванильные опции (американские, европейские или бермудские) цены на акции с помощью стандартного триномиального (STT) дерева.

пример

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

Примеры

свернуть все

Создайте RateSpec.

StartDates = 'Jan-1-2009'; 
EndDates = 'Jan-1-2013'; 
Rates = 0.035; 
Basis = 1; 
Compounding = -1;
RateSpec = intenvset('ValuationDate', StartDates, 'StartDates', StartDates,...
'EndDates', EndDates, 'Rates', Rates,'Compounding', Compounding, 'Basis', Basis)
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: -1
             Disc: 0.8694
            Rates: 0.0350
         EndTimes: 4
       StartTimes: 0
         EndDates: 735235
       StartDates: 733774
    ValuationDate: 733774
            Basis: 1
     EndMonthRule: 1

Создайте StockSpec.

AssetPrice = 85; 
Sigma = 0.15; 
StockSpec = stockspec(Sigma, AssetPrice)
StockSpec = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.1500
         AssetPrice: 85
       DividendType: []
    DividendAmounts: 0
    ExDividendDates: []

Создайте STTTree.

NumPeriods = 4;
TimeSpec = stttimespec(StartDates, EndDates, 4);
STTTree = stttree(StockSpec, RateSpec, TimeSpec)
STTTree = struct with fields:
       FinObj: 'STStockTree'
    StockSpec: [1x1 struct]
     TimeSpec: [1x1 struct]
     RateSpec: [1x1 struct]
         tObs: [0 1 2 3 4]
         dObs: [733774 734139 734504 734869 735235]
        STree: {1x5 cell}
        Probs: {[3x1 double]  [3x3 double]  [3x5 double]  [3x7 double]}

Определите опции вызова и размещения и вычислите цену.

Settle = '1/1/09';
ExerciseDates = [datenum('1/1/11');datenum('1/1/12')];
OptSpec =  {'call';'put'};
Strike =[100;80];

Price = optstockbystt(STTTree, OptSpec, Strike, Settle, ExerciseDates)
Price = 2×1

    4.5025
    3.0603

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

свернуть все

Структура дерева запасов для стандартного триномиального дерева, заданная при помощи stttree.

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

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

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

Опциональное значение цены доставки, заданное как NINST-by- 1 или NINST-by- NSTRIKES в зависимости от типа опции:

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

  • Для опции Бермудских островов используйте NINST-by- NSTRIKES матрица страйк-цен. Каждая строка является расписанием для одной опции. Если опция имеет меньше NSTRIKES возможности упражнений, конец строки заполнен NaNс.

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

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

Дата расчета или торговая дата для опции ванили, заданная как NINST-by- 1 вектор векторов символов дат или серийных номеров дат.

Примечание

The Settle дата для каждой опции ванили устанавливается в ValuationDate дерева запасов. Аргумент опции ванили Settle игнорируется.

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

Опции даты упражнений, заданные как NINST-by- 1, NINST-by- 2, или NINST-by- NSTRIKES использование серийных номеров дат или векторов символов дат в зависимости от типа опции:

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

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

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

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

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

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

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

Тип опции, заданный как разделенная разделенными запятой парами, состоящая из 'AmericanOpt' и a NINST-by- 1 вектор целочисленных флагов со значениями:

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

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

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

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

свернуть все

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

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

  • PriceTree.PTree содержит чистые цены.

  • PriceTree.tObs содержит время наблюдения.

  • PriceTree.dObs содержит даты наблюдений.

Подробнее о

свернуть все

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

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

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

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

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

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

где:

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

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

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

Введенный в R2015b