impvbyblk

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

Описание

пример

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

пример

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

Примеры

свернуть все

В этом примере показано, как вычислить подразумеваемую волатильность с помощью модели цен на опции Black. Рассмотрим европейский вызов и поместите опции на фьючерсный контракт с ценами исполнения в $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-by- 1 вектор серийных номеров дат или векторы символов дат.

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

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

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

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

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

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

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

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

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

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

Задайте необязательные разделенные разделенными запятой парами 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-by- 1 вектор. Если решение не может быть найдено, NaN возвращается.

Ссылки

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

Введенный в R2008b