blsimpv

Блэк-Скоулз подразумевал волатильность

Описание

пример

Volatility = blsimpv(Price,Strike,Rate,Time,Value) использование модели Блэка-Скоулза вычисляет подразумеваемую волатильность базового актива из рыночного значения европейских опций. Если на Class аргумент имя-значение пуст или не задан, параметр по умолчанию является опцией вызова

Примечание

Входные параметры Price, Strike, Rate, Time, Value, Yield, и Class могут быть скалярами, векторами или матрицами. Если скаляры, то это значение используется для вычисления подразумеваемой волатильности от всех опций. Если более одного из этих входов является вектором или матрицей, то размерности всех некалярных входов должны быть одинаковыми.

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

пример

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

Примеры

свернуть все

Этот пример показов, как вычислить подразумеваемую волатильность для европейского вызова опции торговле на уровне 10 долларов с ценой исполнения 95 долларов и тремя месяцами до истечения срока действия. Предположим, что базовый акции не платит дивидендов и торгуется на уровне 100 долларов. Безрисковая ставка составляет 7,5% годовых. Кроме того, предположим, что вы заинтересованы в подразумеваемых волатильностях не более 0,5 (50% годовых). В этих условиях все следующие операторы рассчитывают предполагаемую волатильность 0,3130, или 31,30% годовых.

Volatility = blsimpv(100, 95, 0.075, 0.25, 10, 'Limit', 0.5);
Volatility = blsimpv(100, 95, 0.075, 0.25, 10, 'Limit',0.5,'Yield',0,'Class', {'Call'});
Volatility = blsimpv(100, 95, 0.075, 0.25, 10, 'Limit',0.5,'Yield',0, 'Class', true);
Volatility = blsimpv(100, 95, 0.075, 0.25, 10, 'Limit',0.5,'Yield',0, 'Class', true,'Method','jackel2016')
Volatility = 0.3130

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

свернуть все

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

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

Цена исполнения опции, заданная в виде скалярного числа.

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

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

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

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

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

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

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

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

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

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

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

Примечание

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

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

Годовая непрерывно повышенная выражение базового актива в течение срока действия опции, заданная как разделенная разделенными запятой парами, состоящая из 'Yield' и десятичное число. Если Yield пуст или отсутствует, значение по умолчанию 0.

Например, для опций, написанных на фондовых индексах, Yield может представлять дивидендное выражение. Для валютных опций, Yield может быть иностранной процентной ставкой без риска.

Примечание

blsimpv может обрабатывать другие типы базовых элементов, такие как фьючерсы и валюты. При расчете цен на фьючерсы (модель Black) введите входной параметр Yield как:

Yield = Rate
При ценообразовании валют (модель Гармана-Колхагена) вводите входной параметр Yield как:
Yield = ForeignRate
где ForeignRate - постоянно усугубляемая, безрисковая в годовом исчислении процентная ставка в иностранной стране.

Типы данных: 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

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

свернуть все

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

Ссылки

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

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

[3] Luenberger, David G. Investment Science. Oxford University Press, 1998.

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