minassetsensbystulz

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

Описание

пример

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

пример

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

Примеры

свернуть все

Рассмотрите европейский пут-опцион радуги, который дает держателю право продать или акции A или запас B в забастовке 50,25, какой бы ни имеет нижнее значение на дату истечения срока 15 мая 2009. 15 ноября 2008 запас A стоит в 49,75 с непрерывной ежегодной дивидендной доходностью 4,5% и имеет энергозависимость возврата 11%. Сток Б торгует в 51 с непрерывной дивидендной доходностью 5% и имеет энергозависимость возврата 16%. Безрисковый уровень составляет 4,5%. Используя эти данные, если корреляция между нормами прибыли-0.5, 0, и 0.5, вычисляют цену и чувствительность минимума двух активов, которые являются европейскими пут-опционами радуги. Во-первых, создайте RateSpec:

Settle = 'Nov-15-2008';
Maturity = 'May-15-2009';
Rates = 0.045;
Basis = 1;

RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle,...
'EndDates', Maturity, 'Rates', Rates, 'Compounding', -1, 'Basis', Basis)
RateSpec = struct with fields:
           FinObj: 'RateSpec'
      Compounding: -1
             Disc: 0.9778
            Rates: 0.0450
         EndTimes: 0.5000
       StartTimes: 0
         EndDates: 733908
       StartDates: 733727
    ValuationDate: 733727
            Basis: 1
     EndMonthRule: 1

Создайте два StockSpec определения.

AssetPriceA = 49.75;
AssetPriceB = 51;
SigmaA = 0.11;
SigmaB = 0.16;
DivA = 0.045; 
DivB = 0.05; 

StockSpecA = stockspec(SigmaA, AssetPriceA, 'continuous', DivA)
StockSpecA = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.1100
         AssetPrice: 49.7500
       DividendType: {'continuous'}
    DividendAmounts: 0.0450
    ExDividendDates: []

StockSpecB = stockspec(SigmaB, AssetPriceB, 'continuous', DivB)
StockSpecB = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.1600
         AssetPrice: 51
       DividendType: {'continuous'}
    DividendAmounts: 0.0500
    ExDividendDates: []

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

Strike = 50.25;
Corr = [-0.5;0;0.5];
OptSpec = 'put';
OutSpec = {'Price'; 'delta'};
[P, D] = minassetsensbystulz(RateSpec, StockSpecA, StockSpecB,...
Settle, Maturity, OptSpec, Strike, Corr, 'OutSpec', OutSpec)
P = 3×1

    3.4320
    3.1384
    2.7694

D = 3×2

   -0.4183   -0.3496
   -0.3746   -0.3189
   -0.3304   -0.2905

Выход Delta имеет два столбца: первый столбец представляет Delta относительно запаса (актив 1), и второй столбец представляет Delta относительно запаса B (актив 2). Значение 0.4183 представляет Delta относительно запаса для уровня корреляции-0.5. Delta относительно запаса B, для корреляции нуля-0.3189.

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

свернуть все

Пересчитанный на год, постоянно составляемая структура термина уровня, заданное использование intenvset.

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

Спецификация запаса для актива 1, заданное использование stockspec.

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

Спецификация запаса для актива 2, заданное использование stockspec.

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

Урегулирование или торговые даты в виде NINST- 1 вектор из числовых дат.

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

Даты погашения в виде NINST- 1 вектор.

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

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

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

Цены исполнения опциона в виде NINST- 1 вектор.

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

Корреляция между ценами базового актива в виде NINST- 1 вектор.

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

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

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

Пример: [PriceSens] = minassetsensbystulz(RateSpec, StockSpecA,StockSpecB,Settle,Maturity,OptSpec,Strike,Corr,'OutSpec',OutSpec)

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

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

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

свернуть все

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

Больше о

свернуть все

Опция радуги

Выплата rainbow option зависит от относительной динамики цен двух или больше активов.

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

Financial Instruments Toolbox™ поддерживает два типа опций радуги:

  • Минимум двух активов — держатель опции имеет право купить (продают) один из двух опасных активов, какой бы ни каждый стоит меньше.

  • Максимум двух активов — держатель опции имеет право купить (продают) один из двух опасных активов, какой бы ни каждый стоит больше.

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

Представленный в R2009a