4
$\begingroup$

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?

$\endgroup$
  • $\begingroup$ 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? $\endgroup$ – Matthias Wolf Jun 18 '13 at 2:48
  • 1
    $\begingroup$ 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. $\endgroup$ – Bob Jansen Jun 18 '13 at 5:35
3
$\begingroup$

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)

| improve this answer | |
$\endgroup$
2
$\begingroup$

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

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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