maxassetsensbystulz

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

Описание

пример

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

пример

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

Примеры

свернуть все

Рассмотрим европейский вариант радуги, который дает держателю право купить либо $100 000 индекса капитала по цене забастовки 1000 (актив 1), либо $100 000 государственной облигации (актив 2) с ценой забастовки 100% от номинальной стоимости, в зависимости от того, что стоит больше в конце 12 месяцев. 15 января 2008 года индекс акций торгуется на уровне 950, выплачивает дивиденды в размере 2% ежегодно и имеет волатильность возврата 22%. Также 15 января 2008 года гособлигация торгуется на уровне 98, платит купонное выражение в 6% и имеет волатильность возврата 15%. Безрисковая ставка составляет 5%. Используя эти данные, вычислите цену и чувствительность европейской радужной опции, если корреляция между темпами возврата составляет -0,5, 0 и 0,5.

Поскольку цены основных средств в этом примере указаны в различных модулях, необходимо работать либо в индексных точках (для основного средства 1), либо в долларах (для основного средства 2). Европейский радужный вариант позволяет держателю купить следующие: 100 единиц индекса капитала по $1000 каждый (на общую сумму $100 000) или 1000 единиц государственных облигаций по $100 каждый (на общую сумму $100 000). Для преобразования цены облигации (актив 2) в индексные модули (актив 1) необходимо выполнить следующие корректировки:

  • Умножить цену доставки и текущую цену государственных облигаций на 10 (1000/100).

  • Умножьте цену опции на 100, учитывая, что в опцию есть 100 модули индекса собственного капитала.

После введения этих корректировок цена доставки одинаковая для обоих активов (1000 долл. США). Во-первых, создайте RateSpec:

Settle = 'Jan-15-2008';
Maturity = 'Jan-15-2009';
Rates = 0.05;
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.9512
            Rates: 0.0500
         EndTimes: 1
       StartTimes: 0
         EndDates: 733788
       StartDates: 733422
    ValuationDate: 733422
            Basis: 1
     EndMonthRule: 1

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

AssetPrice1 = 950;   % Asset 1 => Equity index
AssetPrice2 = 980;   % Asset 2 => Government bond
Sigma1 = 0.22;
Sigma2 = 0.15;
Div1 = 0.02; 
Div2 = 0.06; 

StockSpec1 = stockspec(Sigma1, AssetPrice1, 'continuous', Div1)
StockSpec1 = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.2200
         AssetPrice: 950
       DividendType: {'continuous'}
    DividendAmounts: 0.0200
    ExDividendDates: []

StockSpec2 = stockspec(Sigma2, AssetPrice2, 'continuous', Div2)
StockSpec2 = struct with fields:
             FinObj: 'StockSpec'
              Sigma: 0.1500
         AssetPrice: 980
       DividendType: {'continuous'}
    DividendAmounts: 0.0600
    ExDividendDates: []

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

Strike = 1000 ; 
Corr = [-0.5; 0; 0.5];
OutSpec = {'price'; 'delta'};
OptSpec = 'call';
[Price, Delta] = maxassetsensbystulz(RateSpec, StockSpec1, StockSpec2,...
Settle, Maturity, OptSpec, Strike, Corr,'OutSpec', OutSpec)
Price = 3×1

  111.6683
  103.7715
   92.4412

Delta = 3×2

    0.4594    0.3698
    0.4292    0.3166
    0.4053    0.2512

Область выхода Delta имеет два столбца: первый столбец представляет Delta относительно индекса собственного капитала (актив 1), а второй столбец представляет собой Delta в отношении государственных облигаций (актив 2). Значение 0.4595 представляет Delta относительно одного модуля индекса собственного капитала. Поскольку существует 100 модули индекса собственного капитала, общая Delta будет 45,94 (100 * 0,4594) для корреляционного уровня -0,5. Чтобы вычислить Delta что касается государственных облигаций, помните, что вместо 98 использовалась скорректированная цена 980. Поэтому, например, Delta что касается государственных облигаций, то для корреляции 0,5 будет 251,2 (0,2512 * 100 * 10).

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

свернуть все

Ежегодная, постоянно сложенная структура терминов скорости, заданная с помощью intenvset.

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

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

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

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

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

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

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

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

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

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

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

Цены забастовки, указанные как NINST-by- 1 вектор.

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

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

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

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

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

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

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

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

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

свернуть все

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

Подробнее о

свернуть все

Радужная опция

А rainbow option выплата зависит от относительной ценовой эффективности двух или более активов.

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

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

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

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

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

Введенный в R2009a