exponenta event banner

optstocksensbybaw

Расчет цен и чувствительности американских опционов с использованием модели ценообразования опционов Barone-Adesi и Whaley

Описание

PriceSens = optstocksensbybaw(RateSpec,StockSpec,Settle,Maturity,OptSpec,Strike) вычисляет цены американских опционов с использованием модели ценообразования опционов Бароне-Адези и Уэйли.

PriceSens = optstocksensbybaw(___,Name,Value) добавляет необязательные аргументы пары имя-значение.

Примеры

свернуть все

Рассмотрим вариант американского колла с ценой упражнений $120. Срок действия опциона истекает 1 января 2018 года. Акции имеют волатильность 14% годовых, а годовая непрерывно усложняемая безрисковая ставка составляет 4% годовых по состоянию на 1 января 2016 года. Используя эти данные, рассчитайте цену американского колла, предполагая, что цена акции составляет $125 и платит дивиденды в 2%.

StartDate  = 'Jan-1-2016';
EndDate = 'jan-1-2018';
Basis = 1;
Compounding = -1;
Rates = 0.04;

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

RateSpec = intenvset('ValuationDate',StartDate,'StartDate',StartDate,'EndDate',EndDate, ...
'Rates',Rates,'Basis',Basis,'Compounding',Compounding)
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: -1
             Disc: 0.9231
            Rates: 0.0400
         EndTimes: 2
       StartTimes: 0
         EndDates: 737061
       StartDates: 736330
    ValuationDate: 736330
            Basis: 1
     EndMonthRule: 1

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

Dividend = 0.02;
AssetPrice = 125;
Volatility = 0.14;

StockSpec = stockspec(Volatility,AssetPrice,'Continuous',Dividend)
StockSpec = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.1400
         AssetPrice: 125
       DividendType: {'continuous'}
    DividendAmounts: 0.0200
    ExDividendDates: []

Определите американский вариант.

OptSpec = 'call';
Strike = 120;
Settle = 'Jan-1-2016';
Maturity = 'jan-1-2018';

Рассчитайте цену и чувствительность для американского варианта.

OutSpec = {'price';'delta';'theta'};

[Price,Delta,Theta] = optstocksensbybaw(RateSpec,StockSpec,Settle,Maturity,OptSpec,Strike,'OutSpec',OutSpec)
Price = 14.5180
Delta = 0.6672
Theta = -3.1861

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

свернуть все

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример: [Price,Delta,Theta] = optstocksensbybaw(RateSpec,StockSpec,Settle,Maturity,OptSpec,Strike,'OutSpec',OutSpec)

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

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

свернуть все

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

Примечание

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

Подробнее

свернуть все

Вариант ванили

Вариант ванили - это категория вариантов, включающая только самые стандартные компоненты.

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

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

  • Для вызова: max (St K, 0)

  • Для put: max (K St, 0)

где:

St - цена базового актива в момент времени t.

K - цена удара.

Дополнительные сведения см. в разделе Параметр ванили.

Ссылки

[1] Барон-Аклеси, Г. и Роберт Э. Уэйли. «Эффективное аналитическое приближение американских опционных значений». Финансовый журнал. Том 42, выпуск 2 (июнь 1987), 301-320.

[2] Хауг, Е. Полное руководство по формулам опционной цены. Второе издание. McGraw-Hill Education, январь 2007 года.

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