exponenta event banner

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 европейского вызова Down и Out с использованием метода конечных разностей.

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

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

Тип параметра «Барьер», заданный как символьный вектор со следующими значениями:

  • 'UI' - Up Stock-in

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

  • 'UO' - Вырубка вверх

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

  • 'DI' - Посадка вниз

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

  • 'DO' - Сбивка вниз

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

ВыборТип барьераОкупаемость при пересечении барьераОкупаемость, если барьер не пересечен
Вызов/вводВыбивание внизБесполезныйСтандартный вызов/ввод
Вызов/вводDown Knock-inВызов/вводБесполезный
Вызов/вводВырубка вверхБесполезныйСтандартный вызов/ввод
Вызов/вводUp Stock-inСтандартный вызов/вводБесполезный

Типы данных: 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' и скалярный числовой. Для опций Stock-in, 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 - американский

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

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

свернуть все

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

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

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

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

Подробнее

свернуть все

Вариант барьера

Вариант «Барьер» имеет не только цену страйка, но и уровень барьера, а иногда и скидку.

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

Ссылки

[1] Халл, J. Опционы, фьючерсы и другие деривативы. Четвертое издание. Prentice Hall, 2000, стр. 646-649.

[2] Айтсалия, Ф., Л. Имхоф и Т. Л. Лай. «Ценообразование и хеджирование американских опционов.» Журнал производных. т. 11.3, 2004, стр. 44-50.

[3] Рубинштейн М. и Э. Рейнер. «Сломать барьеры.» Риск. Том 4 (8), 1991, стр. 28-35.

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