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