Documentation Center

  • Trial Software
  • Product Updates

cdsbootstrap

Bootstrap default probability curve from credit default swap market quotes

Syntax

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

Description

[ProbData, HazData] = cdsbootstrap(ZeroData, MarketData,
Settle)
bootstraps the default probability curve using credit default swap (CDS) market quotes. The market quotes can be expressed as a list of maturity dates and corresponding CDS market spreads, or as a list of maturities and corresponding upfronts and standard spreads for standard CDS contracts. The estimation uses the standard model of the survival probability.

[ProbData, HazData] = cdsbootstrap(ZeroData, MarketData,
Settle, Name,Value)
bootstraps the default probability curve using CDS market quotes with additional options specified by one or more Name,Value pair arguments. The market quotes can be expressed as a list of maturity dates and corresponding CDS market spreads, or as a list of maturities and corresponding upfronts and standard spreads for standard CDS contracts. The estimation uses the standard model of the survival probability.

Input Arguments

ZeroData

M-by-2 vector of dates and zero rates or an IRDataCurve object of zero rates.

MarketData

N-by-2 matrix of dates and corresponding market spreads or N-by-3 matrix of dates, upfronts, and standard spreads of CDS contracts.

Settle

Settlement date is a serial date number or date string. This must be earlier than or equal to the dates in MarketData.

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside single quotes (' '). You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

    Note:   Any optional input of size N-by-1 is also acceptable as an array of size 1-by-N, or as a single value applicable to all contracts. Single values are internally expanded to an array of size N-by-1.

'Basis'

N-by-1 vector of day-count basis of the CDS:

  • 0 = actual/actual

  • 1 = 30/360 (SIA)

  • 2 = actual/360

  • 3 = actual/365

  • 4 = 30/360 (BMA)

  • 5 = 30/360 (ISDA)

  • 6 = 30/360 (European)

  • 7 = actual/365 (Japanese)

  • 8 = actual/actual (ICMA)

  • 9 = actual/360 (ICMA)

  • 10 = actual/365 (ICMA)

  • 11 = 30/360E (ICMA)

  • 12 = actual/actual (ISDA)

  • 13 = BUS/252

For more information, see basis.

Default: 2 (actual/360)

'BusDayConvention'

String or N-by-1 cell array of strings of business day conventions. Values are:

  • actual

  • follow

  • modifiedfollow

  • previous

  • modifiedprevious

Default: actual

'PayAccruedPremium'

N-by-1 vector of Boolean flags, True (default), if accrued premiums are paid upon default, False otherwise.

Default: True

'Period'

N-by-1 vector of the number of premiums per year of the CDS. Allowed values are 1, 2, 3, 4, 6, and 12.

Default: 4

'ProbDates'

P-by-1 vector of dates for ProbData.

Default: Column of dates in MarketData

'RecoveryRate'

N-by-1 vector of recovery rates, expressed as a decimal from 0 to 1.

Default: 0.4

'TimeStep'

Positive integer indicating the number of days to take as time step for the numerical integration.

Default: 10 (days)

'ZeroBasis'

Basis of the zero curve. Choices are identical to Basis.

Default: 0 (actual/actual)

'ZeroCompounding'

Compounding frequency of the zero curve. Allowed values are:

  • 1 — Annual compounding

  • 2 — Semiannual compounding

  • 3 — Compounding three times per year

  • 4 — Quarterly compounding

  • 6 — Bimonthly compounding

  • 12 — Monthly compounding

  • -1 — Continuous compounding

    Note:   When ZeroData is an IRDataCurve object, the arguments ZeroCompounding and ZeroBasis are implicit in ZeroData and are redundant inside this function. In that case, specify these optional arguments when constructing the IRDataCurve object before calling this function.

Default: 2 (Semiannual compounding)

Output Arguments

ProbData

P-by-2 matrix with dates and corresponding cumulative default probability values. The dates match those in MarketData, unless the optional input parameter ProbDates is provided.

HazData

N-by-2 matrix with dates and corresponding hazard rate values for the standard survival probability model. The dates match those in MarketData.

    Note:   A warning is displayed when non-monotone default probabilities (i.e., negative hazard rates) are found.

Examples

expand all

Bootstrap Default Probability Curve from Credit Default Swap Market Quotes

This example shows how to use cdsbootstrap with market quotes for CDS contracts to generate ProbData and HazData values.

Settle = '17-Jul-2009'; % valuation date for the CDS
Spread_Time = [1 2 3 5 7]';
Spread = [140 175 210 265 310]';
Market_Dates = daysadd(datenum(Settle),360*Spread_Time,1);
MarketData = [Market_Dates Spread];
Zero_Time = [.5 1 2 3 4 5]';
Zero_Rate = [1.35 1.43 1.9 2.47 2.936 3.311]'/100;
Zero_Dates = daysadd(datenum(Settle),360*Zero_Time,1);
ZeroData = [Zero_Dates Zero_Rate];

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

   1.0e+05 *

    7.3434    0.0000
    7.3470    0.0000
    7.3507    0.0000
    7.3580    0.0000
    7.3653    0.0000


HazData =

   1.0e+05 *

    7.3434    0.0000
    7.3470    0.0000
    7.3507    0.0000
    7.3580    0.0000
    7.3653    0.0000

More About

expand all

Algorithms

If the time to default is denoted by τ, the default probability curve, or function, PD(t), and its complement, the survival function Q(t), are given by:

In the standard model, the survival probability is defined in terms of a piecewise constant hazard rate h(t). For example, if h(t) =

λ1, for 0tt1

λ2, for t1 < tt2

λ3, for t2 <t

then the survival function is given by Q(t) =

, for 0tt1

, for t1 < tt2

, for t2 < t

Given n market dates t1,...,tn and corresponding market CDS spreads S1,...,Sn, cdsbootstrap calibrates the parameters λ1,...,λn and evaluates PD(t) on the market dates, or an optional user-defined set of dates.

References

Beumee, J., D. Brigo, D. Schiemert, and G. Stoyle. "Charting a Course Through the CDS Big Bang," Fitch Solutions, Quantitative Research, Global Special Report. April 7, 2009.

Hull, J., and A. White, "Valuing Credit Default Swaps I: No Counterparty Default Risk," Journal of Derivatives 8, 29-40.

O'Kane, D. and S. Turnbull, "Valuation of Credit Default Swaps." Lehman Brothers, Fixed Income Quantitative Credit Research, April, 2003.

See Also

| | |

Was this topic helpful?