blkimpv

Подразумеваемая волатильность для фьючерсных опций из модели Black

Описание

пример

Volatility = blkipmv(Price,Strike,Rate,Time,Value) вычисляет подразумеваемую волатильность фьючерсной цены от рыночного значения европейских фьючерсных опций по модели Black's. Если на Class аргумент имя-значение пуст или не задан, параметр по умолчанию является опцией вызова

Примечание

Любой входной параметр может быть скаляром, вектором или матрицей. Когда значение является скаляром, это значение используется для вычисления подразумеваемой волатильности всех опций. Если более одного входы является вектором или матрицей, размерности всех нескалярных входов должны быть одинаковыми.

Убедитесь, что Rate и Time выражаются в последовательных модулях времени.

пример

Volatility = blkimpv(___,Name,Value) задает опции, использующие один или несколько аргументы пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.

Примеры

свернуть все

Этот пример показов, как найти подразумеваемую волатильность для фьючерсной опции Европейского вызова, которая истекает через четыре месяца, торгуется на уровне $1,1166 и имеет цену исполнения в $20. Предположим, что текущая базовая цена фьючерса также составляет $20 и что безрисковая ставка составляет 9% годовых. Кроме того, предположим, что вы заинтересованы в подразумеваемых волатильностях не более 0,5 (50% годовых). В этих условиях все следующие команды возвращают подразумеваемую волатильность 0,25, или 25% годовых.

Volatility = blkimpv(20, 20, 0.09, 4/12, 1.1166, 'Limit',0.5);
Volatility = blkimpv(20, 20, 0.09, 4/12, 1.1166, 'Limit',0.5,'Class',{'Call'});
Volatility = blkimpv(20, 20, 0.09, 4/12, 1.1166, 'Limit',0.5,'Class',true);
Volatility = blkimpv(20, 20, 0.09, 4/12, 1.1166, 'Limit',0.5,'Class',true,'Method','jackel2016')
Volatility = 0.2500

Входные параметры

свернуть все

Текущая цена базового актива (то есть фьючерсного контракта), заданная в виде скалярного числа.

Типы данных: double

Цена исполнения фьючерсной опции, заданная в виде скаляра числа.

Типы данных: double

Годовая непрерывная безрисковая норма возврата в течение срока действия опции, заданная в виде скалярного положительного десятичного числа.

Типы данных: double

Время до истечения фьючерсной опции, заданное как количество лет с использованием скалярного числа.

Типы данных: double

Цена европейской фьючерсной опции, из которого получена подразумеваемая волатильность базового актива, заданная в виде скалярного числа.

Типы данных: double

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: Volatility = blkimpv(Yield,CouponRate,Settle,Maturity,'Method','jackel2016')

Верхняя граница подразумеваемого интервала поиска волатильности, заданная как разделенная разделенными запятой парами, состоящая из 'Limit' и положительная скалярная величина число. Если Limit пуст или не задан, значение по умолчанию 10, или 1000% годовых.

Примечание

Если вы используете Method со значением 'jackel2016', а Limit аргумент игнорируется.

Типы данных: double

Подразумеваемый допуск окончания волатильности, заданный как разделенная разделенными запятой парами, состоящая из 'Tolerance' и положительная скалярная величина число. Если он пуст или отсутствует, значение по умолчанию 1e-6.

Примечание

Если вы используете Method со значением 'jackel2016', а Tolerance аргумент игнорируется.

Типы данных: double

Класс Option, указывающий тип опции (вызов или размещение), из которого получена подразумеваемая волатильность, заданный как разделенная разделенными запятой парами, состоящая из 'Class' и логический индикатор, массив ячеек из векторов символов или строковые массивы.

Чтобы задать опции вызова, установите Class = true или Class = {'call'}. Чтобы задать опции размещения, задайте Class = false или Class = {'put'} или Class = ["put"]. Если Class пуст или не задан, по умолчанию это опция вызова.

Типы данных: logical | cell | string

Метод вычисления подразумеваемой волатильности, заданный как разделенная разделенными запятой парами, состоящая из 'Method' и вектор символов со значением 'search' или 'jackel2016' или строку со значением "search" или "jackel2016".

Типы данных: char | string

Выходные аргументы

свернуть все

Подразумеваемая волатильность базового актива, полученного из европейских фьючерсов опции ценах, возвращенных как десятичное число. Если решение не найдено, blkimpv возвращает NaN.

Ссылки

[1] Hull, John C. Опции, фьючерсы и другие производные. 5-е издание, Prentice Hall, 2003, pp. 287-288.

[2] Екель, Петер. «Давайте будем рациональными». Wilmott Magazine., январь 2015 (https://onlinelibrary.wiley.com/doi/pdf/10.1002/wilm.10395).

[3] Черный, Фишер. «Ценообразование товарных контрактов». Журнал финансовой экономики. 3 марта 1976, с. 167-79.

Представлено до R2006a