Financial Instruments Toolbox™ поддерживает четыре типа решений закрытой формы и аналитических приближений для вычисления цены и чувствительности (греки) ванильных опций:
Модель Блэка-Скоулза
Черная модель
Модель Ролла-Геске-Уэйли
Модель Bjerksund-Stensland 2002
Модель Black-Scholes является одной из наиболее часто используемых моделей для оценки европейских вызовов и размещений. Он служит базисом для многих решений закрытой формы, используемых для опций ценообразования. Стандартная модель Блэка-Скоулза основана на следующих предположениях:
В течение срока действия опции дивиденды не выплачиваются.
Опция может быть реализована только в срок.
Рынки работают по марковскому процессу в непрерывное время.
Комиссии не оплачиваются.
Процентная ставка без риска известна и постоянна.
Возвраты от базовых запасов обычно распределяются по логарифмам.
Примечание
Модель Black-Scholes, реализованная в программном обеспечении Financial Instruments Toolbox, позволяет получать дивиденды. Поддерживаются следующие три метода дивидендов:
Денежные дивиденды
Непрерывное дивидендное выражение
Постоянное дивидендное выражение
Однако не все функции ценообразования закрытой формы Black-Scholes поддерживают все три метода дивидендов. Для получения дополнительной информации об указании методов дивидендов см. stockspec.
Решения закрытой формы, основанные на модели Блэка-Скоулза, поддерживают следующие задачи.
Задача | Функция |
|---|---|
Ценовые европейские опции с различными дивидендами с помощью модели опционного ценообразования Black-Scholes. | |
Вычислите европейские цены на опцию и чувствительность с помощью модели ценообразования Black-Scholes опции. | |
Вычислите подразумеваемую волатильность европейских опций с помощью модели опционного ценообразования Black-Scholes. | |
Цена Европейские простые опции выбора с помощью модели Black-Scholes. |
Для примера, использующего модель Блэка-Скоулза, смотрите Ценообразование с использованием модели Блэка-Скоулза.
Используйте модель Black для ценообразования европейских опций на физические товары, форварды или фьючерсы. Модель Black, поддерживаемая программным обеспечением Financial Instruments Toolbox, является частным случаем модели Black-Scholes. Модель Black использует форвардную цену в качестве недооценки вместо спотовой. Предположение состоит в том, что форвардная цена на срок опции распределена в логарифмическом режиме.
Решения закрытой формы для модели Black поддерживают следующие задачи.
Задача | Функция |
|---|---|
Ценовые европейские опции на фьючерсы с помощью модели ценообразования Black option. | |
Рассчитать европейские цены на опцию и чувствительность к фьючерсам можно используя модель ценообразования Black опции. | |
Вычислите подразумеваемую волатильность для европейских опций с помощью модели ценообразования Black option. |
Для примера с использованием модели Black, см. Ценообразование с использованием модели Black.
Используйте метод приближения Roll-Geske-Whaley, чтобы оценить американский вызов опций выплаты единственного денежного дивиденда. Эта модель основана на изменении наблюдаемой цены акций на текущее значение дивидендов, а также поддерживает составную опцию для учета возможности раннего исполнения. Модель Roll-Geske-Whaley имеет недостатки из-за эффектного подхода к ценам дивидендов, который может привести к арбитражу. Для получения дополнительных объяснений смотрите Опции, Фьючерсы и Другие производные от Джона Халла.
Решения закрытой формы для модели Roll-Geske-Whaley поддерживают следующие задачи.
Задача | Функция |
|---|---|
Цена американского вызова опций с одним денежным дивидендом с помощью модели ценообразования Roll-Geske-Whaley опции. | |
Вычислите американские цены на вызов и чувствительность с помощью модели ценообразования Roll-Geske-Whaley опции. | |
Вычислите подразумеваемую волатильность для американских звонков опций используя модель ценообразования Roll-Geske-Whaley опции. |
Для примера с использованием модели Roll-Geske-Whaley, смотрите Ценообразование с использованием модели Roll-Geske-Whaley.
Используйте модель Bjerksund-Stensland 2002 для ценообразования американских позиций и звонков с непрерывным дивидендным выражением. Эта модель работает путем деления времени до зрелости опции на две отдельные части, каждая с собственным плоским контуром упражнения (цена триггера). Метод Bjerksund-Stensland 2002 является обобщением метода Bjerksund и Stensland 1993 и считается вычислительно эффективным. Для получения дополнительной информации см. Закрытая оценка американских опций Bjerksund и Stensland.
Решения закрытой формы для модели Bjerksund-Stensland 2002 поддерживают следующие задачи.
Задача | Функция |
|---|---|
Ценовые американские опции с непрерывным дивидендным выражением с использованием модели опционного ценообразования Bjerksund-Stensland 2002. | |
Вычислите американские цены на опции и чувствительность с помощью модели ценообразования Bjerksund-Stensland опции 2002. | |
Вычислите подразумеваемую волатильность для американских опций с помощью модели опционного ценообразования Bjerksund-Stensland 2002. |
Для примера с использованием модели Bjerksund-Stensland 2002, смотрите Ценообразование с использованием модели Bjerksund-Stensland.
Модель Barone-Adesi-Whaley используется для ценообразования американских опций ванили. Решения закрытой формы для модели Barone-Adesi-Whaley поддерживают следующие задачи.
Задача | Функция |
|---|---|
Вычислите цены американского вызова и поставьте опции с помощью модели приближения Барона-Адеси-Уэйли. | |
Вычислим цены и чувствительность американского вызова и ставим опции с помощью модели приближения Барона-Адеси-Уэйли. | |
Вычислите подразумеваемую волатильность для американских опций с помощью модели Барона-Адеси-Уэйли. |
Для примера с использованием модели 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
Рассмотрим две американские опции вызова с ценами упражнений на $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, смотрите Моделирование решений закрытой формы.
Рассмотрим американский вызов опции с ценой упражнений в $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
asianbykv | asianbylevy | asianbyls | asiansensbykv | asiansensbylevy | asiansensbyls | assetbybls | assetsensbybls | basketbyju | basketbyls | basketsensbyju | basketsensbyls | basketstockspec | basketstockspec | cashbybls | cashsensbybls | chooserbybls | gapbybls | gapsensbybls | impvbybjs | impvbyblk | impvbybls | impvbyrgw | lookbackbycvgsg | lookbackbyls | lookbacksensbycvgsg | lookbacksensbyls | maxassetbystulz | maxassetsensbystulz | minassetbystulz | minassetsensbystulz | optpricebysim | optstockbybaw | optstockbybjs | optstockbyblk | optstockbybls | optstockbyls | optstockbyrgw | optstocksensbybaw | optstocksensbybjs | optstocksensbyblk | optstocksensbybls | optstocksensbyls | optstocksensbyrgw | spreadbybjs | spreadbykirk | spreadbyls | spreadsensbybjs | spreadsensbykirk | spreadsensbyls | supersharebybls | supersharesensbybls