barriersensbyfd

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

Описание

пример

[PriceSens,PriceGrid,AssetPrices,Times] = barriersensbyfd(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates,BarrierSpec,Barrier) вычисляет европейские и американские цены барьерного опциона или чувствительность одного базового актива с помощью метода конечной разности. barrierbyfd принимает, что барьер постоянно проверяется.

пример

[PriceSens,PriceGrid,AssetPrices,Times] = barriersensbyfd(___,Name,Value) добавляют дополнительные аргументы пары "имя-значение". barriersesbyfd принимает, что барьер постоянно проверяется.

Примеры

свернуть все

Создайте RateSpec.

AssetPrice = 50;
Strike = 45;
Rate = 0.035;
Volatility = 0.30;
Settle = '01-Jan-2015';
Maturity = '01-Jan-2016';
Basis = 1;
 
RateSpec = intenvset('ValuationDate',Settle,'StartDates',Settle,'EndDates',...
Maturity,'Rates',Rate,'Compounding',-1,'Basis',Basis)
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: -1
             Disc: 0.9656
            Rates: 0.0350
         EndTimes: 1
       StartTimes: 0
         EndDates: 736330
       StartDates: 735965
    ValuationDate: 735965
            Basis: 1
     EndMonthRule: 1

Создайте StockSpec.

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

Вычислите Price\delta, и Theta из европейца Вниз и колл-опциона с помощью метода конечной разности.

Barrier = 40;
BarrierSpec = 'DO';
OptSpec = 'Call';
OutSpec = {'price';'delta';'theta'};
[Price, Delta, Theta] = barriersensbyfd(RateSpec,StockSpec,OptSpec,Strike,Settle,...
Maturity, BarrierSpec,Barrier,'Outspec',OutSpec)
Price = 8.5020
Delta = 0.8569
Theta = -1.8502

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

свернуть все

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

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

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

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

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

Определение опции как 'call' или 'put'В виде вектора символов или массива строк со значениями "call" или "put".

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

Значение цены исполнения опциона опции в виде числового скаляра.

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

Урегулирование или торговая дата барьерного опциона в виде последовательного номера даты, вектора символов даты или объекта datetime.

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

Даты осуществления опции в виде последовательного номера даты, вектора символов даты или объекта datetime:

  • Для европейской опции существует только один ExerciseDates на дате окончания срока действия опции, которая является зрелостью инструмента.

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

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

Тип барьерного опциона в виде вектора символов со следующими значениями:

  • 'UI' — Удар - в

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

  • 'UO' — Нокаут

    Эта опция дает держателю опции, право, но не обязательство, чтобы купить или продать (вызывает/помещает) базовый актив по цене исполнения опциона, пока базовый актив не выходит за предел уровня барьера во время жизни опции. Эта опция завершает работу, когда цена базового актива передает выше уровня барьера. Обычно, с-и опцией, уступка заплачена, если спотовая цена базовых пределов или превышает уровень барьера.

  • 'DI' — Вниз удар - в

    Эта опция вступает в силу, когда цена базового запаса передает ниже уровня барьера. Это дает держателю опции, право, но не обязательство, чтобы купить или продать (вызывает/помещает) базовый актив по цене исполнения опциона, если базовый актив понижается уровень барьера во время жизни опции. С down-in опцией заплачена уступка, если спотовая цена базового не достигает уровня барьера во время жизни опции. Примечание, barrierbyfd не поддерживает американский удар - в барьерных опционах.

  • 'DO' — Вниз удар

    Эта опция дает держателю опции, право, но не обязательство, чтобы купить или продать (вызывает/помещает) базовый актив по цене исполнения опциона, пока базовый актив не понижается уровень барьера во время жизни опции. Эта опция завершает работу, когда цена базового актива передает ниже уровня барьера. Обычно держатель опции получает сумму уступки, если опция истекает бесполезная.

ОпцияТип барьераВыплата, если Пересеченный БарьерВыплата, если Барьер, не Пересеченный
Вызвать/ПоместитьВниз нокаутБесполезныйСтандарт вызывает/Помещает
Вызвать/ПоместитьВниз удар - вВызвать/ПоместитьБесполезный
Вызвать/ПоместитьНокаутБесполезныйСтандарт вызывает/Помещает
Вызвать/ПоместитьУдар - вСтандарт вызывает/ПомещаетБесполезный

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

Уровень барьера в виде числового скаляра.

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

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

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

Пример: PriceSens = barriersensbyfd(RateSpec,StockSpec,OptSpec,Strike,Settle,Maturity,BarrierSpec,Barrier,Rebate,1000,AmericanOpt,1)

Значение уступки в виде разделенной запятой пары, состоящей из 'Rebate' и числовой скаляр. Для Удара - в опциях, Rebate заплачен при истечении. Для Knock-out опции, Rebate заплачен когда Barrier достигнут.

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

Задайте выходные параметры в виде разделенной запятой пары, состоящей из '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

Размер сетки актива, используемой для сетки конечной разности в виде разделенной запятой пары, состоящей из 'AssetGridSize' и скаляр, положительный числовой.

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

Размер сетки времени, используемой для сетки конечной разности в виде разделенной запятой пары, состоящей из 'TimeGridSize' и скаляр, положительный числовой.

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

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

  • 0 — Европеец

  • 1 — Американец

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

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

свернуть все

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

Сетка, содержащая цены, вычисленные методом конечной разности, возвращенным как двумерная сетка с размером PriceGridSize*length(Times). Количество столбцов не должно быть равно TimeGridSize, потому что без дивиденда даты в StockSpec добавляются к сетке времени. Цена за t = 0 содержится в PriceGrid(:, end).

Цены актива заданы StockSpec соответствие первой размерности PriceGrid, возвращенный как вектор.

Времена соответствуя второму измерению PriceGrid, возвращенный как вектор.

Больше о

свернуть все

Барьерный опцион

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

Уступка является установленной суммой, которая заплачена, если опция не может быть осуществлена, потому что уровень барьера был достигнут или не достигнут. Выплата для этого типа опции зависит от того, пересекает ли базовый актив предопределенное триггерное значение (уровень барьера), обозначенный Barrier, во время жизни опции. Для получения дополнительной информации смотрите Барьерный опцион.

Ссылки

[1] Оболочка, J. Опции, фьючерсы и Другие Производные. Четвертый Выпуск. Prentice Hall, 2000, стр 646–649.

[2] Aitsahlia, F., Л. Имхоф и Т.Л. Лай. “Оценивая и страхуясь американского удара - в опциях”. Журнал Производных. Издание 11.3, 2004, стр 44–50.

[3] Рубинштайн М. и Э. Райнер. “Устраняя препятствия”. Риск. Издание 4 (8), 1991, стр 28–35.

Введенный в R2017b