minassetbystulz

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

Синтаксис

Price = minassetbystulz(RateSpec,StockSpec1,StockSpec2,Settle,Maturity,OptSpec,Strike,Corr)

Описание

пример

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

Примеры

свернуть все

Рассмотрите европейский пут-опцион радуги, который дает держателю право продать или акции 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';
Price = minassetbystulz(RateSpec, StockSpecA, StockSpecB, Settle,...
Maturity, OptSpec, Strike, Corr)
Price = 3×1

    3.4320
    3.1384
    2.7694

Значения 3.43, 3.14, и 2.77 являются ценой европейских пут-опционов радуги с уровнем корреляции-0.5, 0, и 0.5 соответственно.

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

свернуть все

Пересчитанный на год, постоянно составляемая структура термина уровня, заданное использование 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 вектор.

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