Производные активы с использованием решений закрытой формы

Введение

Financial Instruments Toolbox™ поддерживает четыре типа решений закрытой формы и аналитических приближений для вычисления цены и чувствительности (греки) ванильных опций:

  • Модель Блэка-Скоулза

  • Черная модель

  • Модель Ролла-Геске-Уэйли

  • Модель Bjerksund-Stensland 2002

Модель Блэка-Скоулза

Модель Black-Scholes является одной из наиболее часто используемых моделей для оценки европейских вызовов и размещений. Он служит базисом для многих решений закрытой формы, используемых для опций ценообразования. Стандартная модель Блэка-Скоулза основана на следующих предположениях:

  • В течение срока действия опции дивиденды не выплачиваются.

  • Опция может быть реализована только в срок.

  • Рынки работают по марковскому процессу в непрерывное время.

  • Комиссии не оплачиваются.

  • Процентная ставка без риска известна и постоянна.

  • Возвраты от базовых запасов обычно распределяются по логарифмам.

Примечание

Модель Black-Scholes, реализованная в программном обеспечении Financial Instruments Toolbox, позволяет получать дивиденды. Поддерживаются следующие три метода дивидендов:

  • Денежные дивиденды

  • Непрерывное дивидендное выражение

  • Постоянное дивидендное выражение

Однако не все функции ценообразования закрытой формы Black-Scholes поддерживают все три метода дивидендов. Для получения дополнительной информации об указании методов дивидендов см. stockspec.

Решения закрытой формы, основанные на модели Блэка-Скоулза, поддерживают следующие задачи.

Задача

Функция

Ценовые европейские опции с различными дивидендами с помощью модели опционного ценообразования Black-Scholes.

optstockbybls

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

optstocksensbybls

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

impvbybls

Цена Европейские простые опции выбора с помощью модели Black-Scholes.

chooserbybls

Для примера, использующего модель Блэка-Скоулза, смотрите Ценообразование с использованием модели Блэка-Скоулза.

Черная модель

Используйте модель Black для ценообразования европейских опций на физические товары, форварды или фьючерсы. Модель Black, поддерживаемая программным обеспечением Financial Instruments Toolbox, является частным случаем модели Black-Scholes. Модель Black использует форвардную цену в качестве недооценки вместо спотовой. Предположение состоит в том, что форвардная цена на срок опции распределена в логарифмическом режиме.

Решения закрытой формы для модели Black поддерживают следующие задачи.

Задача

Функция

Ценовые европейские опции на фьючерсы с помощью модели ценообразования Black option.

optstockbyblk

Рассчитать европейские цены на опцию и чувствительность к фьючерсам можно используя модель ценообразования Black опции.

optstocksensbyblk

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

impvbyblk

Для примера с использованием модели Black, см. Ценообразование с использованием модели Black.

Модель Ролл-Геске-Уэйли

Используйте метод приближения Roll-Geske-Whaley, чтобы оценить американский вызов опций выплаты единственного денежного дивиденда. Эта модель основана на изменении наблюдаемой цены акций на текущее значение дивидендов, а также поддерживает составную опцию для учета возможности раннего исполнения. Модель Roll-Geske-Whaley имеет недостатки из-за эффектного подхода к ценам дивидендов, который может привести к арбитражу. Для получения дополнительных объяснений смотрите Опции, Фьючерсы и Другие производные от Джона Халла.

Решения закрытой формы для модели Roll-Geske-Whaley поддерживают следующие задачи.

Задача

Функция

Цена американского вызова опций с одним денежным дивидендом с помощью модели ценообразования Roll-Geske-Whaley опции.

optstockbyrgw

Вычислите американские цены на вызов и чувствительность с помощью модели ценообразования Roll-Geske-Whaley опции.

optstocksensbyrgw

Вычислите подразумеваемую волатильность для американских звонков опций используя модель ценообразования Roll-Geske-Whaley опции.

impvbyrgw

Для примера с использованием модели Roll-Geske-Whaley, смотрите Ценообразование с использованием модели Roll-Geske-Whaley.

Модель Бьерксунда-Штенсланда 2002

Используйте модель Bjerksund-Stensland 2002 для ценообразования американских позиций и звонков с непрерывным дивидендным выражением. Эта модель работает путем деления времени до зрелости опции на две отдельные части, каждая с собственным плоским контуром упражнения (цена триггера). Метод Bjerksund-Stensland 2002 является обобщением метода Bjerksund и Stensland 1993 и считается вычислительно эффективным. Для получения дополнительной информации см. Закрытая оценка американских опций Bjerksund и Stensland.

Решения закрытой формы для модели Bjerksund-Stensland 2002 поддерживают следующие задачи.

Задача

Функция

Ценовые американские опции с непрерывным дивидендным выражением с использованием модели опционного ценообразования Bjerksund-Stensland 2002.

optstockbybjs

Вычислите американские цены на опции и чувствительность с помощью модели ценообразования Bjerksund-Stensland опции 2002.

optstocksensbybjs

Вычислите подразумеваемую волатильность для американских опций с помощью модели опционного ценообразования Bjerksund-Stensland 2002.

impvbybjs

Для примера с использованием модели Bjerksund-Stensland 2002, смотрите Ценообразование с использованием модели Bjerksund-Stensland.

Модель Бароне-Адеси-Уэйли

Модель Barone-Adesi-Whaley используется для ценообразования американских опций ванили. Решения закрытой формы для модели Barone-Adesi-Whaley поддерживают следующие задачи.

Задача

Функция

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

optstockbybaw

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

optstocksensbybaw

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

impvbybaw

Для примера с использованием модели Barone-Adesi-Whaley, смотрите Вычисление американских цен на Опцию с использованием моделей Barone-Adesi и Whaley Опции Pricing.

Ценообразование с использованием модели Блэка-Скоулза

Рассмотрим европейскую опцию на акции с ценой исполнения $40 1 января 2008 года, который истекает 1 июля 2008 года. Предположим, что базовый акции выплачивает дивиденды в размере $0,50 1 марта и 1 июня. Акции торгуются по $40 и имеют волатильность 30% годовых. Безрисковая ставка составляет 4% годовых. Используя эти данные, вычислите цену вызова и опциона пут на акции с помощью модели ценообразования опций Black-Scholes:

Strike = 40;
AssetPrice = 40;
Sigma = .3;
Rates = 0.04;
Settle = 'Jan-01-08';
Maturity = 'Jul-01-08';

Div1 = 'March-01-2008';
Div2 = 'Jun-01-2008';

Создание RateSpec и StockSpec:

RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle, 'EndDates',...
Maturity, 'Rates', Rates, 'Compounding', -1);

StockSpec = stockspec(Sigma, AssetPrice, {'cash'}, 0.50,{Div1,Div2});

Задайте две опции, одну - вызов и одну - размещение:

OptSpec = {'call'; 'put'};

Рассчитать цену европейских опций:

Price = optstockbybls(RateSpec, StockSpec, Settle, Maturity, OptSpec, Strike)
Price =

    3.2063
    3.4027

Первый элемент Price вектор представляет цену вызова ($3,21); второй - цена размещения ($3.40). Используйте функцию optstocksensbybls вычислить шесть чувствительности для модели Блэка-Скоулза: delta, gamma, vega, lambda, rho, и theta и price опции.

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

В качестве примера рассмотрим те же опции, что и в предыдущем примере. Чтобы вычислить их Delta, Rho, Price, и Gamma, создайте массив ячеек OutSpec следующим образом:

OutSpec = {'delta', 'rho', 'price', 'gamma'};

[Delta, Rho, Price, Gamma] = optstocksensbybls(RateSpec, StockSpec, Settle,...
Maturity, OptSpec, Strike, 'OutSpec', OutSpec)
Delta =

    0.5328
   -0.4672


Rho =

    8.7902
  -10.8138


Price =

    3.2063
    3.4027


Gamma =

    0.0480
    0.0480

Ценообразование с использованием черной модели

Рассмотрим две опции европейских вызовов по фьючерсному контракту с ценами исполнения в 20 и 25 долларов, срок действия которых истекает 1 сентября 2008 года. Предположим, что 1 мая 2008 года контракт торгуется по $20 и имеет волатильность 35% годовых. Безрисковая ставка составляет 4% годовых. Используя эти данные, вычислите цену вызова фьючерсов опций используя модель Black:

Strike = [20; 25];
AssetPrice = 20;
Sigma = .35;
Rates = 0.04;
Settle = 'May-01-08';
Maturity = 'Sep-01-08';

Создание RateSpec и StockSpec:

RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle,...
'EndDates', Maturity, 'Rates', Rates, 'Compounding', -1);

StockSpec = stockspec(Sigma, AssetPrice);

Определите опцию вызова:

OptSpec = {'call'};

Рассчитать цену и все чувствительности европейских фьючерсных опций:

OutSpec = {'All'} 

[Delta, Gamma, Vega, Lambda, Rho, Theta, Price] = optstocksensbyblk(RateSpec,...
StockSpec, Settle, Maturity, OptSpec, Strike, 'OutSpec', OutSpec);
Price =

    1.5903
    0.3037

Первый элемент Price вектор представляет цену вызова с ценой исполнения $20 ($1,59); второй - цена вызова с ценой исполнения $25 ($2.89).

Функция impvbyblk используется для вычисления подразумеваемой волатильности с помощью модели ценообразования Black option. Принимая, что предыдущие европейские фьючерсы на вызов торгуются по $1,5903 и $0,3037, можно вычислить их подразумеваемую волатильность:

Volatility = impvbyblk(RateSpec, StockSpec, Settle, Maturity,...
OptSpec,  Strike, Price);

Как и ожидалось, вы получаете волатильность 35%. Если бы фьючерсы на вызов торговались на рынке на уровне $1,50 и $0,50, подразумеваемая волатильность составила бы 33% и 42%:

Volatility = impvbyblk(RateSpec, StockSpec, Settle, Maturity,...
OptSpec,  Strike, [1.50;0.5])
Volatility =

    0.3301
    0.4148

Ценообразование с использованием модели Roll-Geske-Whaley

Рассмотрим две американские опции вызова с ценами упражнений на $110 и $100 1 июня 2008 года, которые истекают 1 июня 2009 года. Предположим, что базовый акции выплачивает дивиденды в размере $0,001 1 декабря 2008 года. Акции торгуются на уровне $80 и имеют волатильность 20% годовых. Безрисковая ставка составляет 6% годовых. Используя эти данные, вычислите цену американских вызовов по модели опционного ценообразования Roll-Geske-Whaley:

AssetPrice = 80;
Settle = 'Jun-01-2008';
Maturity = 'Jun-01-2009';
Strike = [110; 100];

Rate = 0.06;
Sigma  = 0.2;

DivAmount = 0.001;
DivDate = 'Dec-01-2008';

Создание RateSpec и StockSpec:

StockSpec = stockspec(Sigma, AssetPrice, {'cash'}, DivAmount, DivDate);

RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle,...
'EndDates', Maturity, 'Rates', Rate, 'Compounding', -1);

Рассчитать вызов цены:

Price  = optstockbyrgw(RateSpec, StockSpec, Settle, Maturity, Strike)
Price =

    0.8398
    2.0236

Первый элемент Price вектор представляет цену вызова с ценой исполнения 110 долл. США (0,84 долл. США); второй - цена вызова с ценой исполнения $100 ($2.02).

Ценообразование с использованием модели Бьерксунда-Стенсленда

Рассмотрим четыре американские опции на акции (два вызовов и два предложения) с ценой исполнения в 100 долларов, срок действия которых истекает 1 июля 2008 года. Предположим, что базовый акции платит непрерывное дивидендное выражение в размере 4% по состоянию на 1 января 2008 года. Акции имеют волатильность 20% годовых и безрисковую ставку 8% годовых. Используя эти данные, рассчитать цену американских звонков и ставит принимая следующие текущие цены акций: $80, $90 (для вызовов) и $100 и $110 (для позиций):

Settle = 'Jan-1-2008';
Maturity = 'Jul-1-2008';
Strike = 100;
AssetPrice = [80; 90; 100; 110];
DivYield = 0.04;

Rate = 0.08;
Sigma = 0.20;

Создание RateSpec и StockSpec:

StockSpec = stockspec(Sigma, AssetPrice, {'continuous'}, DivYield);

RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle,...
'EndDates', Maturity, 'Rates', Rate, 'Compounding', -1);

Определите тип опции:

OptSpec = {'call'; 'call'; 'put'; 'put'};

Вычислите цены опций:

Price = optstockbybjs(RateSpec, StockSpec, Settle, Maturity, OptSpec, Strike)
Price =

    0.4144
    2.1804
    4.7253
    1.7164

Первые два элемента Price вектор представляет цену вызовов ($0.41 и $2.18), последние два элемента представляют цену опций размещения ($4.72 и $1.72). Используйте функцию optstocksensbybjs вычислить шесть чувствительности для модели Бьерксунда-Стенсленда: delta, gamma, vega, lambda, rho, и theta и price опции. Выбор выходных параметров и их порядка определяется необязательным входным параметром OutSpec. Этот параметр является массивом ячеек из векторов символов, каждый из которых задает требуемый выходной параметр. Порядок, в котором эти выходные параметры возвращаются функцией, совпадает с порядком векторов символов, содержащихся в OutSpec. В качестве примера рассмотрим те же опции, что и в предыдущем примере. Чтобы вычислить их delta, gamma, и price, создайте массив ячеек OutSpec следующим образом:

OutSpec = {'delta', 'gamma', 'price'};

Выходные выходы optstocksensbybjs находятся в том же порядке, что и в OutSpec.

[Delta, Gamma, Price] = optstocksensbybjs(RateSpec, StockSpec, Settle,...
Maturity, OptSpec, Strike, 'OutSpec', OutSpec)
Delta =

    0.0843
    0.2912
    0.4803
    0.2261

Gamma =

    0.0136
    0.0267
    0.0304
    0.0217

Price =

    0.4144
    2.1804
    4.7253
    1.7164

Для получения дополнительной информации о модели Bjerksund-Stensland, смотрите Моделирование решений закрытой формы.

Вычисление американских цен на Опцию с помощью модели ценообразования Barone-Adesi и Whaley Опции

Рассмотрим американский вызов опции с ценой упражнений в $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';

Рассчитать цену на американскую опцию.

Price = optstockbybaw(RateSpec,StockSpec,Settle,Maturity,OptSpec,Strike)
Price = 14.5180

См. также

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Похожие примеры

Подробнее о