impvbybls

Определите подразумеваемую волатильность с помощью модели ценообразования опционов Блэка-Шоулза

Описание

пример

Volatility = impvbybls(RateSpec,StockSpec,Settle,Maturity,OptSpec,Strike,OptPrice) вычисляет подразумеваемую волатильность с помощью модели ценообразования опционов Блэка-Шоулза.

пример

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

Примеры

свернуть все

В этом примере показано, как вычислить подразумеваемую волатильность с помощью модели ценообразования опционов Блэка-Шоулза. Рассмотрите европейские колл-опционы и пут-опционы с ценой исполнения 40$, которая истекает 1 июня 2008. Базовый запас стоит на уровне 45$ 1 января 2008, и безрисковый уровень составляет 5% в год. Цена опции составляет 7,10$ для вызова и 2,85$ для помещенного. Используя эти данные, вычислите подразумеваемую волатильность европейского вызова и поместите использование модели ценообразования опционов Блэка-Шоулза.

AssetPrice = 45;
Settlement = 'Jan-01-2008';
Maturity = 'June-01-2008';
Strike = 40;
Rates = 0.05;
OptionPrice = [7.10; 2.85];
OptSpec = {'call';'put'};

% define the RateSpec and StockSpec
RateSpec = intenvset('ValuationDate', Settlement, 'StartDates', Settlement,...
'EndDates', Maturity, 'Rates', Rates, 'Compounding', -1, 'Basis', 1);

StockSpec = stockspec(NaN, AssetPrice);

ImpvVol =  impvbybls(RateSpec, StockSpec, Settlement, Maturity, OptSpec,...
Strike, OptionPrice,'Method','jackel2016')
ImpvVol = 2×1

    0.3175
    0.4878

Подразумеваемая волатильность составляет 31,75% для вызова и 48,78% для помещенного.

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

свернуть все

Структура термина процентной ставки (пересчитанный на год и постоянно составляемый), заданный RateSpec полученный из intenvset. Для получения информации о спецификации процентной ставки смотрите intenvset.

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

Спецификация запаса для базового актива. Для получения информации о спецификации запаса смотрите stockspec.

stockspec указатели несколько типов базовых активов. Например, для физических предметов потребления ценой является StockSpec.Asset, энергозависимостью является StockSpec.Sigma, и выражением удобства является StockSpec.DividendAmounts.

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

Расчетный день в виде NINST- 1 вектор из последовательных чисел даты или даты векторы символов.

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

Дата погашения для американской опции в виде NINST- 1 вектор из последовательных чисел даты или даты векторы символов.

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

Определение опции, из которой подразумеваемая волатильность выведена в виде NINST- 1 массив ячеек из символьных векторов со значением 'call' или 'put'.

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

Значение цены исполнения опциона опции в виде неотрицательного скаляра или NINST- 1 вектор из цен исполнения опциона. Каждая строка является расписанием для одной опции.

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

Европейские цены опции, из которых подразумеваемая волатильность базового актива выведена в виде неотрицательного скаляра или NINST- 1 вектор.

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

Аргументы name-value

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

Пример: Volatility = impvbybls(RateSpec,StockSpec,Settle,Maturity,OptSpec,Strike,OptPrice,'Limit',5,'Tolerance',1e-5)

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

Примечание

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

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

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

Примечание

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

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

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

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

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

свернуть все

Ожидаемые значения подразумеваемой волатильности, возвращенные как NINST- 1 вектор. Если никакое решение не может быть найдено, NaN возвращен.

Ссылки

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

Представленный в R2008b