exponenta event banner

Структура ценовых опционов

Введение

MATLAB ®Options структура обеспечивает дополнительные входные данные для большинства функций ценообразования. Options структура

  • Определяет функции ценообразования, как использовать дерево процентных ставок для расчета цен инструментов.

  • Определяет, какая дополнительная информация отображается в окне команд вместе с ценами на инструменты.

  • Определяет функции ценообразования, используемые в опциях ценового барьера.

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

Опционы расчета цены предоставляются дополнительно. Options аргумент передается функции ценообразования. (См., например, bondbyhjm, bdtprice, barrierbycrr, barrierbyeqp, или barrierbyitt.)

Структура по умолчанию

Если не указать Options в вызове функции ценообразования функция использует структуру по умолчанию. Для просмотра структуры по умолчанию используйте derivset без каких-либо аргументов.

Options = derivset
 
Options = 
 
    Diagnostics: 'off'
       Warnings: 'on'
      ConstRate: 'on'
  BarrierMethod: 'unenhanced'

Options структура имеет четыре поля: Diagnostics, Warnings, ConstRate, и BarrierMethod.

Поле диагностики

Diagnostics указывает, отображается ли дополнительная информация при изменении дерева. Значение по умолчанию для этого параметра: 'off'. Если Diagnostics имеет значение 'on' и ConstRate имеет значение 'off', функции расчета цены отображают информацию, такую как количество узлов на последнем уровне дерева, созданного для целей расчета цены.

Поле предупреждений

Warnings указывает, следует ли отображать предупреждающие сообщения, если дерево ввода недостаточно для точного расчета цен на инструменты. Значение по умолчанию для этого параметра: 'on'. Если оба ConstRate и Warnings являются 'on', отображается предупреждение, если любой из инструментов в портфеле ввода имеет дату денежного потока между древовидными датами. Если ConstRate является 'off', и Warnings является 'on', отображается предупреждение, если дерево изменено в соответствии с датами денежного потока по инструментам в портфеле.

Поле ConstRate

ConstRate указывает, следует ли считать процентные ставки постоянными между древовидными датами. По умолчанию этот параметр имеет значение 'on', что не является безарбитражным предположением. Таким образом, функции ценообразования возвращают приблизительную цену для инструментов, характеризующих денежные потоки между древовидными датами. Инструменты с денежными потоками только на узлах дерева не затрагиваются этой опцией и возвращают точные (свободные от арбитража) цены. Когда ConstRate является 'off', функция ценообразования находит даты денежного потока для всех инструментов в портфеле. Если эти денежные потоки не совпадают точно с датами дерева, создается новое дерево, которое используется для расчета цены. Это новое дерево имеет те же параметры волатильности и начальной ставки входного дерева, но содержит узлы дерева для каждой даты, в которой по крайней мере один инструмент в портфеле имеет денежный поток. Помните, что количество узлов в дереве растет экспоненциально с числом дат дерева. Итак, настройка ConstRate 'off' значительно увеличивает требования к памяти и процессору компьютера.

Поле метода определения

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

BarrierMethod поле может иметь значение 'unenhanced' (по умолчанию) или 'interp'. При указании 'unenhanced', расчет коррекции не используется. В противном случае при указании 'interp', панель инструментов обеспечивает расширенную оценку путем интерполяции между узлами на границах барьера.

Метод барьера указывается в последнем входном аргументе. Options, функций barrierbycrr, barrierbyeqp, barrierbyitt, crrprice, eqpprice, ittprice, crrsens, eqpsens, или ittsens. Options - структура, создаваемая с помощью функции derivset. Используя derivset, вы указываете, использовать ли расширенный метод или метод unenhanced.

Подробнее об этом алгоритме см. Дерман, Э., И. Кани, Д. Эргенер и И. Бардхан, «Усиленные численные методы для вариантов с барьерами», Журнал финансовых аналитиков, (ноябрь - декабрь 1995), стр. 65-74.

Настройка структуры

Настройте структуру опций, передав пары «имя свойства/значение свойства» derivset функция.

В качестве примера рассмотрим структуру опций с помощью ConstRate 'off' и Diagnostics 'on'.

Options = derivset('ConstRate', 'off', 'Diagnostics', 'on')

Options = 

  Diagnostics: 'on'
     Warnings: 'on'
    ConstRate: 'off'
BarrierMethod: 'unenhanced'

Чтобы получить значение определенного свойства из структуры Опции (Options), используйте derivget.

CR = derivget(Options, 'ConstRate')

CR =
Off

Примечание

Использовать derivset и derivget для построения структуры Options. Эти функции гарантированно останутся неизменными, в то время как реализация самой структуры может быть изменена в будущем.

Теперь наблюдайте за эффектами настройки ConstRate 'off'. Получите даты дерева из дерева HJM.

TreeDates = [HJMTree.TimeSpec.ValuationDate;... 
HJMTree.TimeSpec.Maturity]

TreeDates =

     730486
     730852
     731217
     731582
     731947

datedisp(TreeDates)

01-Jan-2000 
01-Jan-2001 
01-Jan-2002 
01-Jan-2003 
01-Jan-2004 

Все приборы в HJMInstSet рассчитаться 1 января 2000 года, и все имеют денежные потоки один раз в год, за исключением второй облигации, которая имеет период 2. Эта облигация имеет денежные потоки два раза в год, при этом каждый другой денежный поток, следовательно, попадает между древовидными датами. Можно извлечь эту облигацию из портфеля, чтобы сравнить различия в ее цене путем установки ConstRate кому 'on' и 'off'.

BondPort = instselect(HJMInstSet, 'Index', 2);

instdisp(BondPort)

Index Type CouponRate Settle      Maturity     Period Basis... 
1     Bond 0.04       01-Jan-2000 01-Jan-2004  2      NaN...

Первая цена облигации с ConstRate 'on' (по умолчанию).

format long
[BondPrice, BondPriceTree] = hjmprice(HJMTree, BondPort)
Warning: Not all cash flows are aligned with the tree. Result will 
be approximated.

BondPrice =

  97.52801411736377

BondPriceTree = 
FinObj: 'HJMPriceTree'
 PBush: {1x5 cell}
AIBush: {[0]  [1x1x2 double] ... [1x4x2 double]  [1x8 double]}
  tObs: [0 1 2 3 4]

Теперь пересчитайте цену настройки облигации ConstRate 'off'.

OptionsNoCR = derivset('ConstR', 'off')

OptionsNoCR = 

Diagnostics: 'off'
   Warnings: 'on'
  ConstRate: 'off'

[BondPriceNoCR, BondPriceTreeNoCR] = hjmprice(HJMTree,... 
BondPort, OptionsNoCR)
Warning: Not all cash flows are aligned with the tree. Rebuilding 
tree.

BondPriceNoCR =

  97.53342361674437

BondPriceTreeNoCR = 

FinObj: 'HJMPriceTree'
 PBush: {1x9 cell}
AIBush: {1x9 cell}
  tObs: [0 0.5000 1 1.5000 2 2.5000 3 3.5000 4]

Как указано в последнем предупреждении, поскольку денежные потоки облигации не были выровнены с датами дерева, для расчета цены облигации было создано новое дерево. Этот метод расчета цены возвращает более точные результаты, поскольку он гарантирует, что процесс не является арбитражным. Расчет также занимает больше времени и требует больше памяти. tObs поле структуры дерева цен указывает на увеличение использования памяти. BondPriceTree.tObs имеет только пять элементов, в то время как BondPriceTreeNoCR.tObs имеет девять. Хотя это может не казаться большой разницей, это оказывает значительное влияние на количество состояний в последнем узле.

size(BondPriceTree.PBush{end})

ans =

     1 8

size(BondPriceTreeNoCR.PBush{end})

ans =

     1 128

Различия становятся более очевидными, изучая деревья цен с treeviewer.

treeviewer(BondPriceTree, BondPort)

treeviewer(BondPriceTreeNoCR, BondPort)

All = [Delta ./ Price, Gamma ./ Price, Vega ./ Price, Price]

All =

         -2.76         10.43          0.00         98.72
         -3.56         16.64         -0.00         97.53
       -166.18      13235.59        700.96          0.05
         -2.76         10.43          0.00         98.72
         -0.01          0.03             0        100.55
         46.95       1090.63         14.91          6.28
       -969.85     173969.77       1926.72          0.05
        -76.39        287.00          0.00          3.690

См. также

| | | |

Связанные примеры

Подробнее