We know that in the CIR model the short rate can't go negative. My question then concerns calibration of CIR to a ZCB yield curve. Is it (and why?) possible to calibrate the CIR model to a yield curve with negative yields in the short end? Why (or why not) is this possible, when the short rate can't go negative?

There is probably something conceptual I have missed about the relationship short rates and yields.

3 Answers
3

As you say, in the CIR model with usual assumptions the short rate cannot go negative. This means that yields in the model are always poaitive, so it will not be a good fit to a yield curve which is negative for short maturities.

If you really do want the CIR model, there is a weird extension you could try:

$$ dr_t = \kappa (\theta - r_t) dt + \sigma \sqrt{|r_t|} dW_t,$$

where as usual $\kappa>0$ and $\theta>0$ but now we relax and allow $r_0<0.$

In this extended model, the short rate starts negative, but eventually goes positive and thereafter can never go negative again.

I think (but haven't checked!) that the usual bond pricing formulas extended to a negative initial rate are correct for this extended model.

You say that yields can't go negative in CIR. But if r0 (say 1d rate) is negative (which is the case in many govies today), I guess yields can be negative? And you will in this case be able to actually calibrate a CIR, which gives negative yields in the short end? My question might seem a bid odd, but I was just wondering?

But otherwise than that, the thing is i am investigating a displaced version so that $r_t+\alpha$, where $\alpha$ is a positive constant, has a CIR distribution. This models allows $r_t$ to be negative, and I can use the features from CIR. So I think that will work :-)

This allows for rates down to the parameter $c$. If you set, for example, $c=-200bp$ then you can have negative rates. You can define a CIR variant in an analogous way.

I have used this model both for pricing and for risk scenario/ path generation. The rule of thumb I used to set $c$ around 'current rate minus 2 normal implied ATM vols'. Obviously I cannot give proprietory details on the implementation here, but you should be able to work them out yourself.

Ps: There is always the option of the CIR++ models in Brigo and Mercurio, where you have a normal CIR and add a deterministic shift $\theta(t)$. It is a relatively simple and well documented alternative.