Financial Instruments Toolbox™ поддерживает четыре типа решений закрытой формы и аналитических аппроксимаций для расчета цены и чувствительности (греки) ванильных опционов:
Модель Блэк-Шоулза
Чёрная модель
Модель Ролл-Геске-Уэйли
Модель Bjerksund-Stensland 2002
Модель Блэка-Шоулза является одной из наиболее часто используемых моделей для ценообразования на европейские звонки и предложения. Он служит основой для многих решений закрытой формы, используемых для опционов ценообразования. Стандартная модель Блэка-Шоулза основана на следующих допущениях:
Дивидендов при жизни опциона не выплачивается.
Опцион может быть реализован только в срок.
Рынки работают по марковскому процессу в непрерывное время.
Комиссионные не выплачиваются.
Безрисковая процентная ставка известна и постоянна.
Доходность нижележащих запасов обычно распределяется по журналу.
Примечание
Модель Black-Scholes, реализованная в программном обеспечении Financial Instruments Toolbox, позволяет получать дивиденды. Поддерживаются следующие три метода дивидендов:
Дивиденды наличными
Непрерывная дивидендная доходность
Постоянная дивидендная доходность
Однако не все функции ценообразования в закрытой форме Black-Scholes поддерживают все три метода дивидендов. Дополнительные сведения об указании методов дивидендов см. в разделе stockspec.
Решения закрытой формы, основанные на модели Black-Scholes, поддерживают следующие задачи.
Задача | Функция |
|---|---|
Ценовые европейские опционы с различными дивидендами с использованием модели ценообразования опционов Блэка-Шоулза. | |
Расчет европейских цен опционов и чувствительности с использованием модели ценообразования опционов Блэка-Шоулза. | |
Рассчитайте подразумеваемую волатильность для европейских опционов с использованием модели ценообразования опционов Блэка-Шоулза. | |
Ценовые европейские простые варианты выбора с использованием модели Black-Scholes. |
Пример использования модели Блэка-Шоула см. в разделе Ценообразование с использованием модели Блэка-Шоулза.
Используйте модель Black для ценообразования европейских опционов на физические товары, форварды или фьючерсы. Модель Black, поддерживаемая программным обеспечением Financial Instruments Toolbox, является частным случаем модели Black-Scholes. Модель 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 для ценообразования американских ставок и звонков с непрерывной дивидендной доходностью. Эта модель работает путем разделения времени до погашения опциона на две отдельные части, каждая из которых имеет собственную плоскую границу упражнения (цену триггера). Метод Бьерксунда-Стенсланда 2002 является обобщением метода Бьерксунда и Стенсланда 1993 и считается вычислительно эффективным. Для дальнейшего объяснения см. Закрытая форма оценки американских опционов Bjerksund и Stensland.
Закрытые решения для модели Bjerksund-Stensland 2002 поддерживают следующие задачи.
Задача | Функция |
|---|---|
Цена американских опционов с непрерывной дивидендной доходностью с использованием модели ценообразования опционов Bjerksund-Stensland 2002. | |
Рассчитайте цены и чувствительность американских опционов с использованием модели ценообразования опционов Bjerksund-Stensland 2002. | |
Рассчитайте подразумеваемую волатильность для американских опционов с использованием модели ценообразования опционов Bjerksund-Stensland 2002. |
Пример использования модели Bjerksund-Stensland 2002 см. в разделе Ценообразование с использованием модели Bjerksund-Stensland.
Модель Бароне-Адези-Уэйли используется для ценообразования на американские варианты ванили. Закрытые решения для модели Барон-Адези-Уэйли поддерживают следующие задачи.
Задача | Функция |
|---|---|
Рассчитайте цены американского звонка и поставьте варианты, используя модель аппроксимации Бароне-Адези-Уэйли. | |
Рассчитайте цены и чувствительность американского звонка и поставьте варианты, используя модель аппроксимации Бароне-Адези-Уэйли. | |
Рассчитайте подразумеваемую волатильность для американских опционов, используя модель Барона-Адези-Уэйли. |
Пример использования модели Бароне-Адези-Уэйли см. в разделе Расчет американских опционных цен с использованием модели ценообразования опционов Бароне-Адези и Уэйли.
Рассмотрим европейский опцион на акции с ценой исполнения $40 1 января 2008 года, который истекает 1 июля 2008 года. Предположим, что базовая акция платит дивиденды в размере $0,50 1 марта и 1 июня. Акции торгуются на уровне $40 и имеют волатильность 30% годовых. Безрисковая ставка составляет 4% годовых. С помощью этих данных рассчитайте цену колла и опциона пут на акции с помощью модели ценообразования опционов Блэка-Шоулза:
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. Если предположить, что предыдущие европейские кол-фьючерсы торгуются на уровне $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