Explain why plain Euler-Maruyama fails for dv = kappa(theta - v) dt + xi sqrt(v) dW, give two standard fixes with the cost of each, and state when the exact process itself reaches zero.
Explain why plain Euler-Maruyama fails for dv = kappa(theta - v) dt + xi sqrt(v) dW, give two standard fixes with the cost of each, and state when the exact process itself reaches zero.
Approach: Examine the sign of the Euler increment when the state is near zero, then compare fixes by what each does to the bias in the simulated variance and in the price of a volatility sensitive payoff.
The Euler step can produce a negative variance, after which sqrt(v) is undefined and the scheme halts; the two standard repairs are full truncation and reflection, and the exact process touches zero whenever the Feller condition 2 kappa theta ≥ xi^2 fails. The Gaussian increment is unbounded, so for any step size h there is positive probability that v_n + kappa(theta - v_n)h + xi sqrt(v_n) dW < 0, and that probability grows as the state approaches the origin, which is exactly where a Heston calibration with a violated Feller condition spends time. Full truncation evaluates the diffusion at max(v_n, 0) and carries the unfloored value forward, which has the smallest discretisation bias among the simple fixes. Reflection uses |v_n| and systematically overstates variance near zero because it turns downward excursions into upward ones. Sampling the exact noncentral chi-squared transition removes the bias entirely at a higher cost per step, and is worth it when the payoff is sensitive to the low variance region.
Follow-up: How does the bias of full truncation scale with the step size for a European call under Heston, and what does it do to a calibrated correlation parameter?
Key concepts: full truncation, noncentral chi-squared, Feller condition, discretisation bias.