exponenta event banner

lookbacksensbyls

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

Описание

пример

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

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

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около-1 клеточный массив символьных векторов.

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

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

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

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

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

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

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

  • Американский вариант - NINSTоколо-2 вектор границ даты упражнения. Для каждого инструмента опцион осуществляется на любую дату купона между или включая пару дат в этой строке. Если только один не -NaN дата указана, или если ExerciseDates является NINSTоколо-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 - американский

Примечание

Для американских вариантов используется метод наименьших квадратов Лонгстаффа-Шварца для расчета ранней надбавки за упражнения. Для получения дополнительной информации о методе наименьших квадратов см. https://people.math.ethz.ch / % 7Ehjfurrer/teaching/LongstaffSchwartzAmericanOptionsLeastSquareMonteCarlo.pdf.

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

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

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

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

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

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

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

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

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

Определите выходы, указанные как разделенная запятыми пара, состоящая из 'OutSpec' и NOUTоколо-1 или 1около-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около-1 массив.

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

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

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

Подробнее

свернуть все

Опция обратного просмотра

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

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

Ссылки

[1] Халл, J. C. Опционы, фьючерсы и другие деривативы 5-е издание. Энглвуд Клиффс, Нью-Джерси: Прентис Холл, 2002.

Представлен в R2014a