I'm considering a Cox-Ingersoll-Ross (CIR) process $$ dx_{t} = \alpha\left(\theta - x_{t}\right)dt + \sigma \sqrt{x_{t}}\,dW_{t}\,,\qquad \alpha,\beta,\sigma > 0 $$

which by assumption has $2\alpha \theta < \sigma^{2}$ (violates the Feller condition) and can therefore reach $x_{t}=0$ for some $t$ . The conditional distribution is $$ f(x_{t+T} \vert x_{t}) = c e^{-u-v}\left(\frac{v}{u}\right)^{q/2}I_{q}\left(2\sqrt{uv}\right) $$

where $q = \tfrac{2\alpha\theta}{\sigma^{2}} - 1$ (note $q <0$ by assumption of violation of the Feller condition), $c = \frac{2\alpha}{\sigma^{2}\left(1-e^{-\alpha T}\right)}\,$, $u=cx_{t}e^{-\alpha T}$, $v = c x_{t+T}$ and $I_{q}$ is a modified Bessel function of the first kind of order $q\,$.

I want to calibrate $\alpha,\theta,\sigma$ from certain historical observations $x_{i=1\ldots N}$. As explained in e.g. arXiv:0812.4210, in principle this can be done by minimizing minus the logarithm of the likelihood, i.e. $$ -\log (\text{Likelihood}) = -\log \prod_{i=1}^{N-1}f(x_{i+1}\vert x_{i})\,. $$

The tricky thing is that some of my historic observations $x_{i}$ are zero. Now, when $x_{t + T} \to 0$ ($v \to 0$ in the notation above), using the series expansion of the Bessel function one finds $$ f(x_{t +T} \to 0 \vert x_{t}) \to c e^{-u-v}\frac{v^{q}}{\Gamma(q+1)} $$

Since $q<0$ by assumption, the density blows up as $v\to 0\,$.

In particular, if (say) the 9th observation is zero in my dataset of historic observations (i.e. $v_{9} = cx_{9}=0$), the likelihood would be $$ -\log (\text{Likelihood}) = -q\log v_{9} -\log\left(\frac{c e^{-u_{9}-v_{9}}}{\Gamma(q+1)}\right)-\log \prod_{i\neq 8}f(x_{i+1}\vert x_{i})\,,\quad \text{with } v_{9} \to 0 $$

and the term $-q\log v_{9} \to -\infty$ as $v_{9} \to 0$ and will spoil the minimization (a numeric solver ceases to converge, for example).

Any ideas on how to calibrate the CIR process in such situations, namely when the historic data contains points (one or many) where the process hits zero?. Is Maximum Likelihood just not suited to this situation or is there a work-around?.


1 Answer 1


It's common to just set all zeroes equal to the minimum nonzero observation in your dataset.


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.