optstockbystt

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

Синтаксис

[Price,PriceTree] = optstockbystt(STTTree,OptSpec,Strike,Settle,ExerciseDates)
[Price,PriceTree] = optstockbystt(___,Name,Value)

Описание

пример

[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 вектор цен исполнения опциона.

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

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

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

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

Примечание

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

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

Даты осуществления опции, заданные как NINST-by-1, NINST-by-2 или NINST-by-NSTRIKES последовательные числа даты или векторы символов даты, в зависимости от типа опции:

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

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

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

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

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

Введенный в R2015b