exponenta event banner

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 что касается государственных облигаций, помните, что была использована скорректированная цена 980 вместо 98. Поэтому, например, Delta что касается государственных облигаций, то для корреляции 0,5 будет 251,2 (0,2512 * 100 * 10).

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

свернуть все

Годовая, непрерывно смешанная структура терминов ставки, указанная с использованием 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] = maxassetsensbystulz(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 вектор.

Подробнее

свернуть все

Радужный вариант

Радужное погашение опциона зависит от относительной ценовой эффективности двух или более активов.

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

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

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

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

Дополнительные сведения см. в разделе Параметр «Радуга».

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