Avoiding negative volatility when applying Heston model

When applying the Heston model to generate the sample volatility surface, some of the volatility value will be negative. I am just wondering what do practioners normally do with these negative value. Do you

1. simply ignore it;
2. set negatives to 0; or
3. square it, take absolute values, or something else?
-

It is not necessarily something that must be wrong with your model. Inherent in the Heston discretization methods of its continuous time dynamics is the possibility of negative values in the variance process.

Here are couple solutions you can look at in order to "fix" your problem:

• Usage of different Euler schemes, such as the Full Truncation scheme.
• Making the discretization grid smaller.
• approximate Fourier inversions needed to simulate the integrated variance process.
• Moment-matching techniques (for example, approximating the non-centrally chi-squared distribution by a related distribution whose moments are (locally) matched with those of the exact distribution).
• Using drift interpolation instead of Fourier inversion
-

Negative volatility means something some where along the lines something is inherently wrong with your model, double check your code and theory

-
Thanks for the answer but why you can't have negative vol when, say, in Heston model, vol is just a SDE? –  AZhu Jan 22 '13 at 2:41
@AZhu it's usually standard in the model, you either forgot the discretization step or are using a unreasonably small sample size if its still negative after the discretization. –  pyCthon Jan 22 '13 at 2:52
The Heston model does not generate negative volatility, but an Euler discretization does. It is not a problem of the model. It is a problem of the numerical scheme. –  Christian Fries Jan 22 '13 at 10:48