lookbacksensbyls

Вычислите цену и чувствительность для европейских или американских опций поиска с помощью симуляций Монте-Карло

Описание

пример

[PriceSens,Paths,Times,Z] = lookbacksensbyls(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates) возвращает цены или чувствительности опций поиска, используя модель Лонгстафа-Шварца для симуляций Монте-Карло. lookbacksensbyls вычисляет цены на европейские и американские опции поиска.

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

lookbacksensbyls вычисляет значения опций поиска с фиксированным и плавающим ударами. Чтобы вычислить значение опции поиска с плавающим ударом, Strike должно быть задано как NaN.

пример

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

Примеры

свернуть все

Определите RateSpec.

StartDates = 'Jan-1-2013';
EndDates = 'Jan-1-2014';
Rates = 0.41;
Compounding = -1;
RateSpec = intenvset('ValuationDate', StartDates, 'StartDates', StartDates,...
'EndDates', EndDates, 'Rates', Rates,'Compounding', Compounding)
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: -1
             Disc: 0.6637
            Rates: 0.4100
         EndTimes: 1
       StartTimes: 0
         EndDates: 735600
       StartDates: 735235
    ValuationDate: 735235
            Basis: 0
     EndMonthRule: 1

Определите StockSpec с непрерывным дивидендным выражением.

AssetPrice = 120;
Sigma = 0.3;
Yield = 0.045;
StockSpec = stockspec(Sigma, AssetPrice, 'Continuous', Yield)
StockSpec = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.3000
         AssetPrice: 120
       DividendType: {'continuous'}
    DividendAmounts: 0.0450
    ExDividendDates: []

Задайте опцию плавающего поиска.

Settle   = 'Jan-1-2013';
Maturity = 'July-1-2013'; 
OptSpec = 'call';
Strike = NaN;

Вычислите цену и дельту европейской опции плавающего поиска.

OutSpec = {'price', 'delta'};
[Price, Delta] = lookbacksensbyls(RateSpec, StockSpec, OptSpec, Strike, Settle, Maturity,...
'OutSpec', OutSpec)
Price = 27.0768
Delta = 0.2256

Определите RateSpec.

StartDates = 'Jan-1-2013';
EndDates = 'Jan-1-2015';
Rates = 0.1;
Compounding = -1;
RateSpec = intenvset('ValuationDate', StartDates, 'StartDates', StartDates,...
'EndDates', EndDates, 'Rates', Rates,'Compounding', Compounding)
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: -1
             Disc: 0.8187
            Rates: 0.1000
         EndTimes: 2
       StartTimes: 0
         EndDates: 735965
       StartDates: 735235
    ValuationDate: 735235
            Basis: 0
     EndMonthRule: 1

Определите StockSpec.

AssetPrice = 103;
Sigma = 0.30;
StockSpec = stockspec(Sigma, AssetPrice)
StockSpec = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.3000
         AssetPrice: 103
       DividendType: []
    DividendAmounts: 0
    ExDividendDates: []

Задайте опцию фиксированного поиска.

Settle   = 'Jan-1-2013';
Maturity = 'July-1-2013'; 
OptSpec = 'call';
Strike = 99;

Вычислите цену и дельту европейской опции фиксированного поиска.

OutSpec = {'price', 'delta'};                                 
[Price, Delta] = lookbacksensbyls(RateSpec, StockSpec, OptSpec, Strike, Settle, Maturity,...
'OutSpec', OutSpec)
Price = 22.7227
Delta = 1.1349

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

свернуть все

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

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

Спецификация запаса для базового актива. Для получения информации о спецификации запаса см. stockspec.

stockspec может обрабатывать несколько типов базовых активов. Для примера, для физических товаров цена представлена StockSpec.Asset, волатильность представлена StockSpec.Sigma, и удобное выражение представлено StockSpec.DividendAmounts.

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

Определение опции как 'call' или 'put', заданный как NINST-by- 1 массив ячеек из векторов символов.

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

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

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

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

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

Матрица дат, подлежащих вызову или интерполяции, для европейских или американских опций, заданная как векторы символов даты или как серийные номера даты следующим образом:

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

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

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

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

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

Пример: PriceSens = lookbacksensbyls(RateSpec,StockSpec1,StockSpec2,Settle,Maturity,OptSpec,Strike,Corr,'AmericanOpt',1,'OutSpec',{'All'})

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

  • 0 - Европейский

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

Примечание

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

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

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

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

Скалярное количество периодов симуляции в исследовании, заданное как разделенная разделенными запятой парами, состоящая из 'NumPeriods' и неотрицательное целое число. NumPeriods рассматривается только при расчете цен на европейские опции поиска. Для американских опций поиска, NumPeriod равен количеству дней упражнений в течение срока действия опции.

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

Массив временных рядов зависимых случайных вариатов, заданный как разделенная разделенными запятой парами, состоящая из 'Z' и a NumPeriods-by- 1-by- NumTrials трехмерный массив. The Z значение генерирует вектор движения Brownian (то есть процессы Винера), который управляет симуляцией.

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

Индикатор для антитетической выборки, заданный как разделенная разделенными запятой парами, состоящая из 'Antithetic' и значение true или false.

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

Задайте выходы, заданные как разделенная разделенными запятой парами, состоящая из 'OutSpec' и a NOUT- by- 1 или 1-by- NOUT массив ячеек из векторов символов с возможными значениями 'Price', 'Delta', 'Gamma', 'Vega', 'Lambda', 'Rho', 'Theta', и 'All'.

OutSpec = {'All'} указывает, что выходы должны быть Delta, Gamma, Vega, Lambda, Rho, Theta, и Price, в таком порядке. Это то же самое, что и установка OutSpec включать каждую чувствительность.

Пример: OutSpec = {'delta','gamma','vega','lambda','rho','theta','price'}

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

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

свернуть все

Ожидаемая цена или чувствительность (определяется OutSpec) опции поиска, возвращенной как 1-by- 1 массив.

Моделируемые пути коррелированных переменных состояния, возвращенные как NumPeriods + 1-by- 1-by- NumTrials 3-D массив временных рядов. Каждая строка Paths - транспонирование вектора X (t) состояния в момент t для данного исследования.

Время наблюдения, сопоставленное с моделируемыми путями, возвращается как NumPeriods + 1-by- 1 вектор-столбец, сопоставленный с моделируемыми путями. Каждый элемент Times связана с соответствующей строкой Paths.

Массив временных рядов зависимых случайных вариаций, возвращаемый как NumPeriods-by- 1-by- NumTrials трехмерный массив, когда Z задается как входной параметр. Если на Z входной параметр не задан, тогда Z выходной аргумент содержит случайные изменения, сгенерированные внутри.

Подробнее о

свернуть все

Опция поиска

lookback option является зависящей от пути опцией, основанной на максимальном или минимальном значении, которого базовый актив достигает в течение всего срока службы опции.

Программное обеспечение Financial Instruments Toolbox™ поддерживает два типа опций поиска: фиксированный и плавающий. Опции фиксированного поиска имеют заданную цену доставки, в то время как опции плавающего поиска имеют цену доставки, определяемую путем актива. Для получения дополнительной информации см. Раздел «Опция поиска».

Ссылки

[1] Hull, J. C. Options, Futures, and Other Derivatives 5th Edition. Englewood Cliffs, Нью-Джерси: Prentice Hall, 2002.

Введенный в R2014a
Для просмотра документации необходимо авторизоваться на сайте