В этом примере показано, как загрузить вероятности по умолчанию от рыночных котировок CDS. Чтобы загрузить вероятности по умолчанию из данных о рынке облигаций, смотрите bondDefaultBootstrap
. В типичном рабочем процессе, оценивая новый контракт CDS включает сначала оценку использования структуры термина вероятности по умолчанию cdsbootstrap
. Это требует рыночных котировок существующих контрактов CDS или кавычек индексов CDS (e.g., iTraxx). Предполагаемая кривая вероятности по умолчанию затем используется в качестве входа к cdsspread
или cdsprice
. Если информация о вероятности по умолчанию уже известна, cdsbootstrap
может быть исключен и cdsspread
или cdsprice
может быть назван непосредственно.
Информация о рынке в этом примере предоставляется в форме рабочих распространений контрактов CDS, назревающих в платежные дни стандарта CDS, самые близкие к 1, 2, 3, 5, и 7 лет с даты оценки.
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);
Загруженная кривая вероятности по умолчанию построена против времени, в годах, с даты оценки.
ProbTimes = yearfrac(Settle,ProbData(:,1)); figure plot([0; ProbTimes],[0; ProbData(:,2)]) grid on axis([0 ProbTimes(end,1) 0 ProbData(end,2)]) xlabel('Time (years)') ylabel('Cumulative Default Probability') title('Bootstrapped Default Probability Curve')
Связанные показатели риска возвращены как дополнительный выход. Соглашение состоит в том, что первый показатель риска применяется с расчетного дня к первой дате рынка, второй показатель риска сначала на вторую дату рынка, и так далее, и последний показатель риска применяется с предпоследней даты рынка вперед. Следующий график отображает загруженные показатели риска, построенные против времени, в годах, с даты оценки:
HazTimes = yearfrac(Settle,HazData(:,1)); figure stairs([0; HazTimes(1:end-1,1); HazTimes(end,1)+1],... [HazData(:,2);HazData(end,2)]) grid on axis([0 HazTimes(end,1)+1 0.9*HazData(1,2) 1.1*HazData(end,2)]) xlabel('Time (years)') ylabel('Hazard Rate') title('Bootstrapped Hazard Rates')
cdsbootstrap
| cdsprice
| cdsspread
| cdsrpv01
| bondDefaultBootstrap