optstocksensbybaw

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

Описание

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 матрица.

Примечание

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

Больше о

свернуть все

Опция ванили

vanilla option является категорией опций, которая включает только самые стандартные компоненты.

Опция ванили имеет дату истечения срока и прямую цену исполнения опциона. Американские параметры стиля и европейские параметры стиля оба категоризированы как опции ванили.

Выплата для опции ванили следующие:

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

  • Для помещенного: max(KSt,0)

где:

St является ценой базового актива во время t.

K является ценой исполнения опциона.

Для получения дополнительной информации см. Опцию Ванили.

Ссылки

[1] Бэроун-Аклези, G. и Роберт Э. Вэли. “Эффективное аналитическое приближение американских значений опции”. Журнал финансов. Объем 42, выпуск 2 (июнь 1987), 301–320.

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

Введенный в R2017a