optstocksensbyfd

Вычислите цены опции ванили или чувствительность с помощью метода конечной разности

Описание

пример

[PriceSens,PriceGrid,AssetPrices,Times] = optstocksensbyfd(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates) вычисляет цены опции ванили или чувствительность с помощью метода конечной разности.

пример

[PriceSens,PriceGrid,AssetPrices,Times] = optstocksensbyfd(___,Name,Value) добавляют дополнительные аргументы пары "имя-значение".

Примеры

свернуть все

Создайте RateSpec.

AssetPrice = 50;
Strike = 45;
Rate = 0.035;
Volatility = 0.30;
Settle = '01-Jan-2015';
Maturity = '01-Jan-2016';
Basis = 1;
 
RateSpec = intenvset('ValuationDate',Settle,'StartDates',Settle,'EndDates',...
Maturity,'Rates',Rate,'Compounding',-1,'Basis',Basis)
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: -1
             Disc: 0.9656
            Rates: 0.0350
         EndTimes: 1
       StartTimes: 0
         EndDates: 736330
       StartDates: 735965
    ValuationDate: 735965
            Basis: 1
     EndMonthRule: 1

Создайте StockSpec.

StockSpec = stockspec(Volatility,AssetPrice)
StockSpec = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.3000
         AssetPrice: 50
       DividendType: []
    DividendAmounts: 0
    ExDividendDates: []

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

ExerciseDates = 'may-1-2015';
OptSpec = 'Call';
OutSpec = {'price'; 'delta'; 'theta'};
[PriceSens, Delta, Theta] = optstocksensbyfd(RateSpec,StockSpec,OptSpec,Strike,Settle,...
ExerciseDates,'OutSpec',OutSpec)
PriceSens = 6.7352
Delta = 0.7765
Theta = -4.9999

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

свернуть все

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

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

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

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

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

Определение опции как 'call' или 'put'В виде вектора символов или массива строк со значениями 'call' или 'put'.

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

Значение цены исполнения опциона опции в виде неотрицательного скаляра или вектора.

  • Для европейской опции используйте скаляр цены исполнения опциона.

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

  • Для американской опции используйте скаляр цены исполнения опциона.

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

Урегулирование или торговая дата барьерного опциона в виде последовательного номера даты, вектора символов даты или объекта datetime.

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

Даты осуществления опции в виде неотрицательного скалярного целого числа, вектора символов даты или объекта datetime:

  • Для европейской опции используйте 1- 1 вектор из дат в виде неотрицательного скалярного целого числа, вектора символов даты или объекта datetime. Для опции Бермуд используйте 1- NSTRIKES вектор из дат в виде неотрицательного скалярного целого числа, вектора символов даты или объекта datetime.

  • Для американской опции используйте 1- 2 массив ячеек векторов символов даты. Опция может быть осуществлена в любую дату между или включая пару дат на той строке. Если только один non-NaN дата перечислена, или если ExerciseDates 1- 1 вектор из последовательных чисел даты или массив ячеек векторов символов даты, опция может быть осуществлена между Settle и одна перечисленная дата в ExerciseDates.

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

Аргументы name-value

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

Пример: PriceSens = optstocksensbyfd(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates,'OutSpec',{'All'},'AssetGridSize',1000)

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

Размер сетки актива, используемой для сетки конечной разности в виде разделенной запятой пары, состоящей из 'AssetGridSize' и положительная скалярная величина.

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

Максимальная цена за ценовой контур сетки в виде разделенной запятой пары, состоящей из 'AssetPriceMax' и положительная скалярная величина.

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

Размер сетки времени, используемой для сетки конечной разности в виде разделенной запятой пары, состоящей из 'TimeGridSize' и положительная скалярная величина.

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

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

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

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

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

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

свернуть все

Ожидаемая цена или чувствительность (заданный OutSpec) из опции ванили, возвращенной как 1- 1 массив.

Сетка, содержащая цены, вычисленные методом конечной разности, возвращенным как двумерная сетка с размером PriceGridSize*length(Times). Количество столбцов не должно быть равно TimeGridSize, потому что без дивиденда даты в StockSpec добавляются к сетке времени. Цена за t = 0 содержится в PriceGrid(:, end).

Цены актива заданы StockSpec соответствие первой размерности PriceGrid, возвращенный как вектор.

Времена соответствуя второму измерению PriceGrid, возвращенный как вектор.

Больше о

свернуть все

Опция ванили

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

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

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

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

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

где:

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

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

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

Ссылки

[1] Хог, Например, Дж. Хог и А. Льюис. "Назад к основам: новый подход к дискретной проблеме дивиденда". Издание 9, журнал Wilmott, 2003, стр 37–47.

[2] Ву, L. и И. К. Квок. "Фиксирующий переднюю сторону метод конечной разности для оценки американских опций". Журнал Финансовой Разработки. Издание 6.4, 1997, стр 83–97.

Введенный в R2017b