Home
/
Today's Focus
FFT and Carr-Madan Pricing
Hard
·
23 min read
Numerical Methods
FFT
Characteristic Functions
Carr-Madan
Fourier Pricing
1
Article
2
Quiz
Quick Quiz
1.
Why can't the Fourier transform of the call price
C
T
(
k
)
C_T(k)
C
T
(
k
)
be taken directly (without dampening), even though
φ
T
(
u
)
\varphi_T(u)
φ
T
(
u
)
is well-defined?
The characteristic function decays too slowly for the inversion
The call price is discontinuous at
k
=
ln
S
0
k=\ln S_0
k
=
ln
S
0
The call price is not a measurable function of
k
k
k
As
k
→
−
∞
k\to-\infty
k
→
−
∞
,
C
T
(
k
)
→
S
0
>
0
C_T(k)\to S_0>0
C
T
(
k
)
→
S
0
>
0
, so
C
T
∉
L
1
(
R
)
C_T\notin L^1(\mathbb{R})
C
T
∈
/
L
1
(
R
)
2.
In
Ψ
T
(
v
)
=
e
−
r
T
φ
T
(
v
−
(
α
+
1
)
i
)
/
(
α
2
+
α
−
v
2
+
i
(
2
α
+
1
)
v
)
\Psi_T(v)=e^{-rT}\varphi_T(v-(\alpha+1)i)/(\alpha^2+\alpha-v^2+i(2\alpha+1)v)
Ψ
T
(
v
)
=
e
−
r
T
φ
T
(
v
−
(
α
+
1
)
i
)
/
(
α
2
+
α
−
v
2
+
i
(
2
α
+
1
)
v
)
, what happens at
v
=
α
2
+
α
v=\sqrt{\alpha^2+\alpha}
v
=
α
2
+
α
?
The real part of the denominator vanishes — a near-pole risk
The imaginary part of
Ψ
T
\Psi_T
Ψ
T
changes sign
The dampening condition fails and the formula becomes invalid
The characteristic function
φ
T
\varphi_T
φ
T
develops a singularity
3.
The FFT ties frequency spacing
η
\eta
η
and log-strike spacing
λ
\lambda
λ
by
η
λ
=
2
π
/
N
\eta\lambda=2\pi/N
η
λ
=
2
π
/
N
. To get a finer strike grid (smaller
λ
\lambda
λ
) without coarsening
η
\eta
η
, you need:
The Fractional FFT (FRFT), decoupling
η
\eta
η
and
λ
\lambda
λ
To reduce
N
N
N
so the product constraint is met
To increase
α
\alpha
α
so the integration domain widens
Richardson extrapolation on a coarser grid
4.
Carr-Madan prices all
N
N
N
strikes at once in
O
(
N
log
N
)
O(N\log N)
O
(
N
lo
g
N
)
, versus
O
(
N
⋅
M
quad
)
O(N\cdot M_{\text{quad}})
O
(
N
⋅
M
quad
)
for
N
N
N
separate quadratures (
M
quad
M_{\text{quad}}
M
quad
= quadrature points each).
True
False
5.
Aliasing in the Carr-Madan FFT occurs when:
The log-strike grid omits the at-the-money strike
The dampening parameter
α
\alpha
α
is chosen too large
φ
T
\varphi_T
φ
T
stays large past the truncation frequency
v
max
=
η
N
v_{\max}=\eta N
v
m
a
x
=
η
N
The number of nodes
N
N
N
is not a power of two
6.
The Carr-Madan FFT is inaccurate for a deep OTM call (
K
≫
S
0
K\gg S_0
K
≫
S
0
). The preferred fix is:
Use a finer frequency grid near
v
=
0
v=0
v
=
0
Switch to Monte Carlo for deep OTM options
Price the OTM put instead and recover the call via put-call parity
Increase
α
\alpha
α
to improve accuracy at high strikes
Submit
←
Article