В этом примере показано, как загрузить вероятности по умолчанию из рыночных котировок CDS. Сведения о загрузке вероятностей по умолчанию из данных рынка облигаций см. в разделе bondDefaultBootstrap. В типичном потоке операций расчет цены нового контракта CDS включает в себя первую оценку структуры вероятностного термина по умолчанию с использованием cdsbootstrap. Это требует рыночных котировок существующих контрактов CDS или котировок индексов CDS (например, 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')

bondDefaultBootstrap | cdsbootstrap | cdsprice | cdsrpv01 | cdsspread