exponenta event banner

optstockbylr

Ценовые опционы на акции с использованием модели биномиального дерева Лейзена-Реймера

Описание

пример

[Price,PriceTree] = optstockbylr(LRTree,OptSpec,Strike,Settle,ExerciseDates) вычисляет цены опционов на акции с использованием модели биномиального дерева Лейзена-Реймера.

пример

[Price,PriceTree] = optstockbylr(___,Name,Value) добавляет необязательный аргумент пара имя-значение для AmericanOpt.

Примеры

свернуть все

В этом примере показано, как оценить опционы на акции с помощью модели биномиального дерева Лейзена-Реймера. Рассмотрим европейский призыв и опционы с ценой упражнения 95 долларов, срок действия которых истекает 1 июля 2010 года. Базовая акция торгуется на уровне $100 1 января 2010 года, обеспечивает непрерывную дивидендную доходность 3% годовых и имеет волатильность 20% годовых. Годовая постоянно усложняемая безрисковая ставка составляет 8% годовых. Используя эти данные, вычислите цену опций с помощью модели Лейзена-Реймера с деревом из 15 и 55 временных шагов.

AssetPrice  = 100;
Strike = 95;

ValuationDate = 'Jan-1-2010';
Maturity = 'July-1-2010'; 

% define StockSpec
Sigma = 0.2;
DividendType = 'continuous'; 
DividendAmounts = 0.03;

StockSpec = stockspec(Sigma, AssetPrice, DividendType, DividendAmounts);

% define RateSpec
Rates = 0.08;
Settle = ValuationDate;
Basis = 1;
Compounding = -1;

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

% build the Leisen-Reimer (LR) tree with 15 and 55 time steps
LRTimeSpec15  = lrtimespec(ValuationDate, Maturity, 15); 
LRTimeSpec55  = lrtimespec(ValuationDate, Maturity, 55); 

% use the PP2 method
LRMethod  = 'PP2';

LRTree15 = lrtree(StockSpec, RateSpec, LRTimeSpec15, Strike, 'method', LRMethod);
LRTree55 = lrtree(StockSpec, RateSpec, LRTimeSpec55, Strike, 'method', LRMethod);

% price the call and the put options using the LR model:
OptSpec = {'call'; 'put'}; 

PriceLR15 = optstockbylr(LRTree15, OptSpec, Strike, Settle, Maturity);
PriceLR55 = optstockbylr(LRTree55, OptSpec, Strike, Settle, Maturity);

% calculate price using the Black-Scholes model (BLS) to compare values with
% the LR model:
PriceBLS = optstockbybls(RateSpec, StockSpec, Settle, Maturity, OptSpec, Strike);

% compare values of BLS and LR
[PriceBLS PriceLR15 PriceLR55]
ans = 2×3

    9.7258    9.7252    9.7257
    2.4896    2.4890    2.4895

% use treeviewer to display LRTree of 15 time steps
treeviewer(LRTree15)

Figure Tree Viewer contains 2 axes and other objects of type uicontrol. Axes 1 contains 376 objects of type line. Axes 2 is empty.

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

свернуть все

Древовидная структура запаса, указанная lrtree.

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

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

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

Цена страйка опциона, указанная неотрицательным целым числом:

  • Для европейского варианта используйте NINSTоколо-1 вектор ударных цен.

  • Для варианта на Бермудских островах используйте NINSTоколо-NSTRIKES вектор ударных цен. Каждая строка является расписанием для одного варианта. Если параметр имеет менее NSTRIKES возможности упражнений, конец строки дополнен NaNs.

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

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

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

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

Даты исполнения опциона, определенные как вектор векторов символов даты или серийных номеров дат, где каждая строка является графиком для одной опции, а последний элемент каждой строки должен совпадать со сроком исполнения дерева.

  • Для европейского варианта используйте NINSTоколо-1 вектор дат. Для европейского варианта есть только один ExerciseDate на дату истечения срока действия опциона.

  • Для варианта на Бермудских островах используйте NINSTоколо-NSTRIKEDATES вектор дат.

  • Для американского варианта используйте NINSTоколо-1 вектор дат упражнений. Для американского типа опция может быть реализована для любых данных дерева между ValuationDate и зрелость деревьев.

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

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

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

Пример: [Price,PriceTree] = optstockbylr(LRTree,OptSpec,Strike,Settle,ExerciseDates,'AmericanOpt','1')

Тип опции, указанный как разделенная запятыми пара, состоящая из 'AmericanOpt' и NINSTоколо-1 вектор флагов со значениями:

  • 0 - Европейский или Бермудские острова

  • 1 - американский

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

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

свернуть все

ожидаемые цены в момент времени 0, возвращенные как NINSTоколо-1 вектор.

Древовидная структура, возвращаемая как вектор цен на инструменты в каждом узле. Значения:

  • PriceTree.PTree содержит чистые цены.

  • PriceTree.tObs содержит время наблюдения.

  • PriceTree.dObs содержит даты наблюдения.

Подробнее

свернуть все

Вариант ванили

Вариант ванили - это категория вариантов, включающая только самые стандартные компоненты.

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

Окупаемость опциона на ваниль выглядит следующим образом:

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

  • Для put: max (K St, 0)

где:

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

K - цена удара.

Дополнительные сведения см. в разделе Параметр ванили.

Ссылки

[1] Лейзен Д. П., М. Реймер. «Биномиальные модели для оценки опционов - изучение и улучшение конвергенции». Прикладное математическое финансирование. Номер 3, 1996, стр. 319-346.

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