I am trying to build a Monte Carlo simulation in Excel (yes, far from optimal) for valuation of a callable bond. I have some experience with MC simulation on path dependent derivatives with stocks as underlying assets, but very limited experience with interest rate modelling. For this exercise, I need to simulate interest rates based on the Cox-Ingersoll-Ross model:

$$\mathrm{d}r_t =a(b−r_t)\mathrm{d}t+\sigma\sqrt{r_t}\mathrm{d}z_t$$

In this connection I have two questions I am struggling to find a definite answer to:

  1. Is there a discretization scheme which is considered “common market practice” for this purpose? I started out with a Euler-Maruyama scheme, but this is somewhat problematic as the application of the normal distribution in this scheme results in a non-zero probability of getting negative interest rates. I read an old post here suggesting four other alternative schemes, but was unable understand whether any of these are commonly applied and what people usually use when valuing callable bonds.

  2. In order to account for correlation between two CIR processes (e.g. running separate processes for risk-free rate and credit spread), can you simply adjust the random variables, e.g. as when simulating lognormal stock prices?

  • $\begingroup$ Probably easier to sample from non central chi square distribution. $\endgroup$ – Magic is in the chain Sep 4 at 16:50

Discretisation schemes

If you want to simulate the path, then common practice is to sample from the exact distribution, as for the CIR process this is known. The distribution can be found from the original CIR process (1985). However, this requires sampling from a non-central $\chi^2$-distribution, which can be very expensive, and a bit more difficult to implement than a an Euler-Maruyama scheme.

For the Euler-Mayuama scheme, or variants thereof which are appropriate for the CIR process, some popular choices in the academic/scientific setting include

  • The truncated scheme by Deelstra and Delbaen.
  • The fully truncated scheme by Lord et al.
  • The reflected scheme by Berkaoui et al.
  • The reflected scheme by Higham et al.
  • Higher order schemes by Alfonsi.
  • etc.

For some more discussion on these see Dereich et al. and Lord et al. Of course most people in finance are quiet about what they use, so it's only possible to comment on how popular these are in a scientific setting.

It is worth noting that while the Euler-Maruyama scheme is much cheaper compared the exact CIR simulation (using non-central $\chi^2$ samples), it is very biased, and thus can require some very fine path simulations, which can eat into some of the saving.

Constructing correlated random variables

This answer says it better than I can, and although they are discussing Gaussian random variables, it seems as if it should carry over to other distributions.

If you're after performance

This seems moot, as if you're after performance you shouldn't be using excel, but to generate non-central $\chi^2$ random variables in excel you can use the inverse transform method with the function NCHISQ_INV from the "Real Statistics Pack" in excel (apparently). However, as a shameless self promotion, I will shortly be releasing an article discussing how to run path simulations and bypass expensive random variables, and likewise I have extended/demonstrated this for the CIR process. So I may post a link in the answer when it's available (if someone reminds me).


  • John C. Cox, Jonathan E. Ingersoll Jr, and Stephen A. Ross. A theory of the term structure of interest rates. Econometrica, 53(2):385–408–164, March 1985.
  • Aurélien Alfonsi. On the discretization schemes for the CIR (and Bessel squared) processes. Monte Carlo Methods and Applications, 11(4):355–384, 2005. (cf. the 2008 and 2010 papers also).
  • Griselda Deelstra and Freddy Delbaen. Convergence of discretized stochastic (interest rate) processes with stochastic drift term. Applied stochastic models and data analysis, 14(1):77–84, 1998.
  • Steffen Dereich, Andreas Neuenkirch, and Lukasz Szpruch. An Euler-type method for the strong approximation of the Cox-Ingersoll-Ross process. Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences, 468(2140):1105–1115, 2012.
  • Abdel Berkaoui, Mireille Bossy, and Awa Diop. Euler scheme for SDEs with non-Lipschitz diffusion coefficient: strong convergence. ESAIM: Probability and Statistics, 12:1–11, 2008.
  • Desmond J Higham, Xuerong Mao, and Andrew M Stuart. Strong convergence of Euler-type methods for nonlinear stochastic differential equations. SIAM Journal on Numerical Analysis, 40 (3):1041–1063, 2002.
  • Roger Lord, Remmert Koekkoek, and Dick van Dijk. A comparison of biased simulation schemes for stochastic volatility models. Quantitative Finance, 10(2):177–194, 2010.
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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