maxassetsensbystulz

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

Синтаксис

PriceSens = maxassetsensbystulz(RateSpec,StockSpec1,StockSpec2,Settle,Maturity,OptSpec,Strike,Corr)
PriceSens = maxassetsensbystulz(RateSpec,StockSpec1,StockSpec2,Settle,Maturity,OptSpec,Strike,Corr,OutSpec)

Аргументы

RateSpec

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

StockSpec1

Спецификация запаса для актива 1. Смотрите stockspec.

StockSpec2

Спецификация запаса для актива 2. Смотрите stockspec.

Settle

NINST- 1 вектор урегулирования или торговых дат.

Maturity

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

OptSpec

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

Strike

NINST- 1 вектор значений цены исполнения опциона.

Corr

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

OutSpec

(Необязательно) Все дополнительные входные параметры заданы как соответствие с парами "имя-значение" параметра. Название параметра задано как вектор символов, сопровождаемый соответствующим значением параметров. Можно задать пары "имя-значение" параметра в любом порядке. Имена являются нечувствительными к регистру, и частичные соответствия позволены, если никакие неоднозначности не существуют. Допустимые названия параметра:

  • NOUT- 1 или 1- NOUT массив ячеек из символьных векторов, указывающий на природу и порядок выходных параметров для функции. Возможными значениями является 'Price'\delta\Gamma, 'Vega'\lambda\rho, 'Theta', или 'All'.

    Например, OutSpec = {'Price'; 'Lambda'; 'Rho'} указывает, что выходом должен быть Price\lambda, и Rho, в том порядке.

    Вызвать от функции: [Price, Lambda, Rho] = maxassetsensbystulz(..., 'OutSpec', {'Price', 'Lambda', 'Rho'})

    OutSpec = {'All'} указывает, что выходом должен быть Delta\Gamma, Vega\lambda\rho, Theta, и Price, в том порядке. Это совпадает с определением OutSpec как OutSpec = {'Delta', 'Gamma', 'Vega', 'Lambda', 'Rho', 'Theta', 'Price'};.

  • Значением по умолчанию является OutSpec = {'Price'}.

Описание

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

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

PriceSens NINST- 1 или NINST- 2 вектор ожидаемых цен или значений чувствительности.

Примеры

свернуть все

Рассмотрите европейскую возможность радуги, которая дает держателю право купить любые 100 000$ фондового индекса по цене исполнения опциона 1 000 (актив 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 модулей фондового индекса на уровне 1 000$ каждый (за в общей сложности 100 000$) или 1 000 модулей государственных облигаций на уровне 100$ каждый (за в общей сложности 100 000$). Чтобы преобразовать цену облигаций (актив 2), чтобы индексировать модули (актив 1), необходимо внести следующие корректировки:

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

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

Если эти корректировки введены, цена исполнения опциона является тем же самым для обоих активов (1 000$). Во-первых, создайте 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).

Больше о

свернуть все

Опция радуги

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

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

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

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

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

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

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