blkimpv

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

Синтаксис

Volatility = blkipmv(Price,Strike,Rate,Time,Value)
Volatility = blkimpv(___,Name,Value)

Описание

пример

Volatility = blkipmv(Price,Strike,Rate,Time,Value) вычисляет подразумеваемую волатильность цены фьючерса от рыночной стоимости европейских опций фьючерсов с помощью модели Черного цвета. Если аргумент значения имени 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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

Примечание

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

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

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

Примечание

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

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

Класс опции, указывающий на тип опции (вызов или помещенный), от которого выведена подразумеваемая волатильность, задал как пара, разделенная запятой, состоящая из '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] Оболочка, Джон К. Опции, фьючерсы и Другие Производные. 5-й выпуск, Prentice Hall, 2003, стр 287–288.

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

[3] Черный, Фишер. “Оценка Товарных Контрактов”. Журнал Финансовой Экономики. 3 марта 1976, стр 167–79.

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