exponenta event banner

impvbybaw

Расчет подразумеваемой волатильности с использованием модели ценообразования опционов Barone-Adesi и Whaley

Описание

пример

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

пример

Volatility = impvbybaw(___,Name,Value) добавляет необязательные аргументы пары имя-значение.

Примеры

свернуть все

В этом примере показано, как вычислить подразумеваемую волатильность с использованием модели ценообразования опционов Барон-Адези и Уэйли. Рассмотрим три американских варианта колла с ценами упражнений в 100 долларов, которые истекают 1 июля 2017 года. Базовая акция торгуется на уровне $100 1 января 2017 года и приносит непрерывную дивидендную доходность в размере 10%. Годовая непрерывно усложняемая безрисковая ставка составляет 10% годовых, а цены опционов - $4,063, $6,77 и $9,46. Используя эти данные, рассчитайте подразумеваемую волатильность акций с использованием модели ценообразования опционов Барон-Адези и Уэйли.

AssetPrice = 100;
Settle = 'Jan-1-2017';
Maturity = 'Jul-1-2017';
Strike = 100;
DivAmount = 0.1;
Rate = 0.05;

Определите RateSpec.

RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle,...
'EndDates', Maturity, 'Rates', Rate, 'Compounding', -1, 'Basis', 1)
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: -1
             Disc: 0.9753
            Rates: 0.0500
         EndTimes: 0.5000
       StartTimes: 0
         EndDates: 736877
       StartDates: 736696
    ValuationDate: 736696
            Basis: 1
     EndMonthRule: 1

Определите StockSpec.

StockSpec = stockspec(NaN, AssetPrice, {'continuous'}, DivAmount)
StockSpec = struct with fields:
             FinObj: 'StockSpec'
              Sigma: NaN
         AssetPrice: 100
       DividendType: {'continuous'}
    DividendAmounts: 0.1000
    ExDividendDates: []

Определите американский вариант.

OptSpec = {'call'};
OptionPrice = [4.063;6.77;9.46];

Рассчитайте подразумеваемую волатильность для американского варианта.

ImpVol =  impvbybaw(RateSpec, StockSpec, Settle, Maturity, OptSpec,...
Strike, OptionPrice)
ImpVol = 3×1

    0.1802
    0.2808
    0.3803

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

свернуть все

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример: Volatility = impvbybaw(RateSpec,StockSpec,Settle,Maturity,OptSpec,Strike,OptionPrice)

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

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

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

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

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

свернуть все

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

Ссылки

[1] Барон-Адези, Г. и Роберт Э. Уэйли. «Эффективное аналитическое приближение американских опционных значений». Финансовый журнал. Том 42, выпуск 2 (июнь 1987), 301-320.

[2] Хауг, Е. Полное руководство по формулам опционной цены. Второе издание. McGraw-Hill Education, январь 2007 года.

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