impvbyblk

Определите подразумеваемую волатильность с помощью Черной модели ценообразования опционов

Описание

пример

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

пример

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

Примеры

свернуть все

В этом примере показано, как вычислить подразумеваемую волатильность с помощью Черной модели ценообразования опционов. Рассмотрите европейские колл-опционы и пут-опционы на фьючерсном контракте с ценами исполнения 30$ для помещенного и 40$ для вызова, которые истекают 1 сентября 2008. Примите, что 1 мая 2008 контракт торгует на уровне 35$. Пересчитываемый на год постоянно составляемый безрисковый уровень составляет 5% в год. Найдите подразумеваемую волатильность запаса, если в ту дату, досрочная цена составляет 1,14$, и помещенная цена составляет 0,82$.

AssetPrice = 35;
Strike = [30; 40];
Rates = 0.05;
Settle = 'May-01-08';
Maturity = 'Sep-01-08';

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

StockSpec = stockspec(NaN, AssetPrice);

% define the options
OptSpec = {'put';'call'};

Price = [1.14;0.82];
Volatility = impvbyblk(RateSpec, StockSpec, Settle, Maturity, OptSpec,...
Strike, Price,'Method','jackel2016')
Volatility = 2×1

    0.4052
    0.3021

Подразумеваемая волатильность составляет 41% и 30%.

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

свернуть все

Структура термина процентной ставки (пересчитанный на год и постоянно составляемый), заданный 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 = impvbyblk(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