# Tag Info

6

To recover the Black-Scholes pricing equation, you should first express the standard normal cdf in terms of its characteristic function analogous to the Heston solution: $$N(x) = \frac{1}{2} - \frac{1}{\pi} \int_0^{\infty} Re [\frac{e^{-i\phi x} f(\phi)}{i\phi}] d\phi$$ where $f(\phi)$ is the characteristic function of the standard normal distribution: $$... 4 First, to make that clear: The Heston model does not generate negative volatility, but - for example - an Euler discretization of the Heston model may generate negative volatility (or variance). It is not a problem of the model. It is a problem of the numerical scheme. If you use an Euler scheme which generates negative volatility and then use any of the ... 3 I would say Start with Black Scholes to look at accuracy. In particular, you have a closed formula and you know what the characteristic function for lognormal is. Running FFT and comparing FFT pricing with the closed formula will give you an idea of what are the convergence issues, what is the behaviour at the boundaries (extreme strikes) etcetera. Then ... 3 You can find the derivation of the Heston characteristic function (its Fourier Transform) in Gatheral (2006). Using the characteristic function, you can optimize the model on the prices. There are multiple approaches to optimize, among others pattern search (which is very slow) and stochastic optimization (randomly jump around and stop after n iterations), ... 3 Expanding a bit on chrisaycock's answer, and noting in particular from the abstract In mathematical finance, solutions to obstacle problem for the elliptic Heston operator correspond to value functions for perpetual American-style options on the underlying asset. we can see that this would be used to price those few rare cases of perpetual options. ... 3 From this abstract: The Heston stochastic volatility process is a degenerate diffusion process where the degeneracy in the diffusion coefficient is proportional to the square root of the distance to the boundary of the half-plane. The generator of this process with killing, called the elliptic Heston operator, is a second-order, degenerate-elliptic ... 3 I highly recommend you to stick with the error function (RMSE) value minimization approach. I love MC techniques for this and related problem solving and thus do not recommend you to use anything else because of its simplicity and transparency. It comes down to using the right discretization function and to possibly implement variance reduction approaches. ... 3 Doesn't the Heston model have some Fourier transform formulae for pricing vanillas? I think one could use those to calibrate to the vanillas. Can't provide references at this moment, on the road. Edit: check out http://www.visixion.com/dok/Visixion_Calibrating_Heston.pdf -- I haven't read this closely but it sounds familiar 2 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. ... 2 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) 1 You need to obtain a 4 \times 4 correlation matrix. As you effectively observe, you have four random processes driving the system, with i \in 1,2$$ \frac{dS_i}{S_i} = \mu_i dt + \sqrt{v_i} dW_{Si} \\ dv_i = \kappa(\bar{v}_{i}-v_i) dt + \xi \sqrt{v_i} dW_{vi}  Each of the $W_{ji},j\in\{S,v\},i\in 1,2$ is a brownian motion correlated with the others, ...

1

It depends on the used optimization algorithm, esp. whether they act locally or globally. Just to give you some ideas: Local (deterministic) algorithms (e.g. gradient methods): a good initial guess is crucial. (Global) stochastic algorithms (e.g. simulated annealing): the initial guess is irrelevant. You can find more here: Heston’s Stochastic ...

1

Different optimizations could help. Parallel computing makes even worse if each computation is fast enough due to overhead. Thus it may be better to use profiler to get what can be improved. Usually it helps to send larger problems to parallel computation cores. Matlab is very good at matrix operations and it could be better to treat different draws of MC ...

1

Here's a decent study of calibration performance using fast fourier transforms versus other techniques. It concludes Gaussian quadrature works better than other techniques. http://www.frankfurt-school.de/dms/publications-cqf/CPQF_Arbeits6.pdf Edit: AZhu points out the link above is dead and that a working link is ...

1

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

1

This is public knowledge what you need is a good book on how option strategies are built and used... Heres some good starting points/books in which you can get a good framework to start building and applying your FFT option pricing method of choice The volatility surface Options futures and other Derivatives Options Volatility and Pricing

1

This note may be helpful you. Especially, chapter 4 in the note covered the FFT method for option pricing, the author also gave the algorithm and MATLAB code.

Only top voted, non community-wiki answers of a minimum length are eligible