Оценка существующего контракта CDS

Текущее значение или метка на рынок, существующего контракта CDS является суммой денег, которую сторона контракта получила бы (если положительный) или плата (если отрицательный), чтобы раскрутить этот контракт. Первичным из контракта является текущее значение, выраженное как часть отвлеченной суммы контракта, и это обычно используется, чтобы заключить рыночную стоимость в кавычки.

Значение существующих контрактов CDS получено с cdsprice. По умолчанию, cdsprice обработки сокращаются как длинные позиции. Долго ли положение контракта, или короткий определяется из точки зрения защиты, то есть, длинный означает, что защита была куплена, и короткая средняя степень защиты была продана. В следующем примере существующий контракт CDS платит премию, которая ниже, чем текущее состояние рынка. Цена положительна, как ожидалось, поскольку это было бы более дорогостоящим, чтобы купить тот же тип защиты сегодня.

Settle = '17-Jul-2009';   % valuation date for the CDS
MarketDates = datenum({'20-Sep-10','20-Sep-11','20-Sep-12','20-Sep-14',...
'20-Sep-16'});
MarketSpreads = [140 175 210 265 310]';
MarketData = [MarketDates MarketSpreads];

ZeroDates = datenum({'17-Jan-10','17-Jul-10','17-Jul-11','17-Jul-12',...
'17-Jul-13','17-Jul-14'});
ZeroRates = [1.35 1.43 1.9 2.47 2.936 3.311]'/100;
ZeroData = [ZeroDates ZeroRates];

[ProbData,HazData] = cdsbootstrap(ZeroData,MarketData,Settle);

Maturity2 = '20-Sep-2012';
Spread2 = 196;
 
[Price,AccPrem,PaymentDates,PaymentTimes,PaymentCF] = cdsprice(ZeroData,...
ProbData,Settle,Maturity2,Spread2);
 
fprintf('Dirty Price: %8.2f\n',Price+AccPrem);
fprintf('Accrued Premium: %8.2f\n',AccPrem);
fprintf('Clean Price: %8.2f\n',Price);
fprintf('\nPayment Schedule:\n\n');
fprintf('Date \t\t Time Frac \t Amount\n');
for k = 1:length(PaymentDates)
   fprintf('%s \t %5.4f \t %8.2f\n',datestr(PaymentDates(k)),...
      PaymentTimes(k),PaymentCF(k));
end

Этот получившийся график платежей:

Dirty Price: 56872.94
Accrued Premium: 15244.44
Clean Price: 41628.50

Payment Schedule:

Date 		 Time Frac 	 Amount
20-Sep-2009 	 0.1806 	 35388.89
20-Dec-2009 	 0.2528 	 49544.44
20-Mar-2010 	 0.2500 	 49000.00
20-Jun-2010 	 0.2556 	 50088.89
20-Sep-2010 	 0.2556 	 50088.89
20-Dec-2010 	 0.2528 	 49544.44
20-Mar-2011 	 0.2500 	 49000.00
20-Jun-2011 	 0.2556 	 50088.89
20-Sep-2011 	 0.2556 	 50088.89
20-Dec-2011 	 0.2528 	 49544.44
20-Mar-2012 	 0.2528 	 49544.44
20-Jun-2012 	 0.2556 	 50088.89
20-Sep-2012 	 0.2556 	 50088.89

Кроме того, можно использовать cdsprice оценить портфель контрактов CDS. В следующем примере, простом застрахованном положении с двумя контрактами CDS ванили, одним длинным, один короткий, с немного отличающимися распространениями оценен в одном вызове, и значение портфеля является суммой возвращенных цен:

[Price2,AccPrem2] = cdsprice(ZeroData,ProbData,Settle,...
repmat(datenum(Maturity2),2,1),[Spread2;Spread2+3],...
'Notional',[1e7; -1e7]);

fprintf('Contract \t Dirty Price \t Acc Premium \t  Clean Price\n');
fprintf('    Long \t $ %9.2f \t $ %9.2f \t $ %9.2f \t\n',...
   Price2(1)+AccPrem2(1), AccPrem2(1), Price2(1));
fprintf('   Short \t $ %8.2f \t $ %8.2f \t $ %8.2f \t\n',...
   Price2(2)+AccPrem2(2), AccPrem2(2), Price2(2));
fprintf('Mark-to-market of hedged position: $ %8.2f\n',sum(Price2)+sum(AccPrem2));

Это получившееся значение портфеля:

Contract 	 Dirty Price 	 Acc Premium 	  Clean Price
    Long 	 $  56872.94 	 $  15244.44 	 $  41628.50 	
   Short 	 $ -48185.88 	 $ -15477.78 	 $ -32708.11 	
Mark-to-market of hedged position: $  8687.06

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

| | |

Похожие темы