1 Introduction

The Cox–Ingersoll–Ross model (hereafter referred to as CIR model) has been regarded as the reference model in interest rate modeling by both practitioners and academics for several decades, not only because of its analytical tractability as an affine model, but also because of its derivation from a general equilibrium framework (see for example [7]), among other reasons. The well-known feature of the CIR model that ultimately led to this paper is that interest rates never become negative. This long-standing paradigm of non-negative interest rates made the CIR model and its extensions one of the most appropriate models for interest rate modeling.

Today, however, negative interest rates are very common and thus the need for models that can handle this paradigm shift is highly desirable, provided that they have as few shortcomings as possible compared to the original CIR models.

In this paper, we present a very simple and effective idea how this can be realized by modeling interest rates as the difference of two independent CIR processes, which—to the best of our knowledge—has not been considered yet.

We will propose a term structure in the risk-neutral world suitable for the difference of two independent affine processes and obtain a pricing formula for default-free zero-coupon bonds by deriving the associated Riccati equations arising from this no-arbitrage framework. In the special case of two CIR processes we will then solve the Riccati equations explicitly, which preserves the analytical tractability of its non-negative interest rate counterpart.

Afterwards, we will show some numerical experiments to demonstrate the merits of this approach in practice.

Let us consider the following affine dynamics

$$\begin{aligned}&\left\{ \begin{aligned} dx(t)&=\left( \lambda _x(t) x(t) + \eta _x(t)\right) dt + \sqrt{\gamma _x(t) x(t) + \delta _x(t)}dW_x(t)\\ x(0)&=x_0, \end{aligned} \right. \end{aligned}$$
(1)
$$\begin{aligned}&\left\{ \begin{aligned} dy(t)&=\left( \lambda _y(t) y(t) + \eta _y(t)\right) dt + \sqrt{\gamma _y(t) y(t) + \delta _y(t)}dW_y(t)\\ y(0)&=y_0, \end{aligned} \right. \end{aligned}$$
(2)

where henceforth throughout the whole paper \(W_y\) and \(W_x\) are two independent standard Brownian motions on a stochastic basis \(\left( \Omega ,\mathcal {F},\left( \mathcal {F}_t\right) _{t\in [0,T]},\mathbb {Q}\right) \), \(\mathbb {Q}\) is a martingale measure for the zero-coupon market (see for instance the martingale approach for short-rate modeling described in [3] Chapter 23 p. 374 Result 24.1.1.) and \(T>0\) is a finite time horizon. The initial values \(x_0,\ y_0\in \mathbb {R}\) are real-valued constants and the coefficients \(\lambda _z,\eta _z,\gamma _z,\delta _z\), \(z\in \left\{ x,y\right\} \), are all real-valued deterministic functions, such that (1) and (2) are well-defined.

Furthermore, let the instantaneous short-rate process be given by

$$\begin{aligned} r(t):=x(t)-y(t). \end{aligned}$$
(3)

In the case where \(y\equiv 0\), this reduces to the standard affine one-factor short rate model class. If additionally \(\delta _x(t)\equiv 0\), \(\lambda _x(t)\equiv -k_x\)  \(\eta _x(t)\equiv k_x\theta _x\) and \(\gamma _x(t)\equiv \sigma _x^2\), where \(k_x,\sigma _x,\theta _x\in \mathbb {R}_{\ge 0}\), it reduces to the standard CIR model

$$\begin{aligned} dx(t) = k_x\left( \theta _x - x(t)\right) dt + \sigma _x \sqrt{x(t)} dW_x(t), \end{aligned}$$
(4)

which lets (3) preserve all the features of a standard CIR model in a non-negative interest rate setting.

1.1 Description of the main results

The main result consists of two main parts. First of all, we derive the zero-coupon bond price for (3) in the case of the difference of (1) and (2) being two independent CIR processes as in (4). Secondly, we provide numerical experiments to demonstrate the features of this model in Section 3.

Theorem 1

Let \(\left( \Omega ,\mathcal {F},\left( \mathcal {F}_t\right) _{t\in [0,T]},\mathbb {Q}\right) \) be a stochastic basis, where \(\mathbb {Q}\) is a martingale measure as above, making the discounted zero-coupon price processes martingales, \(T>0\) a finite time horizon and let the \(\sigma \)-algebra \(\left( \mathcal {F}_t\right) _{t\in [0,T]}\) fulfill the usual conditions and support two independent standard Brownian motions \(W_x\) and \(W_y\).

The price of a zero-coupon bond in the model \(r(t)=x(t)-y(t)\) with x and y being two independent CIR processes as in (4) is given by

$$\begin{aligned} P(t,T) = A_x(t,T)e^{-B_x(t,T)x(t)}A_y(t,T)e^{B_y(t,T)y(t)}, \end{aligned}$$
(5)

where \(t\le T\) and for \(z\in \left\{ x,y\right\} \)

$$\begin{aligned} \begin{aligned} A_z(t,T)&= \left( \frac{ \phi ^z_1 e^{\phi ^z_2 (T-t)} }{ \phi ^z_2 \left( e^{\phi ^z_1(T-t)} -1 \right) + \phi ^z_1 } \right) ^{\phi ^z_3} \\ B_z(t,T)&= \frac{ e^{\phi ^z_1(T-t)}-1 }{ \phi ^z_2 \left( e^{\phi ^z_1(T-t)}-1 \right) + \phi ^z_1 } \end{aligned} \end{aligned}$$
(6)

with \(\phi _i^z \ge 0\), \(i=1,2,3\), \(z\in \left\{ x,y\right\} \), defined as

$$\begin{aligned} \begin{aligned}&\phi ^x_1 :=\sqrt{k_x^2 + 2\sigma _x^2}, \qquad&\phi ^x_2 :=\frac{k_x + \phi ^x_1}{2},\qquad&\phi ^x_3 :=\frac{2k_x\theta _x}{\sigma _x^2} \\&\phi ^y_1 :=\sqrt{k_y^2 - 2\sigma _y^2},\qquad&\phi ^y_2 :=\frac{k_y + \phi ^y_1}{2}, \qquad&\phi ^y_3 :=\frac{2k_y\theta _y}{\sigma _y^2}. \end{aligned} \end{aligned}$$
(7)

Remark 1

As stated in Theorem 1, we only need for pricing the zero-coupon bonds that the coefficients \(\phi _i^z\), \(z\in \left\{ x,y\right\} \), \(i=1,2,3\), are real, positive and defined as in (7).

However, for the numerical implementation, we will assume henceforth the so-called Feller-condition as well, i.e. \(2k_z\theta _z \ge \sigma _z^2\) for both CIR processes.

The Feller-condition has no impact on the existence and uniqueness of the solutions to (4) or on the validity of (5) but guarantees that the solution remains strictly positive instead of just non-negative, whose violation causes the aforementioned problems in some numerical schemes.

We tested for the presented data the case, when we do not assume the Feller-condition as well and could not see an improvement in terms of errors compared to the case where we assumed it. However, this might be due to our chosen data, because the Feller-condition was only slightly violated. Therefore, we decided to impose the Feller-condition for our numerical tests and leave a detailed investigation of the violation of this condition with different numerical schemes for future research.

For a thorough discussion on the Feller-condition and existence and uniqueness of the solution to (4), we refer to [1, 11] and [17].

The technical part of the proof is quite standard and is reported in Sect. A with a description of how to derive this result in Sect. 2. Formula (5) provides the necessary ingredient for the numerical experiments in Sect. 3 to calibrate the model to the market term structure. In Sect. 3, we will conduct several experiments at two different dates, 30/12/2019 and 30/11/2020, where negative interest rates are observed in the market to reveal the properties of this model.

1.2 Review of the literature and comparison

There is a vast literature on interest rate modeling, among these for example the comprehensive works of [3, 6] and [13], which we cannot cover to its full extent in this small review. The most popular approach in modern interest rate modeling is the direct modeling of short rates r(t) under a risk-neutral measure \(\mathbb {Q}\). Therefore, we assume (cf. [3] Chapter 23 p. 367 Assumption 23.2.1) that there exists a market for zero-coupon bonds for every choice of the maturity T, which is arbitrage free. This approach is usually referred to as martingale approach (cf. [3] Chapter 23 p. 374 Result 24.1.1). Inspired by these no-arbitrage arguments, the price at time \(t>0\) of a contingent claim with payoff \(H_T\), \(T>t\), under the risk-neutral measure is given by (cf. [25] and [3] p. 152 Theorem 10.19 (Risk Neutral Valuation Formula))

$$\begin{aligned} H_t= E_t^\mathbb {Q}\left[ e^{-\int _{t}^{T}r(s)ds} H_T\right] , \end{aligned}$$
(8)

where \(E_t^\mathbb {Q}\) denotes the conditional expectation with respect to some filtration \(\mathcal {F}_t\) under measure \(\mathbb {Q}\). In particular, choosing \(H_T:=P(T,T)=1\), where P(tT) denotes a zero-coupon bond, gives rise to a convenient way to calibrate a short rate model to the market term structure, which we will utilize for our approach as well.

Starting with the pioneering works of [20] and [26], many one-factor short rate models were introduced, see [6] for a detailed overview. Among all, a model that has had a particular importance in the past, equally among both practitioners and academics, is the well-known CIR model, proposed by [8]. It provides the basis for this paper and is a generalization to the Vasicek model by introducing a non-constant volatility given by (4).

Clearly, the square root term precludes the possibility of negative interest rates and under the assumption of the Feller-condition \(2k\theta \ge \sigma ^2\), see for instance [16], the origin is inaccessible. These two properties combined with its analytical tractability make the CIR model well-suited for a non-negative interest rate setting.

There is a rich literature on extensions to the classical CIR model in order to obtain more sophisticated models, which could fit the market data better, allowing to price interest rate derivatives more accurately. For example, [2] proposed a three-factor model; [6] proposed a jump diffusion model (JCIR). In order to include time dependent coefficients in (4), [5] proposed to add a deterministic function into equation (4). This model, called CIR++, is able to fit the observed term structure of interest rates exactly, while preserving the positivity of the process r(t). [4] generalized the CIR++ model by adding a jump term described by a time-homogeneous Poisson process and [6] studied the CIR2++ model. Another way to generalize the CIR model by including time dependent coefficients in equation (4) was introduced by [15] and [18], which are known as extended CIR models.

But in the last decade the financial industry encountered a paradigm shift by allowing the possibility of negative interest rates, making the classical CIR model unsuitable.

One way to handle the challenges entailed by negative interest rates is to use Gaussian models with one or more factors, such as the Hull and White model (see [14]), which also has a very good analytical tractability. A generalization of these models with a good calibration to swaption market prices was found in [10], while [19] proposed a mixing Gaussian model coupled with parameter uncertainty.

But the glamor of the CIR model is still alive even in the current market environment with negative interest rates. Orlando et al. suggest in several papers (cf. [22,23,24]) a new framework, which they call CIR# model, that fits the term structure of interest rates. Additionally, it preserves the market volatility, as well as the analytical tractability of the original CIR model. Their new methodology consists in partitioning the entire available market data sample, which usually consists of a mixture of probability distributions of the same type. They use a technique to detect suitable sub-samples with normal or gamma distributions. In a next step, they calibrate the CIR parameters to shifted market interest rates, such that the interest rates are positive, and use a Monte Carlo scheme to simulate the expected value of interest rates.

In this paper, however, we introduce a new methodology for handling the challenges arising from negative interest rates. In our model, the instantaneous spot rate is defined as the difference between two independent classical CIR processes, which allows the preservation of the analytical tractability of the original CIR model without introducing any shift to the market interest rates.

The paper is organized as follows. In Sect. 2 we introduce the model in a general affine model setup and describe our main result Theorem 1. We will derive the Riccati equations associated with the proposed term structure suitable for the difference of two independent affine processes and solve those explicitly in a CIR framework.

After that, in Sect. 3, we will conduct some numerical experiments. First, we calibrate our model via (5) to the market data at 30/12/2019 and 30/11/2020 in Sect. 3.2. Subsequently, we simulate the model by using the Euler–Maruyama scheme in Sect. 3.3 and study the mean, variance and distribution of the model in Sect. 3.4. Then we test how the calibrated model performs when pricing zero-coupon bonds at future times in Sect. 3.5 and conclude our numerical tests by pricing swaptions in Sect. 3.6. Finally, we summarize the results of the paper in Sect. 4 and discuss possible extensions for future research.

2 A model for negative interest rates

We will now describe how Theorem 1 can be derived. As aforementioned, we consider all dynamics under the risk-neutral measure \(\mathbb {Q}\) and give now a heuristic argument, why it makes sense to choose the term structure in Theorem 1 as in (5).

Suppose, that x(t) and y(t) are both independent affine processes. Then the price of a zero-coupon bond for each of them separately (cf. [6] p. 69) is given by

$$\begin{aligned} P(t,T)=E^\mathbb {Q}_t\left[ e^{-\int _{t}^{T}{z(s)ds}}\right] =A_z(t,T)e^{-B_z(t,T)z(t)}, \end{aligned}$$
(9)

where \(z\in \left\{ x,y\right\} \) and \(E^\mathbb {Q}_t\) denotes the conditional expectation with respect to \(\mathcal {F}_t\) under the measure \(\mathbb {Q}\). Now, consider \(r(t)=x(t)-y(t)\), then we have by linearity and independence

$$\begin{aligned} P(t,T) = E^\mathbb {Q}_t\left[ e^{-\int _{t}^{T}r(s) ds}\right] = E^\mathbb {Q}_t\left[ e^{-\int _{t}^{T}(x(s) - y(s)) ds}\right] = E^\mathbb {Q}_t\left[ e^{-\int _{t}^{T}x(s) ds}\right] E^\mathbb {Q}_t\left[ e^{\int _{t}^{T}y(s) ds}\right] . \end{aligned}$$

If we concentrate in (9) only on the right-hand side, it would make sense for two independent processes x and y that we can apply these formulas with a change of sign in front of \(B_y\), leading to

$$\begin{aligned} P(t,T) \overset{!}{=} A_x(t,T)e^{-B_x(t,T)x(t)}A_y(t,T)e^{B_y(t,T)y(t)}. \end{aligned}$$

In the following Lemma we will make this argument rigorous.

Lemma 1

Let everything be as in Theorem 1 but let x(t) and y(t) follow the general affine dynamics described in (1) and (2).

Then, the price of a Zero-coupon bond is given by

$$\begin{aligned} P(t,T)= E^\mathbb {Q}_t\left[ e^{-\int _{t}^{T}r(s) ds}\right] = A_x(t,T)e^{-B_x(t,T)x(t)}A_y(t,T)e^{B_y(t,T)y(t)}, \end{aligned}$$
(10)

where \(A_z\) and \(B_z\), \(z\in \left\{ x,y\right\} \), are deterministic functions and are a classical solution to the following system of Riccati equations

$$\begin{aligned} \left\{ \begin{aligned} -1 - B_x(t,T) \lambda _x(t) - \left( \partial _t B_x\right) (t,T) +\frac{1}{2}B_x^2(t,T)\gamma _x(t)&=0,\quad B_x(T,T)=0\\ -B_x(t,T)\eta _x(t) + \frac{1}{2} B_x^2(t,T) \delta _x(t) + \partial _t\left( \log A_x\right) (t,T)&=0,\quad A_x(T,T)=1\\ 1 + B_y(t,T) \lambda _y(t) + \left( \partial _t B_y\right) (t,T) +\frac{1}{2}B_y^2(t,T)\gamma _y(t)&=0,\quad B_y(T,T)=0\\ B_y(t,T)\eta _y(t) + \frac{1}{2} B_y^2(t,T) \delta _y(t) + \partial _t\left( \log A_y\right) (t,T)&=0,\quad A_y(T,T)=1. \end{aligned} \right. \end{aligned}$$
(11)

The proof of this Lemma is referred to Sect. A. The independence of x and y ensures that the Riccati equations for \(A_x\) and \(B_x\) are decoupled from the ones for \(A_y\) and \(B_y\), making it possible to use the existing literature on explicit solutions in the context of short rate models to construct easily a solution for our difference process (3) in the case where x (1) and y (2) are CIR processes.

Remark 2

One can immediately use Lemma 1 and the ideas in Sect. A to construct solutions to other popular one-factor affine short rate models, where an explicit solution is available, e.g. the Vasicek model, provided that x and y are independent.

Introducing dependence between x and y suggests a coupling of \(A_x\) and \(B_x\) to \(A_y\) and \(B_y\) and might have an impact on the analytical tractability, but is left for future research.

It is well-known that the processes x(t) and y(t) are non-negative for every \(t\ge 0\) (see for instance [8] or [16]). We underline that even if the processes x(t) and y(t) are positive, the instantaneous spot rate r(t) could be negative since it is defined as the difference of x(t) and y(t) for every \(t>0\), which is illustrated in Fig. 1 together with several percentiles of r(t).

Fig. 1
figure 1

An example of a trajectory with negative interest rates \(r=x-y\) and its decomposition in x and \(-y\), obtained with the market data on 30/12/2019 and parameters given in Table 2

3 Numerical tests

We will now perform some numerical experiments in our model. In Sect. 3.1 we will briefly discuss the market data, which we will use to perform all numerical tests in the subsequent sections. Afterwards, we will describe the calibration procedure of our model to the zero-coupon curves at 30/12/2019 and 30/11/2020 in Sect. 3.2. This is followed by a short subsection on simulating the model with the Euler–Maruyama scheme in Sect. 3.3 and we investigate the mean, variance and distribution of the short rate model in Sect. 3.4. In Sect. 3.5 we price zero-coupon bonds at future dates and compare the results to the market prices. Last but not least, Sect. 3.6 will show results on pricing swaptions in our model.

We used for the calculations Matlab 2021a with the (Global) Optimization Toolbox running on Windows 10 Pro, on a machine with the following specifications: processor Intel(R) Core(TM) i7-8750H CPU @ 2.20 GHz and 2x32 GB (Dual Channel) Samsung SODIMM DDR4 RAM @ 2667 MHz.

3.1 Market data

To obtain the market zero-coupon bond term structure, we first build the EUR Euribor-swap curve which is created from the most liquid interest rate instruments available in the market and constructed as follows: We consider deposit rates and Euribor rates with maturity from 1 day to 1 year and par-swap rates versus six-month Euribor rates with maturity from two years to thirty years. Then the zero interest curve and the zero-coupon bond curve are calculated using a standard “bootstrapping” technique in conjunction with cubic spline interpolation of the continuously compounded rate (cf. [21] for more details).

We choose two different dates and we take the data at the end of each business day. In particular, we test our model at 30/12/2019 and at 30/11/2020. At the first date, the zero interest rates were negative up to year six, while at the second date the entire zero interest rate structure was negative. In Tables 6 and 7 we report the zero interest rate curve and the zero-coupon bond curve at the two different dates.

Furthermore, in Sect. 3.6 we need the market volatility surface to compute the market swaption prices with Bachelier’s formula and the strikes to compute the model swaption prices. The volatility surface, strikes and market swaption prices, are for both dates in the Appendix in Tables 8, 9, 10, 11, 12 and 13, respectively.

All data has been downloaded from Bloomberg and is used in the following subsections for our numerical experiments. We start in the next subsection with calibrating our model to the zero-coupon curve.

3.2 Calibration

In this subsection we will discuss how we calibrate our model to the market zero-coupon curve given in Tables 6 and 7 by using the formula derived in (5).

Let us denote \(\Pi :=\left[ \phi ^x_1,\phi ^x_2,\phi ^x_3,\phi ^y_1,\phi ^y_2,\phi ^y_3,x_0,y_0\right] ^T \in \mathbb {R}^8\). We will formulate the calibration procedure as a constraint minimization problem in \(\mathbb {R}^8\) for the parameters \(\Pi \) with objective function

$$\begin{aligned} f(\Pi ):=\sum _{i=1}^{n}{\left( \frac{P^M\left( 0,T_i\right) }{P\left( \Pi ;0,T_i\right) }-1\right) ^2}, \end{aligned}$$
(12)

where \(n\in \mathbb {N}\) is the number of time points, where market data is available, and \(T_i\), \(i=1,\dots ,n\) are these maturities. The market zero-coupon curve is denoted by \(P^M(0,T_i)\) and \(P(\Pi ;0,T_i)\) is the price of a zero-coupon bond in our model given by (5) with parameters \(\Pi \).

The objective function describes the relative square difference between the market zero-coupon bond prices and the theoretical prices from the model given by (5).

The set of admissible parameters \(\mathcal {A}\) will consist of the following constraints arising from the well-definedness of the formulas (7):

  1. 1.

    First of all, let us note that there is a one-to-one correspondence between the parameters \(\Pi \) and \(k_z\), \(\sigma _z\) and \(\theta _z\) if one is looking for positive real solutions only. We have

    $$\begin{aligned} \begin{aligned} k_x&= 2 \phi ^x_2 - \phi ^x_1,\qquad&k_y = 2 \phi ^y_2 - \phi ^y_1,\\ \sigma _x&= \sqrt{2\left( \phi ^x_2\phi ^x_1-\left( \phi ^x_2\right) ^2\right) },\qquad&\sigma _y = \sqrt{-2\left( \phi _2^y\phi _1^y-\left( \phi _2^y\right) ^2\right) },\\ \theta _x&= -\frac{\phi ^2_x\phi ^3_x(\phi ^1_x - \phi ^2_x)}{\phi ^1_x - 2\phi ^2_x},\qquad&\theta _y = \frac{\phi ^2_y\phi ^3_y(\phi ^1_y - \phi ^2_y)}{\phi ^1_y - 2\phi ^2_y}. \end{aligned} \end{aligned}$$
    (13)
  2. 2.

    We require \(\sigma _z \in \mathbb {R}_{\ge 0}\), \(z\in \left\{ x,y\right\} \). By rearranging (13), these conditions are equivalent to \(\phi _1^x \ge \phi _2^x\) and \(\phi _2^y \ge \phi _1^y\);

  3. 3.

    A positive mean-reversion speed, i.e. \(k_z \ge 0\), is equivalent to \(2\phi _2^z \ge \phi _1^z\), \(z\in \left\{ x,y\right\} \);

  4. 4.

    The Feller condition \(2k_z\theta _z \ge \sigma _z^2 \) is equivalent to \(\phi _3^z\ge 1\), \(z\in \left\{ x,y\right\} \);

  5. 5.

    A positive mean for each CIR process, i.e. \(\theta _z \ge 0\), is by positivity of \(\sigma _z^2\) and \(k_z\) equivalent to \(\phi _3^{z}\ge 0\), which is already satisfied by the Feller condition;

  6. 6.

    The parameter \(\phi _1^z\), assuming that it is real-valued, is positive by definition, meaning that by the positivity of the mean reversion speed, \(\phi _2^z\) will be as well. Therefore, all \(\phi \) are positive;

  7. 7.

    As both CIR processes \(x_t\) and \(y_t\), individually, are positive processes, we additionally require \(x_0\ge 0\) and \(y_0\ge 0\).

The advantage of using the parameters \(\Pi \) instead of \(k_z\), \(\sigma _z\) and \(\theta _z\) is that we can rewrite these conditions as a system of linear inequality constraints in matrix notation \(A\cdot \Pi \le 0\) (where less-or-equal sign is to be understood in a element-wise sense), where

$$\begin{aligned} A:=\left[ \begin{array}[c]{*{8}{c}} -1 &{} 1 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0\\ 0 &{} 0 &{} 0 &{} 1 &{} -1 &{} 0 &{} 0 &{} 0\\ 1 &{} -2 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} 0\\ 0 &{} 0 &{} 0 &{} 1 &{} -2 &{} 0 &{} 0 &{} 0\\ \end{array}\right] \end{aligned}$$

with lower bounds \(\Pi _i\ge 0\), \(i=1,\dots ,8\), and \(\Pi _3=\phi _3^x\ge 1\), as well as \(\Pi _6=\phi _3^y\ge 1\).

In total, the set of admissible parameters is given by

$$\begin{aligned} \mathcal {A}:=\left\{ \Pi = \left[ \Pi _1,\dots ,\Pi _8\right] ^T \in \mathbb {R}^8_{\ge 0}: \Pi _3 \ge 1, \Pi _6 \ge 1 \text { and } A \cdot \Pi \le 0 \right\} . \end{aligned}$$
(14)

Finally, a solution \(\Pi ^*\) to the calibration problem is a minimizer of

$$\begin{aligned} \min _{\Pi \in \mathcal {A}} f\left( \Pi \right) . \end{aligned}$$
(15)

To solve (15) numerically, we want to use Matlab’s function fmincon in the (Global) Optimization Toolbox. In order to use this function, we need an initial guess of the parameter \(\Pi \) and the computational time will depend on that choice. In Table 1 we present a few choices for initial guesses of \(\Pi \). The first row for each date 30/12/2019 or 30/11/2020 refers to Matlab’s function ga in the (Global) Optimization Toolbox, which uses a generic global optimization algorithm to find a solution of (15) without starting from an initial guess, which takes a long time to compute, roughly 35–43 s. In the following three rows are three manual initial guesses. We can see that the first two choices work for both dates exceptionally fast (0.3 s) and the accuracy is almost identical to all other choices, making this model a good choice if live calibration to the data is needed, which we also use in the following numerical experiments. In the last two rows we used random starting parameters to demonstrate that the error remains stable but the computational time varies.

For the algorithms used by Matlab we refer the reader to [12], in the context of financial mathematics.

Table 1 Calibration times and corresponding mean relative errors (MRE) for different initial parameters at 30/12/2019 and 30/11/2020

The results of the aforementioned calibration procedure are displayed in Table 2 for both dates 30/12/2019 and 30/11/2020. On the left-hand side, one can see the parameters \(\Pi ^*\) and on the right-hand side the corresponding model parameters derived from \(\Pi ^*\). At both dates we obtain good results in fitting the market term structure. The mean relative error (MRE), i.e. \( \frac{1}{n}\sum _{i=1}^{n}{\left| \frac{P^M\left( 0,T_i\right) }{P\left( \Pi ^*;0,T_i\right) }-1\right| }, \) over the entire term structure is \(0.144\,\%\) at the first date and \(0.138\,\%\) at the second date, which is also illustrated in Fig. 2. One can see the calibrated model zero-coupon prices compared to the market prices at 30/12/2019 with a corresponding error bar for the absolut errors at each point in time, where market data is available.

Table 2 Calibration parameters \(\Pi ^*\), model parameters and mean relative errors (MRE) at 30/12/2019 and 30/11/2020, obtained with the market data given in Tables 6 and 7
Fig. 2
figure 2

A comparison of the market zero-coupon prices (Table 6) to the model zero-coupon prices with absolute errors at 30/12/2019 with parameters given in Table 2

3.3 Euler–Monte-Carlo simulation

In order to forecast the future expected interest rate, we use the Euler–Maruyama scheme to simulate the instantaneous spot rate r (3). We refer to [9] and the references therein for a list of different Euler-type methods to simulate a CIR process. In our experiments, we simulate the processes x(t) and y(t) by the truncated Euler scheme defined as follows:

First of all, we fix a homogeneous time grid \(0=t_0\le t_1 \le \cdots \le t_N=T\) for the interval [0, T] with \(N+1\) time points and mesh \(\Delta t_i :=t_{i+1}-t_{i} \equiv \Delta :=\frac{T}{N}\) for all \(i=0,\dots ,N-1\). Secondly, we simulate the two independent Brownian motions \(W_z\), \(z\in \left\{ x,y\right\} \), and define their time increment as \(\Delta W_{z}(t_i):=W_{z}(t_{i+1})-W_{z}(t_{i})\). In total, we compute \(r(t_{i+1}):=x(t_{i+1})-y(t_{i+1})\) for \(i=0,\dots ,N-1\), where

$$\begin{aligned} \begin{aligned} x({t_{i+1}})&= x({t_i}) + k_x(\theta _x - x({t_i}))\Delta t_i + \sigma _x\sqrt{\max (x({t_i}),0)}\Delta W_x({t_i}) \\ y({t_{i+1}})&= y({t_i}) + k_y(\theta _y - y({t_i}))\Delta t_i + \sigma _y\sqrt{\max (y({t_i}),0)}\Delta W_y({t_i}). \end{aligned} \end{aligned}$$
(16)

We choose the \(\max \) inside the square-root to ensure that the square-root remains real, because due to discretization effects the positivity of \(x({t_i})\) and \(y({t_i})\) might be violated.

In the following experiments we choose \(\Delta =\frac{1}{256}\) and use \(M=10000\) samples for each of the Brownian motions. In Fig. 3 we show the mean and \(99.9\%\) confidence interval (under the assumption of the central limit theorem) of the model discount factors, i.e. \(D\left( 0,T\right) :=\exp \left( -\int _{0}^{T}{r(s)ds}\right) \) with simulated short rate r(s), compared to the market discount factors, i.e. \(D^M(0,T)=P^M(0,T)\) from Table 6, at 30/12/2019. One can see that the mean does not differ from the market discount factors very much till 5 years with an error of magnitude 0.005 and increases slightly to a magnitude of 0.05 afterwards till 30 years.

Fig. 3
figure 3

A comparison of the market discount factors (Table 6) to the mean of the model discount factors with absolute errors at 30/12/2019 with parameters given in Table 2 by using (16) with \(\Delta =\frac{1}{256}\) and \(M=10000\)

A more detailed comparison of the mean absolute errors, i.e. the absolute value of the difference of the mean over all simulations of our model to the market data, at each maturity can be found in the appendix in Table 5.

3.4 Mean and variance

The \(\mathcal {F}_s\)-conditional mean and variance of the CIR process are well-known (cf. [6] p. 66 equation (3.23)) and are given by

$$\begin{aligned} E^\mathbb {Q}_s\left[ z(t) \right]&= z(s)e^{-k_z(t-s)}+ \theta _z \left( 1-e^{-k_z(t-s)}\right) \\ \mathrm {Var}^\mathbb {Q}_s\left[ z(t) \right]&= z(s)\frac{\sigma _z^2}{k_z} \left( e^{-k_z(t-s)} -e^{-2k_z(t-s)} \right) + \theta _z \frac{\sigma _z^2}{2k_z} \left( 1 - e^{-k_z(t-s)} \right) ^2, \end{aligned}$$

where \(z\in \left\{ x,y\right\} \). In the case of the difference of two CIR processes we have

$$\begin{aligned} E^\mathbb {Q}_s\left[ r(t) \right]&= E^\mathbb {Q}_s\left[ x(t)-y(t) \right] =E^\mathbb {Q}_s\left[ x(t) \right] - E^\mathbb {Q}_s\left[ y(t) \right] \end{aligned}$$
(17)

and by independence

$$\begin{aligned} \mathrm {Var}^\mathbb {Q}_s\left[ r(t) \right]&= \mathrm {Var}^\mathbb {Q}_s\left[ x(t) \right] + \mathrm {Var}^\mathbb {Q}_s\left[ y(t) \right] . \end{aligned}$$
(18)
Fig. 4
figure 4

Mean and standard deviation of r(t) using the calibrated parameters in Table 2, obtained with (17) and (18). The left picture shows the results at 30/12/2019 and the right at 30/11/2020

The mean (17) and variance (18) for the calibrated model at both dates are illustrated in Fig. 4. One can see a rapid change for times less than one year and they stabilize around 10 years. Moreover, in Fig 5 we show for each date the histogram of the short rate distribution after 30 years. To describe the distribution of r(t) after 30 years better, we also compare it to the density of a normal random variable with the same mean and variance. As one expects, the distribution of r shows a slight skewness and fatter tail with respect to the normal distribution.

Fig. 5
figure 5

Distribution of the simulated short rate r(t) compared to the normal distribution at \(t=30\) using the calibrated parameters in Table 2, \(\Delta =\frac{1}{256}\) and \(M=10000\). The left picture shows the results at 30/12/2019 and the right at 30/11/2020

3.5 t-Forward zero-coupon prices

In this subsection we examine, if our model is able to replicate the interest rate term structure not only at the start date but also in the future. Therefore, we compare the market and model prices of zero-coupon bonds at future times t by using the continuously-compounded forward rates (cf. [6] Definition 1.2.3.) to obtain the market prices.

To be more precise, let us briefly recall the definition of the continuously-compounded forward rate contracted at 0 (today) for the period [tT]

$$\begin{aligned} R(0;t,T):=-\frac{\log P(t,T)}{T-t}, \end{aligned}$$
(19)

where we use the day-count convention \(T-t\) in years.

To compute this rate for the market at time 0 for a fixed future date \(t>0\) with maturity \(T>t\) we use

$$\begin{aligned} R^M(0;t,T) :=\frac{T R^M(0,T) - t R^M(0,t)}{T-t} \end{aligned}$$
(20)

where \(R^M(0,t)\) and \(R^M(0,T)\) are the market zero rates with maturity t and T, respectively.

By rearranging (19) we derive the market zero-coupon price today for the period [tT] as

$$\begin{aligned} P^M(t,T)= \exp \left( - R^M(0;t,T) (T-t)\right) . \end{aligned}$$
(21)

Notice, that this is a deterministic value coming from (20).

Now, we can compare (21) to the expected value over all simulated trajectories of the model t-forward zero-coupon price derived from (5).

In Figs. 6, 7 and 8 we show a comparison of (21) to (5) at 30/12/2019 and 30/11/2020 with parameters \(\Pi ^*\) from Table 2 for future times \(t=1,3,5\), respectively.

The behavior shown by the model t-forward prices coincides with typical one-factor short interest rate models. At short future dates, one year for example, the model is able to reproduce the market forward zero-coupon price for 30/12/2019, i.e. the error is of magnitude 0.01, whereas at long future dates, e.g. Fig. 8, the model prices are deviating further from the market prices, i.e. the error is of magnitude 0.03. For 30/11/2020 we can see that the errors are not very large but the model seems to have difficulties to match the shape of the predicted market prices.

Fig. 6
figure 6

Mean and \(99\%\) confidence interval of the model t-forward zero-coupon prices compared to the market t-forward zero-coupon prices at \(t=1\) using the calibrated parameters in Table 2, \(\Delta =\frac{1}{256}\) and \(M=10000\). The left picture shows the results at 30/12/2019 and the right at 30/11/2020

Fig. 7
figure 7

Mean and \(99\%\) confidence interval of the model t-forward zero-coupon prices compared to the market t-forward zero-coupon prices at \(t=3\) using the calibrated parameters in Table 2, \(\Delta =\frac{1}{256}\) and \(M=10000\). The left picture shows the results at 30/12/2019 and the right at 30/11/2020

Fig. 8
figure 8

Mean and \(99\%\) confidence interval of the model t-forward zero-coupon prices compared to the market t-forward zero-coupon prices at \(t=5\) using the calibrated parameters in Table 2, \(\Delta =\frac{1}{256}\) and \(M=10000\). The left picture shows the results at 30/12/2019 and the right at 30/11/2020

3.6 Pricing swaptions

In this subsection we test if our model is market consistent, in the sense whether the model is able to reproduce market swaption prices or not.

We compare market swaption prices to model swaption prices with different tenors (1, 2, 5, 7, 10 years) and maturities (1, 2, 5, 7, 10, 15, 20 years). The market swaption prices (Tables 12 and 13) are computed by Bachelier’s formula from normal volatilities quoted in the market (Tables 8 and 9) whereas the model swaption prices are from the simulated future zero-coupon prices in (5). The difference between market price to model prices for 30/12/2019 and 30/11/2020 are reported in Tables 3 and 4, respectively. We notice that, similar to one-factor short interest rate model, our model fails to capture the full swaption volatility surface. This result is not surprising, since the model uses essentially a single volatility factor due to the fact that the model parameters are constant and the Brownian motion are independent. A way to make the model able to match the entire volatility surface is the inclusion of time-dependent parameters to fit exactly the market term structure or, equivalently, adding a deterministic function of time to the short rate process r, which is left for future research.

Table 3 30/12/2019: difference between swaption model price and swaption market price
Table 4 30/11/2020: difference between swaption model price and swaption market price

4 Conclusion and future research

In this paper, we propose a new model to handle the challenges arising from negative interest rates, while preserving the analytical tractability of the original CIR model without introducing any shift to the market interest rates. The strength of our model is that it is very simple, fast to calibrate and fits the present market term structure very well for an essentially one-factor short rate model.

Let us briefly summarize our discoveries of the numerical section. We show that the distribution of the short rate after 30 years has similar features compared to the original CIR model in terms of skewness and fat tail. At 30/12/2019 we show that the model is quite capable of pricing zero-bonds at future times, while for 30/11/2020 the error is not too large but an improvement of the current model would be desirous to allow a better fit to the shape of the market prices. Similarly, we show that we require an extension of the model to price swaptions more accurately.

That being said, the authors would like to stress that this is a first step in this methodology of using two CIR processes as a difference to model negative interest rates. Naturally, its extensions, such as considering time-dependent coefficients to fit the market term structure perfectly or, equivalently, adding a deterministic shift extension in the sense of [6], will be a next step and is left for future research.