exponenta event banner

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 должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как 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] Яккель, Питер. «Давайте будем рациональными.» Wilmott Magazine., январь 2015 (https://onlinelibrary.wiley.com/doi/pdf/10.1002/wilm.10395).

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