Ценовой инструмент распространения для товара Используя и аналитические калькуляторы цен модели Блэка-Шоулза

Этот пример показывает рабочий процесс, чтобы оценить товарный Spread инструмент, когда вы используете BlackScholes модель и Kirk и BjerksundStensland аналитические методы ценообразования.

Понимание взломанных опций распространения

В нефтяной промышленности установки для очистки касаются различия между своими производственными затратами (сырая нефть) и цены выхода (усовершенствованные продукты — бензин, мазут, дизельное топливо, и так далее). Дифференциал между этими двумя базовыми предметами потребления упоминается как взломанное распространение. Это представляет маржу прибыли между сырой нефтью и усовершенствованными продуктами.

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

Задайте товар

Примите, что текущие цены на бензин сильны, и вы хотите смоделировать взломанную опционную стратегию распространения защитить поле бензина. Взломанная опционная стратегия распространения используется, чтобы обеспечить прибыль за следующий сезон. Фьючерсы сырой нефти WTI на уровне 93,20$ за баррель, и фьючерсный контракт бензина RBOB на уровне 2,85$ за галлон.

Strike = 20;
Rate = 0.05;

Settle = datetime(2020,1,1);
Maturity = datemnth(Settle,3);

% Price and volatility of RBOB gasoline
PriceGallon1 = 2.85;          % Dollars per gallon
Price1 = PriceGallon1 * 42;   % Dollars per barrel
Vol1 = 0.29;

% Price and volatility of WTI crude oil
Price2 = 93.20;         % Dollars per barrel
Vol2 = 0.36;

% Correlation between the prices of the commodities
Corr = 0.42;

Создайте Spread Инструментальный объект

Используйте fininstrument создать Spread инструментальный объект.

SpreadOpt = fininstrument("Spread", 'ExerciseDate', Maturity, 'Strike', Strike,'ExerciseStyle',"european",'Name',"spread_instrument")
SpreadOpt = 
  Spread with properties:

       OptionType: "call"
           Strike: 20
    ExerciseStyle: "european"
     ExerciseDate: 01-Apr-2020
             Name: "spread_instrument"

Создайте BlackScholes Объект модели

Используйте finmodel создать BlackScholes объект модели.

BlackScholesModel = finmodel("BlackScholes", 'Volatility', [Vol1,Vol2], 'Correlation', [1 Corr; Corr 1]);

Создайте ratecurve Объект

Создайте плоский ratecurve объект с помощью ratecurve.

ZeroCurve = ratecurve('zero', Settle, Maturity, Rate, 'Basis', 1);

Создайте BjerksundStensland Объект калькулятора цен

Используйте finpricer создать BjerksundStensland объект калькулятора цен и использование ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".

BJSPricer = finpricer("Analytic", 'Model', BlackScholesModel, 'SpotPrice', [Price1 , Price2], 'DiscountCurve', ZeroCurve,'PricingMethod', "BjerksundStensland");

Создайте Kirk Объект калькулятора цен

Используйте finpricer создать Kirk объект калькулятора цен и использование ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".

KirkPricer = finpricer("Analytic", 'Model', BlackScholesModel,'SpotPrice', [Price1 , Price2], 'DiscountCurve', ZeroCurve,'PricingMethod', "Kirk");

Цена Spread Инструмент Используя BjerksundStensland и Kirk Аналитические методы ценообразования

Используйте price вычислить цену и чувствительность для товарного Spread инструмент.

[PriceKirk, outPR_Kirk] = price(KirkPricer, SpreadOpt, "all");
[PriceBJS,  outPR_BJS]  = price(BJSPricer,  SpreadOpt, "all");

[outPR_Kirk.Results; outPR_BJS.Results]
ans=2×7 table
    Price           Delta                  Gamma                 Lambda                Vega           Theta      Rho  
    _____    ___________________    ____________________    _________________    ________________    _______    ______

    11.19    0.67224    -0.60665    0.019081    0.021662    7.1907    -6.4891    11.299    9.8869    -14.539    3.1841
     11.2    0.67371    -0.60816    0.018992    0.021572    7.2003    -6.4997    11.198    9.9878    -14.555    3.1906