View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from

5.0 | 2 ratings Rate this file 16 Downloads (last 30 days) File Size: 42.6 KB File ID: #36563 Version: 1.0
image thumbnail




Carr-Madan and Lewis pricing methods using FFT for many advanced financial models

| Watch this File

File Information

This is material from the book
Financial Modelling: Theory, Implementation and Practice with Matlab source from Joerg Kienitz and Daniel Wetterau, WILEY, September 2012

Pricing Call Options for advanced financial models using FFT and the Carr-Madan or the Lewis Method. We cover:

Bachelier, Black-Scholes, CEV, Displaced Diffusion, Hull-White

Stochastic Volatility:
Heston, SABR, Displaced Diffusion Heston, Heston-Hull-White

Merton, Bates, Bates-Hull-White

Variance Gamma, Normal Inverse Gaussian

Levy+Stochastic Volatility:
Gamma Ornstein-Uhlenbeck and CIR clock


This file inspired Risk Neutral Densities For Financial Models, Cos Method (Multiple Strikes, Bermudan, Greeks), and Modern Pricing Method Using Transforms.

Required Products MATLAB
MATLAB release MATLAB 7.14 (R2012a)
Other requirements We have tested the code with Matlab R2008b - R2012a
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (3)
04 Aug 2013 Maxime

Maxime (view profile)

Also, The Carr and Madan approach used another formula for pricing out-of-the-money call (indeed the formula for ITM call options is based on the intrinsic value and therefore does not apply to OTM call options).

Why do we not consider another formula for OTM options?

Comment only
04 Aug 2013 Maxime

Maxime (view profile)


I am trying to use your codes and price the same option with both HestonHullWhite characteristic function and hhw characteristic function.

I want to match both prices. For this reason, I set the correlation rho13 equal to zero in the hhw characteristic function.

But how do I get r0 so that the prices match? I tried from the ircurve but did not succeed... Some help?

09 Dec 2012 Roji

Roji (view profile)

Amazing book and code Sirs. Thank-you.

Just one issue: one running >> TestScriptVolSmileHeston
This error pops up:
Maximum variable size allowed by the program is exceeded.

Error in CallPricingFFT (line 53)
uvec = 1:FFT_N;

Error in TestScriptVolSmileHeston (line 52)
FFTopt(j,:) = CallPricingFFT('Heston',S,K,T(j),r,d,vInst,vLong,kappa,omega,rho);

Why is it?

Best Regards

Contact us