lookbacksensbyls

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

Синтаксис

[PriceSens,Paths,Times,Z] = lookbacksensbyls(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates)
[PriceSens,Paths,Times,Z] = lookbacksensbyls(___,Name,Value)

Описание

пример

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

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

lookbacksensbyls вычисляет значения фиксированных - и плавающая забастовка lookback опции. Чтобы вычислить значение плавающей забастовки lookback опция, 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: []

Задайте плавание lookback опция.

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

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

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: []

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

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

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

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

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

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

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

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

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

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (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 рассматривается только при оценке европейских lookback опций. Для американских lookback опций NumPeriod равен номеру дней осуществления во время жизни опции.

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

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

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

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

Типы данных: логический

Задайте выходные параметры, заданные как пара, разделенная запятой, состоящая из 'OutSpec' и NOUT - 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) lookback опции, возвращенной как 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 содержит случайные варьируемые величины, сгенерированные внутренне.

Ссылки

[1] Оболочка, J. C. Опции, фьючерсы и другие производные 5-й выпуск. Englewood Cliffs, NJ: Prentice Hall, 2002.

Введенный в R2014a