optstocksensbylr

Определите цены опции или чувствительность с помощью модели дерева бинома Лайзена-Раймера

Описание

пример

PriceSens = optstockbylr(LRTree,OptSpec,Strike,Settle,ExerciseDates) вычисляет цены опции или чувствительность с помощью модели дерева бинома Лайзена-Раймера.

пример

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

Примеры

свернуть все

В этом примере показано, как вычислить цены опции и чувствительность с помощью модели дерева бинома Лайзена-Раймера. Рассмотрите европейские колл-опционы и пут-опционы с ценой исполнения 100$, которые истекают 1 декабря 2010. Базовый запас стоит на уровне 100$ 1 июня 2010 и имеет энергозависимость 30% в год. Пересчитываемый на год постоянно составляемый безрисковый уровень составляет 7% в год. Используя эти данные, вычислите цену, дельту и гамму опций с помощью модели Лайзена-Раймера с деревом 25 временных шагов и PP2 метод.

AssetPrice  = 100;
Strike = 100;

ValuationDate = 'June-1-2010';
Maturity = 'December-1-2010'; 

% define StockSpec
Sigma = 0.3;

StockSpec = stockspec(Sigma, AssetPrice);

% define RateSpec
Rates = 0.07;
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 25 time steps
LRTimeSpec  = lrtimespec(ValuationDate, Maturity, 25); 

% use the PP2 method
LRMethod  = 'PP2';  

TreeLR = lrtree(StockSpec, RateSpec, LRTimeSpec, Strike, 'method', LRMethod);

% compute prices and sensitivities using the LR model:
OptSpec = {'call'; 'put'}; 
OutSpec = {'Price', 'Delta', 'Gamma'};

[Price, Delta, Gamma] = optstocksensbylr(TreeLR, OptSpec, Strike, Settle, ... 
Maturity, 'OutSpec', OutSpec)
Price = 2×1

   10.1332
    6.6937

Delta = 2×1

    0.6056
   -0.3944

Gamma = 2×1

    0.0185
    0.0185

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

свернуть все

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

Пример: [Price,Delta,Gamma] = optstocksensbylr(LRTree,OptSpec,Strike,Settle,ExerciseDates,'OutSpec',OutSpec)

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

  • 0 — Европеец или Бермуды

  • 1 — Американец

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

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

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

Больше о

свернуть все

Опция ванили

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

Опция ванили имеет дату истечения срока и прямую цену исполнения опциона. Американские параметры стиля и европейские параметры стиля оба категоризированы как опции ванили.

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

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

  • Для помещенного: max(KSt,0)

где:

St является ценой базового актива во время t.

K является ценой исполнения опциона.

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

Ссылки

[1] Лейсен Д.П., М. Раймер. “Биномиальные модели для Оценки Опции – Исследование и Улучшение Сходимости”. Прикладные Математические Финансы. Номер 3, 1996, стр 319–346.

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