Quantitative Finance Stack Exchange is a question and answer site for finance professionals and academics. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

So I have been trying to implement a simple Heston calibration using crude MC with 10k scenarios and 1000 time steps and the best I could get is 3x of the observed implied volatility.

I suspect it has something to do with the way my initial guess worked, and therefore, I am just wondering:

  1. Is the initial guess very critical (that a not-so-great initial guess could give you 3x the differences)

  2. If it is, how can I get a good initial guess?

share|improve this question
3x sounds quite off, the initial guess should not get you that far away. Care to elaborate a bit on your setup. Maybe it is just a small issue. Matlab? – Matt Wolf Jun 18 '13 at 2:48
What happens if you set the initial guess (very) close to the correct answer? If that doesn't work I fear you have a bug. – Bob Jansen Jun 18 '13 at 5:35
up vote 2 down vote accepted

To check your results, you might try "The Heston Model: A Practical Approach with Matlab Code" by Nimalin Moodley, http://math.nyu.edu/~atm262/fall06/compmethods/a1/nimalinmoodley.pdf , in particular the www.ingber.com open source C++ code for Adaptive Simulated Annealing (+ SWIG to wrap/parse it to the language you are using)

share|improve this answer
thanks a lot, this seems to be a good way to start! – AZhu Jun 19 '13 at 17:45

It depends on the used optimization algorithm, esp. whether they act locally or globally.

Just to give you some ideas:

  1. Local (deterministic) algorithms (e.g. gradient methods): a good initial guess is crucial.
  2. (Global) stochastic algorithms (e.g. simulated annealing): the initial guess is irrelevant.

You can find more here: Heston’s Stochastic Volatility Model Implementation, Calibration and Some Extensions by Sergei Mikhailov, Ulrich Nögel

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.