Milstein Discretization of the CIR Short-Rate Model
Summary
The document derives a Milstein time-step approximation for the Cox–Ingersoll–Ross short-rate process, whose drift pulls the rate toward a level and whose diffusion scales with the square root of the rate. The Milstein correction uses the derivative of the diffusion coefficient with respect to the state variable. For diffusion equal to the square root of the product of a constant and the rate, that derivative yields a correction proportional to the constant times the squared normal shock minus one, multiplied by the time step.
The accepted response identifies an error in differentiating the diffusion term and gives the corrected update. Another answer presents an equivalent notation using a volatility parameter and cautions that Euler and Milstein schemes may perform poorly in practice, suggesting predictor-corrector or noncentral chi-squared simulation as alternatives. The discussion offers formulas and practitioner comments, but no numerical comparison or conditions under which one scheme is superior; positivity and boundary behavior also require care in CIR simulation.
Key ideas
- The CIR process has mean-reverting drift and a diffusion coefficient proportional to the square root of the short rate.
- Milstein discretization adds a correction based on the derivative of the diffusion coefficient.
- For the stated parameterization, the correction is one quarter of the volatility parameter times the centered squared normal shock and the time step.
- The proposed correction depends on differentiating the square-root diffusion correctly.
- The document mentions predictor-corrector and noncentral chi-squared simulation as alternative approaches, without comparing their performance.
Tags
Full text
# CIR discretization Milstein scheme
# CIR discretization Milstein scheme
The CIR model for spot rate $r_t$ is:
$$dr_t=(\eta-\gamma r_t)dt+\sqrt{\alpha r_t} dW_t$$
where $\eta, \gamma, \alpha$ are constants.
How to express this SDE in discrete form using Milstein scheme?
The one I derived is:
$$r_{t+1}=r_t+(\eta-\gamma r_t)\delta t+\sqrt{\alpha r_t}\cdot\sqrt{\delta t}\phi +\frac{1}{2}\sqrt{\alpha r_t}\cdot\left(\frac{1}{2}\frac{\alpha}{\alpha r_t}\right)[\delta t(\phi^2-1)]$$
where $\phi$ is normal RV.
Can anyone help me to identify my error? Or is it correct?
## Answer by JejeBelfort (score 1, accepted)
https://quant.stackexchange.com/a/35423
The Milstein scheme for the following CIR model
$$dr_t=(\eta-\gamma r_t)dt+\sqrt{\alpha r_t} dW_t$$
should be
$$r_{t+1}=r_t+(\eta-\gamma r_t)\delta t+\sqrt{\alpha r_t}\cdot\sqrt{\delta t}\phi +\frac{1}{2}\sqrt{\alpha r_t}\cdot\left(\frac{1}{2}\sqrt{\frac{\alpha}{r_t}}\right)[\delta t(\phi^2-1)]$$
$$r_{t+1}=r_t+(\eta-\gamma r_t)\delta t+\sqrt{\alpha r_t}\cdot\sqrt{\delta t}\phi +\frac{1}{4}\alpha(\phi^2-1)\delta t$$ where $\phi$ is normal RV.
I think that you wrongly derived $\frac{\partial\left(\sqrt{\alpha r_t}\right)}{\partial r_t}$ in the last term.
## Answer by user381975 (score 0)
https://quant.stackexchange.com/a/35418
${{r}_{t+\Delta t}}={{r}_{t}}+(\eta-\gamma r_t)\delta t+\sigma \sqrt{{{r}_{t}}}\sqrt{\delta t}\,{{Z}}+\frac{1}{4}{{\sigma }^{2}}\delta t({{Z}}^{2}-1)$
Euler is just bad. Milstein in my experience is not much better. A better scheme in general is Predictor Corrector.
Another approach (in Glasserman) is to simulate the SDE using the non-central Chi^2 distribution which resolves Euler problem.Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.