optstocksensbybjs

Определите американские цены на опцию или чувствительность с помощью модели ценообразования Bjerksund-Stensland 2002 опций

Описание

пример

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

Примечание

optstocksensbybjs вычисляет цены американских опций с непрерывным дивидендным выражением с помощью модели опционного ценообразования Bjerksund-Stensland. Все чувствительности оцениваются путем вычисления дискретного приближения частной производной. Это означает, что опция переоценивается с дробным изменением для каждого релевантного параметра, и изменение значения опции, разделенное на шаг, является аппроксимированным значением чувствительности.

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

Примеры

свернуть все

В этом примере показано, как вычислить американские цены опционов и чувствительность с помощью модели ценообразования опций Bjerksund-Stensland 2002. Рассмотрим четыре американских опции с ценой исполнения 100 долларов. Срок действия опций истекает 1 октября 2008 года. Предположим, что базовый акции платит непрерывное дивидендное выражение 4% и имеет волатильность 40% годовых. Годовая непрерывно повышенная безрисковая ставка составляет 8% годовых. Используя эти данные, вычислите delta, gamma, и price из американских поставили опциям, принимая на 1 июля 2008 года следующие текущие цены акций: $90, $100, $110 и $120.

Settle = 'July-1-2008';
Maturity = 'October-1-2008';
Strike = 100;
AssetPrice = [90;100;110;120];
Rate = 0.08;
Sigma = 0.40;
DivYield = 0.04;

% define the RateSpec and StockSpec
StockSpec = stockspec(Sigma, AssetPrice, {'continuous'}, DivYield);

RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle,...
'EndDates', Maturity, 'Rates', Rate, 'Compounding', -1);

% define the option type
OptSpec = {'put'};

OutSpec = {'Delta', 'Gamma', 'Price'};

[Delta, Gamma, Price] = optstocksensbybjs(RateSpec, StockSpec, Settle, Maturity,...
OptSpec, Strike, 'OutSpec', OutSpec)
Delta = 4×1

   -0.6572
   -0.4434
   -0.2660
   -0.1442

Gamma = 4×1

    0.0217
    0.0202
    0.0150
    0.0095

Price = 4×1

   12.9467
    7.4571
    3.9539
    1.9495

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

свернуть все

Структура процентной ставки (в годовом исчислении и постоянно сложной), определяемая 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 - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

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

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

Подробнее о

свернуть все

Ванильные Опции

A vanilla option - это категория опций, которая включает только самые стандартные компоненты.

Ванильная опция имеет срок годности и прямолинейную цену доставки. Опции в американском стиле и опции в европейском стиле классифицируются как опции ванили.

Выплата для ванильной опции следующая:

  • Для вызова: max(StK,0)

  • Для размещения: max(KSt,0)

где:

St - цена базового актива на t времени.

K - цена доставки.

Для получения дополнительной информации смотрите Опцию Vanilla.

Ссылки

[1] Bjerksund, P. and G. Stensland. Закрытая форма приближения американских опций. Скандинавский журнал менеджмента. Vol. 9, 1993, Suppl., pp. S88-S99.

[2] Bjerksund, P. and G. Stensland. «Оценка американских опций в закрытой форме». Дискуссионный документ 2002 (https://www.scribd.com/doc/215619796/Closed-form-Valuation-of-American-Options-by-Bjerksund-and-Stensland#scribd)

Введенный в R2008b