Institutional Fixed Income & Term Structure

CIR++ Model Lab | Extended Cox-Ingersoll-Ross

Simulate Damiano Brigo and Fabio Mercurio's CIR++ model. Calibrate market zero-coupon yield curves via deterministic shifts \(\varphi(t)\), verify Feller square-root non-negativity conditions, and value European swaptions in closed form via Jamshidian decomposition.

Launch Simulation
Calibrated Institutional Presets

Select an empirical term structure preset or configure custom square-root parameters below.

Model Parameters
Square-Root Process Parameters
Market Yield Curve (Target)
Swaption Specification
5Y×5Y Payer Swaption
$0
0.0 bps
Forward Par Swap Rate
0.000%
Receiver: $0
Feller Ratio \(2k\theta / \sigma^2\)
0.00x
Strict Positivity
Initial Shift \(\varphi(0)\)
0 bps
Deterministic Offset

Interpretation: The green dashed line (calibrated CIR++) matches the blue dots (market yield curve) exactly. The orange line shows the unshifted 3-parameter CIR (1985) model, highlighting the severe calibration error of unextended models.

Interpretation: The coupon bond portfolio value \(\sum c_i P(T_0, T_i; x)\) is strictly decreasing in \(x(T_0)\). The critical intersection with 1.0 defines \(x^*\), allowing Jamshidian's trick to decompose the swaption into analytical bond put options without numerical integration.

Interpretation: 1,000 full-truncation square-root simulated paths over a 10-year horizon. Unlike Gaussian models, the short rate displays bounded volatility and remains strictly non-negative whenever the Feller condition holds and \(\varphi(t) \ge 0\).

Swaption Value Sensitivity: \(\sigma\) vs \(k\)
5Y×5Y Payer Swaption Cost (in basis points of notional)
Vol \(\sigma\) \ Reversion \(k\) 0.10 0.15 0.20 0.30 0.45
10Y Bond Price: \(\theta\) vs \(x_0\)
Price of 10-Year Zero-Coupon Bond \(P(0, 10)\) per $1 Face Value
Mean \(\theta\) \ \(x_0\) 1.5% 2.5% 3.5% 4.5% 5.5%

Technical Mechanics: The Extended Cox-Ingersoll-Ross (CIR++) Model

1. Square-Root Diffusion with Deterministic Shift

In the CIR++ model developed by Damiano Brigo and Fabio Mercurio (2001, 2006), the instantaneous short rate \(r(t)\) is modeled as the sum of a standard square-root process \(x(t)\) and a deterministic shift function \(\varphi(t)\):

\[ r(t) = x(t) + \varphi(t) \] \[ dx(t) = k\big(\theta - x(t)\big)dt + \sigma \sqrt{x(t)} dW(t), \quad x(0) = x_0 > 0 \]

The parameter \(k > 0\) represents the speed of mean reversion, \(\theta > 0\) is the long-term mean of the square-root process, and \(\sigma > 0\) is the volatility-of-volatility parameter. The diffusion coefficient \(\sigma \sqrt{x(t)}\) ensures that as interest rates approach zero, their volatility dampens smoothly.

2. The Feller Condition & Strict Positivity

A cornerstone property of square-root processes is the Feller condition:

\[ 2k\theta \ge \sigma^2 \]

When the Feller ratio \(\frac{2k\theta}{\sigma^2} \ge 1\), the upward mean-reverting drift at \(x=0\) dominates the downward diffusion shock, making the zero boundary strictly inaccessible (\(x(t) > 0\) almost surely for all \(t\)). If the market shift \(\varphi(t) \ge 0\), the short rate \(r(t)\) is guaranteed to remain strictly positive at all times.

3. Exact Yield Curve Calibration via Deterministic Shift \(\varphi(t)\)

Under CIR++, zero-coupon bond prices are given by:

\[ P^{\text{CIR++}}(t, T; x(t)) = \frac{\Phi(T)}{\Phi(t)} A_{\text{CIR}}(t, T) \exp\big(-B_{\text{CIR}}(t, T) x(t)\big) \] where: \[ \Phi(T) = \exp\left(-\int_0^T \varphi(s) ds\right) = \frac{P^M(0, T)}{P^{\text{CIR}}(0, T; x_0)} \] \[ \varphi(t) = f^M(0, t) - f^{\text{CIR}}(0, t; x_0) \]

This analytical shift ensures that \(P^{\text{CIR++}}(0, T) = P^M(0, T)\) identically across all maturities \(T\), solving the fundamental limitation of standard 3-parameter CIR.

4. Analytical European Bond Options via Non-Central Chi-Square Distributions

European call and put options on zero-coupon bonds enjoy closed-form analytical formulas in CIR++:

\[ \mathbf{Call}^{\text{CIR++}}(0, T, S, K) = \Phi(S) \left[ P^{\text{CIR}}(0, S; x_0) \chi^2\big(2 r^*(\rho + \psi + B_{\text{CIR}}); d, \delta_1\big) - K' P^{\text{CIR}}(0, T; x_0) \chi^2\big(2 r^*(\rho + \psi); d, \delta_2\big) \right] \] where \(K' = K \frac{\Phi(T)}{\Phi(S)}\), \(d = \frac{4k\theta}{\sigma^2}\), \(\gamma = \sqrt{k^2 + 2\sigma^2}\), \(\rho = \frac{2\gamma}{\sigma^2(e^{\gamma T}-1)}\), \(\psi = \frac{k+\gamma}{\sigma^2}\), and \(r^*\) is the exercise strike rate.

5. Jamshidian Decomposition for European Swaptions

Because zero-coupon bond prices \(P^{\text{CIR++}}(T_0, T_i; x)\) are strictly monotonic in the single state variable \(x\), Jamshidian's (1989) theorem applies. A European payer swaption is decomposed exactly into a portfolio of European bond put options:

\[ \mathbf{Swaption}(0) = \sum_{i=1}^n c_i \mathbf{Put}^{\text{CIR++}}(0, T_0, T_i, K_i) \] where \(K_i = P^{\text{CIR++}}(T_0, T_i; x^*)\) and \(x^*\) is the unique root solving \(\sum_{i=1}^n c_i P^{\text{CIR++}}(T_0, T_i; x^*) = 1\). This yields an exact, lightning-fast closed-form solution with zero Monte Carlo noise.

CIR++ Model Mastery Quiz

1. Why was the CIR++ model developed as an extension of the original CIR (1985) model?

2. What condition guarantees that the square-root process \(x(t)\) never touches zero?

3. How are European swaptions priced analytically in CIR++?

4. How does the interest rate support in CIR++ differ from the Hull-White model?

Frequently Asked Questions

The CIR++ model, formulated by Damiano Brigo and Fabio Mercurio (2001, 2006), extends the classical 1985 Cox-Ingersoll-Ross square-root diffusion model by introducing a deterministic time-dependent shift function \(\varphi(t)\): \(r(t) = x(t) + \varphi(t)\). While the classical CIR model has only three parameters and cannot fit an observed market yield curve, CIR++ calibrates to any arbitrary market zero-coupon curve \(P^M(0, T)\) identically while retaining the analytical tractability and non-negative rate properties of CIR.

CIR++ achieves exact, arbitrage-free calibration by defining the deterministic discount factor ratio \(\Phi(T) = P^M(0, T) / P^{\text{CIR}}(0, T; x_0)\). In terms of instantaneous forward rates, the shift function satisfies \(\varphi(t) = f^M(0, t) - f^{\text{CIR}}(0, t; x_0)\), guaranteeing that model zero-coupon bond prices match market quotes \(P^M(0, T)\) identically at \(t=0\).

The Feller condition states that \(2k\theta \ge \sigma^2\), where \(k\) is the mean-reversion speed, \(\theta\) is the long-term mean, and \(\sigma\) is the volatility of the square-root process. When satisfied, the upward mean-reverting drift at zero is strong enough to prevent the process \(x(t)\) from ever touching the zero boundary, ensuring \(x(t) > 0\) with probability 1.

Because zero-coupon bond prices \(P^{\text{CIR++}}(T_0, T_i; x)\) are strictly monotonic decreasing in the single state variable \(x(T_0)\), there exists a unique critical rate \(x^*\) that solves the equation \(\sum c_i P^{\text{CIR++}}(T_0, T_i; x^*) = 1\). Jamshidian's (1989) decomposition proves that exercising the swaption is equivalent to exercising each individual zero-coupon bond option at strike \(K_i = P^{\text{CIR++}}(T_0, T_i; x^*)\), allowing European swaptions to be priced in closed-form without numerical integration.

Hull-White (1990) is Gaussian, allowing negative interest rates and closed-form pricing. Black-Karasinski (1991) is lognormal and strictly positive, but lacks analytical formulas and requires numerical trinomial trees. CIR++ bridges the gap: it models volatility proportional to \(\sqrt{r}\), preserves strict lower bounds or non-negativity, exact initial curve calibration, AND closed-form analytical formulas for both bond options and swaptions.