spreadsensbybjs

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

Синтаксис

PriceSens = spreadbybjs(RateSpec,StockSpec1,StockSpec2,Settle,Maturity,OptSpec,Strike,Corr)
PriceSens = spreadsensbybjs(___,Name,Value)

Описание

пример

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

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

Примеры

свернуть все

Задайте даты опции распространения.

Settle = '01-Jun-2012';
Maturity = '01-Sep-2012';

Задайте актив 1. Цена и энергозависимость бензина RBOB

   Price1gallon = 2.85;          % $/gallon
   Price1 = Price1gallon * 42;   % $/barrel
   Vol1 = 0.29;

Задайте актив 2. Цена и энергозависимость сырой нефти WTI

  Price2 = 93.20;         % $/barrel
  Vol2 = 0.36;

Задайте корреляцию между ценами базового актива актива 1 и актива 2.

Corr = 0.42;

Задайте опцию распространения.

OptSpec = 'call';
Strike = 20;

Задайте RateSpec.

rates = 0.05;
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.9876
            Rates: 0.0500
         EndTimes: 0.2500
       StartTimes: 0
         EndDates: 735113
       StartDates: 735021
    ValuationDate: 735021
            Basis: 1
     EndMonthRule: 1

Задайте StockSpec для этих двух активов.

StockSpec1 = stockspec(Vol1, Price1)
StockSpec1 = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.2900
         AssetPrice: 119.7000
       DividendType: []
    DividendAmounts: 0
    ExDividendDates: []

StockSpec2 = stockspec(Vol2, Price2)
StockSpec2 = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.3600
         AssetPrice: 93.2000
       DividendType: []
    DividendAmounts: 0
    ExDividendDates: []

Вычислите цену опции распространения и чувствительность на основе модели Кирка.

OutSpec = {'Price', 'Delta', 'Gamma'};
[Price, Delta, Gamma] = spreadsensbybjs(RateSpec, StockSpec1, StockSpec2, Settle, ...
Maturity, OptSpec, Strike, Corr, 'OutSpec', OutSpec)
Price = 11.2000
Delta = 1×2

    0.6737   -0.6082

Gamma = 1×2

    0.0190    0.0216

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

свернуть все

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если Strike равен нулю функцию, вычисляет цену и чувствительность обменной опции.

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

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

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

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

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

Пример: PriceSens = spreadsensbykirk(RateSpec,StockSpec1,StockSpec2,Settle,Maturity,OptSpec,Strike,Corr,OutSpec,{'All'})

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

Ссылки

[1] Кармона, R., Деррлмен, V. “Оценок и Хеджирование Опций Распространения”, Анализ SIAM. Издание 45, № 4, стр 627–685, Общество Промышленной и Прикладной математики, 2003.

[2] Bjerksund, Питер, Stensland, Ганнэр. “Закрытая форма распространила оценку опции”. Отдел Финансов, NHH, 2006.

Введенный в R2013b