maxassetbystulz

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

Описание

пример

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

Примеры

свернуть все

Рассмотрим европейскую радужную опцию, которая дает держателю право купить либо индекс акционерного капитала на 100 000 долларов США по цене 1000 (1 актива), либо гособлигацию (2 актива) на 100 000 долларов США с ценой стрима на 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];
OptSpec = 'call';

Price = maxassetbystulz(RateSpec, StockSpec1, StockSpec2,...
Settle, Maturity, OptSpec, Strike, Corr)
Price = 3×1

  111.6683
  103.7715
   92.4412

Это цены одни модули. Это означает, что премия составляет 11166,83, 10377,15 и 9244,12 (на 100 модули).

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

свернуть все

Ежегодная, постоянно сложенная структура терминов скорости, заданная с помощью 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

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

свернуть все

Ожидаемые опции цены, возвращенные как NINST-by- 1 вектор.

Подробнее о

свернуть все

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

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

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

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

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

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

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

Введенный в R2009a