Do any standard/generic approaches exist on how to extend an interest rate model to incorporate credit risk?

The first thing that comes to mind would be to just model the credit spread separately - perhaps assuming some correlation with the main process.

Risky-Bonds could then be valued by pricing them in the original model (e.g. Hull White) first and by adding the spread afterwards - $P(t,T)_\text{rn} e^{-\operatorname{spread}(t,T)}$ with $P(t,T)_\text{rn}$ denoting the "risk-neutral" price in the "base"-model.

  • $\begingroup$ You've basically already got it, though in most cases one assumes a deterministic term structure of credit spread, rather than making a stochastic model for it. $\endgroup$
    – Brian B
    May 27, 2014 at 13:49
  • $\begingroup$ thus at each point in time I would analyse the market data to get a feel for the spread - e.g. comparing the goverment and the corporate yield curve of A, B, BBB etc. rankings $\endgroup$ May 27, 2014 at 14:39
  • $\begingroup$ @BrianB could you perhaps provide a reliable source ? $\endgroup$ May 27, 2014 at 17:39

1 Answer 1


Here are some practical tips for selecting stochastic processes for spread curves, for example, in Monte Carlo simulation.

Typically you formulate a joint stochastic model for yields at key maturities due to data limitations.

The corporate yield curves generally maintain order with the AAA yield below AA yield, AA yield below A yield, etc. If, for example, you are simulating the evolution of three curves: the risk-free base, A- rated, and B-rated, then use stochastic models for relative spreads that preserve order. Let $r(t,T_i)$, $r_A(t,T_i)$, and $r_B(t,T_i)$ denote the risk-free, A-rated, and B-rated yields, respectively, at time $t$ corresponding to some maturity $T_i$. Let $s_A(t,T_i)=r_A(t,T_i)-r(t,T_i)$ and $s_{A,B}(t,T_i)=r_B(t,T_i)-r_A(t,T_i)$ denote the relative spreads. You can enforce the order by using log-type processes for the spreads to prevent negative values. For example:

$$d\log S_A=\mu(S_A,t)dt+\sigma(S_A,t)dZ_A, \\\ d\log S_{A,B}=\mu(S_{A,B},t)dt+\sigma(S_{A,B},t)dZ_{AB}$$

where $Z_A(t)$ and $Z_{AB}(t)$ are correlated Brownian processes.

The next requirement is that the simulated term structures do not exhibit arbitrage opportunities (negative forward yields). This can be controlled to some extent with several additonal features:

(1) Correlation of the vector of Brownian processes driving the random fluctuations - there is one Brownian process corresponding to each curve and each key maturity.

(2) Incorporating mean-reversion in the drift terms. Additionally mean reversion is a commonly observed characteristic of yield movements.

In practice, these two measures may not be sufficient to eradicate arbitrage violations from all sample paths. A final measure that generally works is to allow a coupling of the yields at different maturities in the drifts. One way to do this is to use a vector-autoregressive model.

  • $\begingroup$ this is a nice post. Thank you for taking the time to answer. Thus basically instead of modelling three curves directly I would just model the spreads. This spreads however can be converted back into the actual curves. $\endgroup$ May 28, 2014 at 17:10
  • $\begingroup$ what is the motivation for modelling spreads instead of separate curves ? $\endgroup$ May 28, 2014 at 17:10
  • $\begingroup$ @Probilitator: Thanks. In my experience simulating credit portfolios it has worked well to model the relative spreads rather than the curves to ensure that a corporate yield does not fall below a yield associated with a higher rating. There are probably a number of ways to do this, but I found that using log-mean reverting processes for the successive spreads works well. So rather than simulate the base yield, AAA yield, AA yield, A yield etc., I simulate the base yield, AAA-base spread, AA-AAA spread, A-AA spread, etc. This way I ensure that the curves don't go out of the proper order. $\endgroup$
    – RRL
    May 28, 2014 at 22:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.