Оценка индексной опции CDS

Этот пример показывает, как оценить индексные опции CDS при помощи cdsoptprice с прямой корректировкой распространения. В отличие от CDS одно имени, индекс портфеля CDS содержит несколько кредитов. Когда один или несколько из значения по умолчанию кредитов, соответствующие сопряженные платежи осуществлены покупателю защиты, но контракт все еще продолжает уменьшаемые купонные платежи. Рассмотрение того, что индексная опция CDS не отменяет, когда часть базового значения по умолчанию кредитов перед истечением, каждый может попытка оценить индексные опции CDS с помощью модели Черного цвета для опции CDS одно имени ненокаута. Однако модель Черного цвета в этой форме не подходит для оценки индексных опций CDS, потому что это не получает решение осуществления правильно, когда забастовка распространилась (K) очень высоко, и при этом это не гарантирует четность помещенного вызова, когда (K) не равен договорному распространению (О'Кэйн, 2008).

Однако с соответствующими модификациями, модель Черного цвета для опций CDS одно имени, используемых в cdsoptprice, может обеспечить хорошее приближение для индексных опций CDS. В то время как существуют некоторые изменения в способе, которым модель Черного цвета изменяется для индексных опций CDS, они обычно включают корректировку прямого распространения F, забастовка распространила K или обоих. Здесь мы описываем подход корректировки прямого распространения только. В модели Черного цвета для опций CDS одно имени прямое распространение F задан как:

F=S(t,tE,T)=S(t,T)RPV01(t,T)S(t,tE)RPV01(t,tE)RPV01(t,tE,T)

где

S является распространением.

RPV01 является опасной приведенной стоимостью пункта (см. cdsrpv01).

t является датой оценки.

tE является датой окончания срока действия опции.

T является датой погашения CDS.

Чтобы получить решение осуществления правильно для CDS индексируют опции, мы используем форму нокаута модели Черного цвета и настраиваем прямое распространение, чтобы включить FEP можно следующим образом:

FAdj=F+FEPRPV01(t,tE,T)

с FEP, заданным как

FEP=(1R)Z(t,tE)(1Q(t,tE))

где

R является скоростью восстановления.

Z является коэффициентом дисконтирования.

Q является вероятностью выживания.

В cdsoptprice прямая корректировка распространения может быть внесена с параметром AdjustedForwardSpread. При вычислении настроенного прямого распространения мы можем вычислить распространения с помощью cdsspread и RPV01s с помощью cdsrpv01.

Настройте данные для индекса CDS, его опции и кривой нулевой ширины. Базовым является 5-летний индекс CDS, назревающий 20 июня 2017, и опция истекает 20 июня 2012. Плоское индексное распространение принято при начальной загрузке кривой вероятности по умолчанию.

% CDS index and option data
Recovery = .4;
Basis = 2;
Period = 4;
CDSMaturity = datenum('20-Jun-2017');
ContractSpread = 100;
IndexSpread = 140;
BusDayConvention = 'follow';
Settle = datenum('13-Apr-2012');
OptionMaturity = datenum('20-Jun-2012');
OptionStrike = 140;
SpreadVolatility = .69;

% Zero curve data
MM_Time = [1 2 3 6]';
MM_Rate = [0.004111 0.00563 0.00757 0.01053]';
MM_Dates = daysadd(Settle,30*MM_Time,1);
Swap_Time = [1 2 3 4 5 6 7 8 9 10 12 15 20 30]';
Swap_Rate = [0.01387 0.01035 0.01145 0.01318 0.01508 0.01700 0.01868 ...
    0.02012 0.02132 0.02237 0.02408 0.02564 0.02612 0.02524]';
Swap_Dates = daysadd(Settle,360*Swap_Time,1);

InstTypes = [repmat({'deposit'},size(MM_Time));repmat({'swap'},size(Swap_Time))];
Instruments = [repmat(Settle,size(InstTypes)) [MM_Dates;Swap_Dates] [MM_Rate;Swap_Rate]];

ZeroCurve = IRDataCurve.bootstrap('zero',Settle,InstTypes,Instruments);

% Bootstrap the default probability curve assuming a flat index spread.
MarketData = [CDSMaturity IndexSpread];
ProbDates = datemnth(OptionMaturity,(0:5*12)');
ProbData = cdsbootstrap(ZeroCurve, MarketData, Settle, 'ProbDates', ProbDates);

Вычислите пятно и передайте RPV01s, который будет использоваться позже в вычислении настроенного прямого распространения. С этой целью мы можем использовать cdsrpv01.

% RPV01(t,T)
RPV01_CDSMaturity = cdsrpv01(ZeroCurve,ProbData,Settle,CDSMaturity)

% RPV01(t,t_E,T)
RPV01_OptionExpiryForward = cdsrpv01(ZeroCurve,ProbData,Settle,CDSMaturity,...
    'StartDate',OptionMaturity)

% RPV01(t,t_E) = RPV01(t,T) - RPV01(t,t_E,T)
RPV01_OptionExpiry = RPV01_CDSMaturity - RPV01_OptionExpiryForward
RPV01_CDSMaturity =

    4.7853


RPV01_OptionExpiryForward =

    4.5971


RPV01_OptionExpiry =

    0.1882

Вычислите точечные распространения с помощью cdsspread.

% S(t,t_E)
Spread_OptionExpiry = cdsspread(ZeroCurve,ProbData,Settle,OptionMaturity,...
    'Period',Period,'Basis',Basis,'BusDayConvention',BusDayConvention,...
    'PayAccruedPremium',true,'recoveryrate',Recovery)

% S(t,T)
Spread_CDSMaturity = cdsspread(ZeroCurve,ProbData,Settle,CDSMaturity,...
    'Period',Period,'Basis',Basis,'BusDayConvention',BusDayConvention,...
    'PayAccruedPremium',true,'recoveryrate',Recovery)
Spread_OptionExpiry =

  139.9006


Spread_CDSMaturity =

  140.0000

Точечные распространения и RPV01s затем используются, чтобы вычислить прямое распространение.

% F = S(t,t_E,T)
ForwardSpread = (Spread_CDSMaturity.*RPV01_CDSMaturity - ...
    Spread_OptionExpiry.*RPV01_OptionExpiry)./RPV01_OptionExpiryForward
ForwardSpread =

  140.0040

Вычислите защиту фронтенда (FEP).

FEP = 10000*(1-Recovery)*ZeroCurve.getDiscountFactors(OptionMaturity)*ProbData(1,2)
FEP =

   26.3108

Вычислите настроенное прямое распространение.

AdjustedForwardSpread = ForwardSpread + FEP./RPV01_OptionExpiryForward
AdjustedForwardSpread =

  145.7273

Вычислите цены опции с помощью cdsoptprice с настроенным прямым распространением. Обратите внимание снова, что параметр Knockout должен быть установлен, чтобы быть true, потому что FEP был уже включен в настроенное прямое распространение.

[Payer,Receiver] = cdsoptprice(ZeroCurve, ProbData, Settle, OptionMaturity, ...
    CDSMaturity, OptionStrike, SpreadVolatility,'Knockout',true,...
    'AdjustedForwardSpread', AdjustedForwardSpread,'PayAccruedPremium',true);
fprintf('    Payer: %.0f   Receiver: %.0f  \n',Payer,Receiver);
Payer: 92   Receiver: 66  

Смотрите также

| |

Похожие темы

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