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.