optstocksensbybls

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

Синтаксис

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

Описание

пример

PriceSens = optstocksensbybls(RateSpec,StockSpec,Settle,Maturity,OptSpec,Strike) вычисляет цены опции или чувствительность с помощью модели ценообразования опционов Блэка-Шоулза.

Примечание

При использовании StockSpec с optstocksensbybls можно изменить StockSpec, чтобы обработать другие типы underliers при оценке инструментов, которые используют модель Black-Scholes.

При оценке фьючерсов (Черная модель), введите следующее в StockSpec:

DivType = 'Continuous'; 
DivAmount = RateSpec.Rates;

При оценке Иностранных валют (модель Garman-Kohlhagen), введите следующее в StockSpec:

DivType = 'Continuous'; 
DivAmount = ForeignRate; 

то, где ForeignRate постоянно составлен, пересчитало на год безрисковую процентную ставку в иностранном государстве.

пример

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

Примеры

свернуть все

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

AssetPrice = 30;
Strike = 30;
Sigma = .30;
Rates = 0.05;
Settle = 'January-01-2008';
Maturity = 'June -01-2008';

% 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 = {'call', 'put'};

OutSpec = {'Delta','Gamma','Price'};
[Delta, Gamma, Price] = optstocksensbybls(RateSpec, StockSpec, Settle,...
Maturity, OptSpec, Strike,'OutSpec', OutSpec)
Delta = 2×1

    0.5810
   -0.4190

Gamma = 2×1

    0.0673
    0.0673

Price = 2×1

    2.6126
    1.9941

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

свернуть все

Структура термина процентной ставки (пересчитанный на год и постоянно составляемый), заданный 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] = optstocksensbybls(RateSpec,StockSpec,Settle,Maturity,OptSpec,Strike,'OutSpec',OutSpec)

Задайте выходные параметры, заданные как пара, разделенная запятой, состоящая из '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