itttree

Создайте подразумеваемое трехчленное дерево запаса

Синтаксис

ITTTree = itttree(StockSpec,RateSpec,TimeSpec,StockOptSpec)

Описание

пример

ITTTree = itttree(StockSpec,RateSpec,TimeSpec,StockOptSpec) создает подразумеваемый трехчлен (ITT) дерево запаса.

Примеры

свернуть все

Примите, что процентная ставка ежегодно фиксируется в 8% между датой оценки дерева (1 января 2006) до его зрелости.

Rate = 0.08;
ValuationDate = '01-01-2006';
EndDate = '01-01-2008';

RateSpec = intenvset('StartDates', ValuationDate, 'EndDates', EndDate, ...
    'ValuationDate', ValuationDate, 'Rates', Rate, 'Compounding', -1);

Чтобы создать ITTTree, создайте StockSpec, TimeSpec и структуры StockOptSpec.

Sigma = 0.20;
AssetPrice = 50;
DividendType = 'cash';
DividendAmounts = [0.50; 0.50; 0.50; 0.50];
ExDividendDates = {'03-Jan-2007'; '01-Apr-2007'; '05-July-2007';'01-Oct-2007'}

StockSpec = stockspec(Sigma, AssetPrice, DividendType, ... 
DividendAmounts, ExDividendDates);

ValuationDate = '01-01-2006';
EndDate = '01-01-2008';
NumPeriods = 4;
 
TimeSpec = itttimespec(ValuationDate, EndDate, NumPeriods);

Создайте структуру StockOptSpec.

Settle =   '01/01/06';

Maturity =    ['07/01/06';
    '07/01/06';
    '07/01/06';
    '07/01/06';
    '01/01/07';
    '01/01/07';
    '01/01/07';
    '01/01/07';
    '07/01/07';
    '07/01/07';
    '07/01/07';
    '07/01/07';
    '01/01/08';
    '01/01/08';
    '01/01/08';
    '01/01/08'];

Strike = [113;
   101;
   100;
    88;
   128;
   112;
   100;
    78;
   144;
   112;
   100;
    69;
   162;
   112;
   100;
    61];

OptPrice =[                 0;
   4.807905472659144;
   1.306321897011867;
   0.048039195057173;
                   0;
   2.310953054191461;
   1.421950392866235;
   0.020414826276740;
                   0;
   5.091986935627730;
   1.346534812295291;
   0.005101325584140;
                   0;
   8.047628153217246;
   1.219653432150932;
   0.001041436654748];


OptSpec = { 'call';
    'call';
    'put';
    'put';
    'call';
    'call';
    'put';
    'put';
    'call';
    'call';
    'put';
    'put';
    'call';
    'call';
    'put';
    'put'};
    
StockOptSpec = stockoptspec(OptPrice, Strike, Settle, Maturity, OptSpec);

Используйте itttree, чтобы создать структуру ITTTree. Отметьте в этом примере, предупреждения экстраполяции включены. Эти предупреждения являются последствием необходимости экстраполировать, чтобы найти цену опции древовидных узлов. В этом примере набор входных опций был слишком узким для сдвига в древовидных узлах, введенных воздействием, используемым, чтобы вычислить чувствительность. Как следствие экстраполяция для некоторых узлов была необходима.

warning('on', 'fininst:itttree:Extrapolation');
ITTTree = itttree(StockSpec, RateSpec, TimeSpec, StockOptSpec)
Warning: The option set specified in StockOptSpec was too narrow for the generated tree.
This made extrapolation necessary. Below is a list of the options that were outside of
the range of those specified in StockOptSpec.

Option Type: 'call'   Maturity: 02-Jul-2006  Strike=60.7466
Option Type: 'put'   Maturity: 02-Jul-2006  Strike=50.0731
Option Type: 'put'   Maturity: 02-Jul-2006  Strike=41.3344
Option Type: 'call'   Maturity: 01-Jan-2007  Strike=73.8592
Option Type: 'call'   Maturity: 01-Jan-2007  Strike=60.8227
Option Type: 'put'   Maturity: 01-Jan-2007  Strike=50.1492
Option Type: 'put'   Maturity: 01-Jan-2007  Strike=41.4105
Option Type: 'put'   Maturity: 01-Jan-2007  Strike=34.2559
Option Type: 'call'   Maturity: 02-Jul-2007  Strike=88.8310
Option Type: 'call'   Maturity: 02-Jul-2007  Strike=72.9081
Option Type: 'call'   Maturity: 02-Jul-2007  Strike=59.8715
Option Type: 'put'   Maturity: 02-Jul-2007  Strike=49.1980
Option Type: 'put'   Maturity: 02-Jul-2007  Strike=40.4594
Option Type: 'put'   Maturity: 02-Jul-2007  Strike=33.3047
Option Type: 'put'   Maturity: 02-Jul-2007  Strike=27.4470
Option Type: 'call'   Maturity: 01-Jan-2008  Strike=107.2895
Option Type: 'call'   Maturity: 01-Jan-2008  Strike=87.8412
Option Type: 'call'   Maturity: 01-Jan-2008  Strike=71.9183
Option Type: 'call'   Maturity: 01-Jan-2008  Strike=58.8817
Option Type: 'put'   Maturity: 01-Jan-2008  Strike=48.2083
Option Type: 'put'   Maturity: 01-Jan-2008  Strike=39.4696
Option Type: 'put'   Maturity: 01-Jan-2008  Strike=32.3150
Option Type: 'put'   Maturity: 01-Jan-2008  Strike=26.4573
Option Type: 'put'   Maturity: 01-Jan-2008  Strike=21.6614

> In itttree>InterpOptPrices at 675
  In itttree at 277

ITTTree = 

          FinObj: 'ITStockTree'
       StockSpec: [1x1 struct]
    StockOptSpec: [1x1 struct]
        TimeSpec: [1x1 struct]
        RateSpec: [1x1 struct]
            tObs: [0 0.500000000000000 1 1.500000000000000 2]
            dObs: [732678 732860 733043 733225 733408]
           STree: {1x5 cell}
           Probs: {[3x1 double]  [3x3 double]  [3x5 double]  [3x7 double]}

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

свернуть все

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

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

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

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

Древовидная спецификация размещения времени, заданная TimeSpec, получена из itttimespec. TimeSpec задает даты наблюдения дерева ITT. Смотрите itttimespec для получения информации о древовидной структуре.

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

Спецификация запаса опции, заданная StockOptSpec, получена из stockoptspec. Смотрите stockoptspec для получения информации о создании спецификации запаса.

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

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

свернуть все

Дерево трехчлена ITT, возвращенное как структура, задающая размещение времени для дерева.

Представленный в R2007a