cashsensbybls

Определите цену или чувствительность цифровых опций «наличные или ничего» с помощью модели Блэка-Скоулза

Описание

пример

PriceSens = cashsensbybls(RateSpec,StockSpec,Settle,Maturity,OptSpec,Strike,Payoff) вычисляет цену или чувствительность для европейских цифровых опций «наличные или ничего» с помощью модели ценообразования Black-Scholes.

пример

PriceSens = cashsensbybls(___,Name,Value) задает опции, использующие один или несколько аргументы пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.

Примеры

свернуть все

Рассмотрим европейский вызов и положите опции наличности или ничего на фьючерсный контракт с ценой исполнения 90 долларов и фиксированной выплатой 10 долларов, которая истекает 1 октября 2008 года. Предположим, что 1 января 2008 года контракт торгуется на уровне $110, и имеет волатильность 25% годовых, а безрисковая ставка составляет 4,5% годовых. Используя эти данные, вычислите цену и чувствительность вызова и поместите опции «наличные» или «ничто» в фьючерсный контракт. Во-первых, создайте RateSpec:

Settle = 'Jan-1-2008';
Maturity = 'Oct-1-2008';
Rates = 0.045;
Compounding = -1;  
Basis = 1;
RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle,...
'EndDates', Maturity, 'Rates', Rates, 'Compounding', Compounding, 'Basis', Basis)
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: -1
             Disc: 0.9668
            Rates: 0.0450
         EndTimes: 0.7500
       StartTimes: 0
         EndDates: 733682
       StartDates: 733408
    ValuationDate: 733408
            Basis: 1
     EndMonthRule: 1

Определите StockSpec.

AssetPrice = 110;
Sigma = .25;
DivType = 'Continuous';
DivAmount = Rates;
StockSpec = stockspec(Sigma, AssetPrice, DivType, DivAmount)
StockSpec = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.2500
         AssetPrice: 110
       DividendType: {'continuous'}
    DividendAmounts: 0.0450
    ExDividendDates: []

Определите опции вызова и размещения.

OptSpec = {'call'; 'put'};
Strike = 90;
Payoff = 10;

Вычислите гамму, theta и цену.

OutSpec = { 'gamma';'theta';'price'};
[Gamma, Theta, Price] = cashsensbybls(RateSpec, StockSpec,...
Settle, Maturity, OptSpec, Strike, Payoff, 'OutSpec', OutSpec)
Gamma = 2×1

   -0.0050
    0.0050

Theta = 2×1

   -2.2489
    1.8139

Price = 2×1

    7.6716
    1.9965

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

свернуть все

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

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

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

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

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

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

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

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

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

Определение опции как 'call' или 'put', заданный как NINST-by- 1 вектор.

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

Значение цены доставки, заданная как NINST-by- 1 вектор.

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

Значения окупаемости (или сумма, которая будет выплачена по истечении срока действия), заданные как NINST-by- 1 вектор.

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

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

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

Пример: [Gamma,Theta,Price] = cashsensbybls(RateSpec,StockSpec,Settle,Maturity,OptSpec,Strike,Payoff,'OutSpec',{'gamma';'theta';'price'})

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

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

свернуть все

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

Введенный в R2009a