Следующие два примера демонстрируют поведение загрузки с инвертированными кривыми рынка CDS, то есть рыночные котировки с более высокими спредами для краткосрочных контрактов CDS. Первый пример обрабатывается обычно cdsbootstrap
:
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'}); 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]; MarketSpreadsInv1 = [750 650 550 500 450]'; MarketDataInv1 = [MarketDates MarketSpreadsInv1]; [ProbDataInv1,HazDataInv1] = cdsbootstrap(ZeroData,MarketDataInv1,Settle)
ProbDataInv1 = 1.0e+05 * 7.3440 0.0000 7.3477 0.0000 7.3513 0.0000 7.3586 0.0000 7.3659 0.0000 HazDataInv1 = 1.0e+05 * 7.3440 0.0000 7.3477 0.0000 7.3513 0.0000 7.3586 0.0000 7.3659 0.0000
Во втором примере, cdsbootstrap
генерирует предупреждение:
MarketSpreadsInv2 = [800 550 400 250 100]'; MarketDataInv2 = [MarketDates MarketSpreadsInv2]; [ProbDataInv2,HazDataInv2] = cdsbootstrap(ZeroData,MarketDataInv2,Settle);
Warning: Found non-monotone default probabilities (negative hazard rates)
Немонотонная загрузочная кривая вероятностей подразумевает отрицательные вероятности по умолчанию и отрицательные скорости опасности для определенных временных интервалов. Экстремальные рыночные условия могут привести к таким ситуациям. В этих случаях необходимо оценить надежность и полезность результатов загрузки.
Следующий график иллюстрирует эти загрузочные кривые вероятностей. Кривые вогнуты, что означает, что предельная вероятность по умолчанию уменьшается со временем. Этот результат соответствует рыночной информации, которая указывает на более высокий риск дефолта в краткосрочной перспективе. Вторая загрузочная кривая является немонотонной, как указано предупреждением.
ProbTimes = yearfrac(Settle, MarketDates); figure plot([0; ProbTimes],[0; ProbDataInv1(:,2)]) hold on plot([0; ProbTimes],[0; ProbDataInv2(:,2)],'--') hold off grid on axis([0 ProbTimes(end,1) 0 ProbDataInv1(end,2)]) xlabel('Time (years)') ylabel('Cumulative Default Probability') title('Probability Curves for Inverted Spread Curves') legend('1st instance','2nd instance','location','SouthEast')
Получившийся график
Также в соответствии с предыдущим графиком, скорости опасности для этих начальных кривых уменьшаются, потому что краткосрочный риск выше. Некоторые загрузочные параметры во второй кривой отрицательны, на что указывает предупреждение.
HazTimes = yearfrac(Settle, MarketDates); figure stairs([0; HazTimes(1:end-1,1); HazTimes(end,1)+1],... [HazDataInv1(:,2);HazDataInv1(end,2)]) hold on stairs([0; HazTimes(1:end-1,1); HazTimes(end,1)+1],... [HazDataInv2(:,2);HazDataInv2(end,2)],'--') hold off grid on xlabel('Time (years)') ylabel('Hazard Rate') title('Hazard Rates for Inverted Spread Curves') legend('1st instance','2nd instance','location','NorthEast')
Полученный график показывает уровни опасности для обеих загрузочных кривых:
Для дальнейшего обсуждения инвертированных кривых и их связи с арбитражем, смотрите O'Kane и Turnbull, 2003 (Кредитные производные).
cdsbootstrap
| cdsprice
| cdsrpv01
| cdsspread