I am working out a numerical integral for option pricing in which I'm simulating an interest rate process using a Cox-Ingersoll-Ross process. Each step in my Monte Carlo generated path is a realization of a noncentral chi-squared random variable. What variance reduction techniques may be applied in this case? Can one, for example, generate antithetic variates that follow a CIR process?
The very easiest change you can make is to switch to quasirandom sampling. I favor the Niederreiter sequence, for which you can find implementations in most languages around the web.
You can also get a (sometimes tremendous) speed boost by running using a control variate. Even a swap would probably reduce your variance somewhat. I don't recall the CIR offering closed-form pricing formulas for anything more complicated than that, but it's been a very long time since I've seen the model in action.
If you are still trying to value the refinancing rights (as you were in the previous question), you will need to characterize the optimal exercise strategy for those rights. Unless you want to just make some simple assumption about it, the exercise strategy needs to be found via dynamic programming. In the context of Monte Carlo, this requires you to use Least Squares Monte Carlo or one of its brethren.
I saw this the other day In Glassermans: Monte Carlo methods in Financial Engineering. Lets say you already discretized your process and you want to simulate random steps. The method he is proposing is simulating 2 variables: a normal one lets call it Z and a central $\chi^2$ one with one less degree of freedom than your original variable (which is a non central $\chi^2$). He later claims that if $\lambda$ is the mean of the non central variable then:
Where the accented one is the non central with n degrees etc. He argues this is a efficient method however he proposes others as well. I suppose if he has it there it must be an efficient and low variance method. Hope it helps