spreadsensbyfd

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

Описание

пример

PriceSens = spreadsensbyfd(RateSpec,StockSpec1,StockSpec2,Settle,Maturity,OptSpec,Strike,Corr) возвращает цену и чувствительность европейского или американского вызова или помещенных опций распространения с помощью метода конечной разности Альтернативного неявного направления (ADI). Распространение между активом, заданным в StockSpec1 минус актив, заданный в StockSpec2.

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

[PriceSens,PriceGrid,AssetPrice1,AssetPrice2,Times] = spreadsensbyfd(RateSpec,StockSpec1,StockSpec2,Settle,Maturity,OptSpec,Strike,Corr) возвращает PriceSens, PriceGrid, AssetPrice1, AssetPrice2, и Times поскольку европеец или американец вызывают или помещенные опции распространения с помощью метода конечной разности Альтернативного неявного направления (ADI). Распространение между активом, заданным в StockSpec1 минус актив, заданный в StockSpec2.

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

Примеры

свернуть все

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

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: []

Вычислите цену опции распространения и чувствительность на основе метода конечной разности Альтернативного неявного направления (ADI).

OutSpec = {'Price', 'Delta', 'Gamma'};
[Price, Delta, Gamma, PriceGrid, AssetPrice1, AssetPrice2, Times] = ...
spreadsensbyfd(RateSpec, StockSpec1, StockSpec2, Settle, ...
Maturity, OptSpec, Strike, Corr, 'OutSpec', OutSpec);

Отобразите цену и чувствительность.

Price
Price = 11.1998
Delta
Delta = 1×2

    0.6736   -0.6082

Gamma
Gamma = 1×2

    0.0190    0.0214

Постройте сетку конечной разности.

mesh(AssetPrice1, AssetPrice2, PriceGrid(:, :, 1)');
    title('Spread Option Prices for Range of Underlying Prices');
    xlabel('Price of underlying asset 1');
    ylabel('Price of underlying asset 2');
    zlabel('Price of spread option');

Figure contains an axes object. The axes object with title Spread Option Prices for Range of Underlying Prices contains an object of type surface.

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

свернуть все

Структура термина процентной ставки (пересчитанный на год и постоянно составляемый), заданный 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- 1 векторный массив или массив ячеек дат вектора символов.

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

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

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

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

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

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

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

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

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

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

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

Пример: [PriceSens,PriceGrid,AssetPrice1,AssetPrice2,Times] = spreadsensbyfd(RateSpec,StockSpec1,StockSpec2,Settle,Maturity,OptSpec,Strike,Corr, 'AssetPriceMin','AssetPriceMax','PriceGridSize','TimeGridSize','AmericanOpt',0,'OutSpec',{'All'})

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

Минимальная цена на ценовой контур сетки в виде разделенной запятой пары, состоящей из 'AssetPriceMin' и 1- 2 массив. Первая запись в массиве соответствует первому активу, заданному StockSpec1 и вторая запись соответствует второму активу, заданному StockSpec2.

Для метода конечной разности состав сетки влияет на качество выхода и время выполнения. Это настоятельно рекомендовано, чтобы использовать дополнительные аргументы AssetPriceMin, AssetPriceMax, PriceGridSize, и TimeGridSize управлять составом сетки, чтобы гарантировать качество выхода и разумное время выполнения.

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

Максимальная цена за ценовой контур сетки в виде разделенной запятой пары, состоящей из 'AssetPriceMax' и 1- 2 массив. Первая запись в массиве соответствует первому активу, заданному StockSpec1 и вторая запись соответствует второму активу, заданному StockSpec2.

Для метода конечной разности состав сетки влияет на качество выхода и время выполнения. Это настоятельно рекомендовано, чтобы использовать дополнительные аргументы AssetPriceMin, AssetPriceMax, PriceGridSize, и TimeGridSize управлять составом сетки, чтобы гарантировать качество выхода и разумное время выполнения.

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

Размер для сетки конечной разности в виде разделенной запятой пары, состоящей из 'PriceGridSize' и 1- 2 массив. Первая запись соответствует первому активу, заданному StockSpec1 и вторая запись соответствует второму активу, заданному StockSpec2.

Для метода конечной разности состав сетки влияет на качество выхода и время выполнения. Это настоятельно рекомендовано, чтобы использовать дополнительный argumentsAssetPriceMax, PriceGridSize, и TimeGridSize управлять составом сетки, чтобы гарантировать качество выхода и разумное время выполнения.

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

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

Для метода конечной разности состав сетки влияет на качество выхода и время выполнения. Это настоятельно рекомендовано, чтобы использовать дополнительный argumentsAssetPriceMax, PriceGridSize, и TimeGridSize управлять составом сетки, чтобы гарантировать качество выхода и разумное время выполнения.

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

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

  • 0 — Европеец

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

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

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

свернуть все

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

Сетка, содержащая цены, вычисленные методом конечной разности, возвращенным как 3-D сетка с размером PriceGridSize(1) * PriceGridSize(2) * TimeGridSize. Цена за t = 0 содержится в PriceGrid(:, :, 1).

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

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

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

Больше о

свернуть все

Распространите опцию

spread option является опцией, записанной на различии двух базовых активов.

Например, европеец обращаются к различию двух активов, X1 и X2 имели бы следующее, окупаются в зрелости:

max(X1X2K,0)

где:

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

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

Ссылки

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

[2] Вильнев, S., Zanette, A. “Параболические Методы ADI для Оценки американских Опций на Двух Запасах”. Математика Исследования операций. Издание 27, № 1, стр 121–149, INFORMS, 2002.

[3] Ikonen, S., Тойванен, J. Эффективные численные методы для оценки американских опций под стохастической энергозависимостью. Вайли InterScience, 2007.

Введенный в R2013b