LessonThis is a lesson restated in new words. Any figure in it is an example from the source, not this desk's record.

A European option price is a discounted risk-neutral expectation of the payoff. Under Heston that expectation has no Black–Scholes-style closed form, and resimulating it for every calibration trial is slow. Carr and Madan move a damped call into the frequency domain, where the Heston characteristic function is known, then invert.

Why it matters

Black–Scholes can be priced from a partial differential equation, from simulation, or from the terminal law. The closed form is fast and constant-volatility, so one number cannot match a skewed surface. Heston keeps a multiplicative price equation and lets variance be its own mean-reverting process, correlated with the price. It does not hand you a plug-in price. One million paths can price a single contract. Calibration repeats that cost on every trial. The Fourier route reprices the vanilla grid quickly enough to fit.

The idea in plain words

A call pays the stock minus the strike when that difference is positive, and zero otherwise. In the lecture's sketch a terminal price of 120 pays 20, and a terminal price of 80 pays nothing. You do not know which terminal price you will get, so the fair value today is the expectation of those payoffs, discounted. Average a large batch of paths, on the order of ten thousand up through a hundred thousand in the lecture's list, and that average is the Monte Carlo price.

A Fourier transform maps a time-domain signal to a frequency-domain signal, one to one. On a computer the integral becomes a sum, the discrete transform. The fast version is the same map with a better operation count. The inverse map sends the frequency signal back, and the lecture's demo recovers the original curve. A characteristic function is the same kind of reversible label for a distribution. A die has one. A normal law has one, and the lecture plots its real and imaginary parts beside the bell curve. The definition is an expectation of a complex exponential in the random variable, which is a Fourier integral up to a sign. Give back the characteristic function and the inversion recovers the density.

The call's expectation is an integral too, and it is not square-integrable, so the transform the lecture wants will not apply to the raw call. Carr and Madan multiply the call by an exponential damping factor. The damped call can be transformed. Change the order of integration and the inner integral is the characteristic function of the Heston log-price, which is known in closed form even though the price integral was not. Every term on that frequency-side formula is then something you can plug in. Invert, and you are back in the time domain with call prices. Divide out the damping factor, an exponential you chose, and the undamped calls are what you wanted. Puts follow by put-call parity.

How to use it

Code the Heston characteristic function from the model parameters you are testing against a market surface. Apply the damping. Discretize the frequency integral for a fast transform, with Simpson weights on the sum, because a sum only approximates the integral. Invert, correct for the damping, and read call prices off the grid. The lecture's implementation returns a price almost immediately. A strike grid from 80 to 120 sits near a Monte Carlo grid for the same parameters. As the frequency step gets finer, the transform is supposed to approach the theoretical price, and Monte Carlo is supposed to approach the transform.

The speed is what the calibration loop needed. Finite differences remain available for path-dependent contracts. A network approximation of the pricing map is the lecture's later route for models that lack a characteristic function.

What usually goes wrong

Skipping the damping leaves a call the transform does not apply to, so there is nothing to invert. Inverting without the Heston characteristic function leaves the frequency-side integral no more explicit than the original expectation. Forgetting to remove the damping returns a scaled price, not the call. A coarse frequency grid adds its own error even when the algebra is right. And the inversion prices vanillas. It does not, by itself, choose the parameters that match the market, and it does not price a barrier whose payoff is not the damped European call.

Questions people ask

Why not just average Heston paths?

You can. The lecture's objection is calibration: every new parameter set wants another large batch of paths. The inversion reuses a closed-form characteristic function instead.

What did the 80 to 120 comparison show?

Call prices from the transform and from Monte Carlo were roughly the same across that strike grid. They are two approximations to one theoretical price.

Where does the damping go at the end?

It is divided back out. It existed so the call would be square-integrable. The quote uses the call before that scaling.