optstocksensbyblk

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

Синтаксис

PriceSens = optstocksensbyblk(RateSpec,StockSpec,Settle,Maturity,OptSpec,Strike)
PriceSens = optstocksensbyblk(___,Name,Value)

Описание

пример

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

Примечание

optstocksensbyblk вычисляет цены опции или чувствительность на фьючерсах и вперед. Если ForwardMaturity не передается, функция вычисляет цены или чувствительность будущих опций. Если ForwardMaturity передается, функция вычисляет цены или чувствительность прямых опций. Это указатели на функцию несколько типов базовых активов, например, запасов и предметов потребления. Для получения дополнительной информации о спецификации базового актива смотрите stockspec.

пример

PriceSens = optstocksensbyblk(___,Name,Value) добавляют дополнительные аргументы пары "имя-значение" для ForwardMaturity и OutSpec, чтобы вычислить цены опции или чувствительность на форвардах с помощью Черной модели ценообразования опционов.

Примеры

свернуть все

Этот пример показывает, как вычислить цены опции и чувствительность на фьючерсах с помощью Черной модели ценообразования. Рассмотрите европейский пут-опцион на фьючерсном контракте с ценой исполнения 60$, которая истекает 30 июня 2008. 1 апреля 2008 базовый запас стоит на уровне 58$ и имеет энергозависимость 9,5% в год. Пересчитываемый на год постоянно составляемый безрисковый уровень составляет 5% в год. Используя эти данные, вычислите delta, gamma и price пут-опциона.

AssetPrice = 58;
Strike = 60;
Sigma = .095;
Rates = 0.05;
Settle = 'April-01-08';
Maturity = 'June-30-08';

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

StockSpec = stockspec(Sigma, AssetPrice);

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

OutSpec = {'Delta','Gamma','Price'};
[Delta, Gamma, Price] = optstocksensbyblk(RateSpec, StockSpec, Settle,...
Maturity, OptSpec, Strike,'OutSpec', OutSpec)
Delta = -0.7469
Gamma = 0.1130
Price = 2.3569

Этот пример показывает, как вычислить цены опции и чувствительность на форвардах с помощью Черной модели ценообразования. Рассмотрите два европейских колл-опциона на форвардном контракте Смешения Брента, который истекает 1 января 2015. Опции истекают 1 октября 2014 и 1 декабря 2014 с % цены исполнения 120$ и 150$ соответственно. Примите, что 1 января 2014 форвардная цена на уровне 107$, пересчитываемый на год постоянно составляемый безрисковый уровень составляет 3% в год, и энергозависимость составляет 28% в год. Используя эти данные, вычислите цену и дельту опций.

Задайте RateSpec.

ValuationDate = 'Jan-1-2014';
EndDates = 'Jan-1-2015';
Rates = 0.03;
Compounding = -1;
Basis = 1;
RateSpec  = intenvset('ValuationDate', ValuationDate, 'StartDates', ...
ValuationDate, 'EndDates', EndDates, 'Rates', Rates, ...
'Compounding', Compounding, 'Basis', Basis');

Задайте StockSpec.

AssetPrice = 107;
Sigma = 0.28;
StockSpec  = stockspec(Sigma, AssetPrice);

Задайте опции.

Settle = 'Jan-1-2014';
Maturity = {'Oct-1-2014'; 'Dec-1-2014'}; %Options maturity
Strike = [120;150];
OptSpec = {'call'; 'call'};

Оцените прямые колл-опционы и возвратите чувствительность Delta.

ForwardMaturity = 'Jan-1-2015';  % Forward contract maturity
OutSpec = {'Delta'; 'Price'};
[Delta, Price] = optstocksensbyblk(RateSpec, StockSpec, Settle, Maturity, OptSpec, ...
Strike, 'ForwardMaturity', ForwardMaturity, 'OutSpec', OutSpec)
Delta = 2×1

    0.3518
    0.1262

Price = 2×1

    5.4808
    1.6224

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

свернуть все

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

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

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

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

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

Урегулирование или торговая дата, заданная как последовательный номер даты или вектор символов даты с помощью NINST-by-1 вектор.

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

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

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

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

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

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

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

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

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

Пример: [Delta,Gamma,Price] = optstocksensbyblk(RateSpec,StockSpec,Settle,Maturity,OptSpec,Strike,'OutSpec',OutSpec)

Дата погашения или дата поставки форвардного контракта, заданного как пара, разделенная запятой, состоящая из 'ForwardMaturity' и NINST-by-1 вектор с помощью последовательных чисел даты или векторов символов даты.

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

Задайте выходные параметры, заданные как пара, разделенная запятой, состоящая из 'OutSpec' и NOUT - 1 или 1-by-NOUT массив ячеек из символьных векторов с возможными значениями 'Price', 'Delta', 'Gamma', 'Vega', 'Lambda', 'Rho', 'Theta' и 'All'.

OutSpec = {'All'} указывает, что выводом должен быть Delta, Gamma, Vega, Lambda, Rho, Theta и Price, в том порядке. Это совпадает с определением OutSpec, чтобы включать каждую чувствительность:

Пример: OutSpec = {'delta','gamma','vega','lambda','rho','theta','price'}

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

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

свернуть все

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

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

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