Itkin's damped-sinc method prices American puts within 1.8e-5 of strike of a fine two-dimensional finite-difference (FD) solution. It does so under the 3/2, GARCH and lognormal-volatility models without constructing a log-price grid. The accuracy holds up. Speed needs more qualification. The paper claims costs comparable to or below its own FD implementation, apart from the Hankel route for uncorrelated SABR. That comparison uses a plain sparse-LU solver as its FD baseline.

Andersen, Itkin and Kazbek developed DSINC for Heston. In that model, tilted CIR transforms and a Möbius propagator handled the remaining variance integral. The present paper shows that the collapse step, which removes the log-price integral, never required affine structure. For the 3/2 model, it uses closed forms in Kummer functions. Uncorrelated SABR gets a Hankel representation; GARCH, lognormal vol and correlated SABR each require a numerical backward equation for every frequency.

The paper tests a pricing method on synthetic parameters. It claims no performance on market data.

A backward equation for each frequency

The early-exercise premium decomposition supplies the starting point. An American put is its European value plus a time integral of the payoff weight g(x) = r_d - r_f e^x. The integral collects that weight over the exercise region, using the joint transition density of log-moneyness and the volatility factor. Integrating over log-price up to the boundary is the difficult part.

DSINC expands the density in sinc functions multiplied by e^{-χx}, where χ is the damping exponent. This is the damped-sinc method from the earlier Heston work by Andersen, Itkin and Kazbek. Under band-limitation hypotheses, its "collapse identity" reduces the basis sum to a conditional characteristic function: log-price conditional on terminal volatility, evaluated at -ω - iχ. Exactness requires a band-limited damped density, an assumption the paper calls an idealization. Otherwise, a bounded truncation error remains. The log-price integral becomes a Fourier pairing with a payoff transform available in closed form. Only the characteristic function depends on the model; the derivation makes no use of affine structure.

The tested calculation uses 108 Gauss-Legendre frequencies, a cutoff of 640 and 160 volatility nodes. When coefficients are independent of log-price, integrating the transform against any function of terminal volatility solves a backward PDE in log-volatility for each frequency. Each frequency has a dense matrix exponential, computed once. Backward recursion builds the premium using a matrix-vector product at every step and frequency. The boundary has a value at every volatility node, the paper's "nodal" representation. Finding it takes 34 bisection steps, performed across all nodes together. Since spot appears only in e^{(χ-iω)x}, the same run prices every spot level.

An Itô coordinate change, F' = √V/η, separates the conditional characteristic function into an explicit endpoint phase and a bridge term. It also proposes a coordinate for approximating the boundary by a line. Whether that approximation works is an empirical question in the paper. The computed boundaries fit a line more closely in F than in variance: the largest fit residuals shrink by factors of 1.4 to 4.5. At t = 0 for lognormal vol, the residual drops from 0.0272 to 0.0063. In the 3/2 model, F is proportional to log v. A boundary linear in log v then allows the volatility integral to be written in Kummer functions.

Why does negative damping fail for GARCH and lognormal vol?

Finite negative spot moments are necessary for negative damping. Itkin proves that every negative moment is infinite for both the GARCH diffusion and the lognormal-volatility model. He therefore uses the strip 0 < χ < 1. It is admissible whenever the discounted spot is a nonnegative local martingale, with an added residue term equal to r_d times the volatility density.

A truncated grid can hide the problem. For lognormal vol, the χ = -1/2 moment stays at 0.99744 until the upper truncation reaches about 270 times σ0, then explodes. For GARCH, it stays at 0.99678 up to about 8e4 times v0. As the paper puts it: "Hence a truncated grid does not reveal the failure of the Put damping at moderate truncation," The 3/2 model behaves differently. Under the tested parameters, damping remains admissible down to χ = -4.35; χ = -5 explodes once truncation exceeds roughly 1e4 times v0.

The root bracket presents another numerical trap. Widths of 0.1 and 0.3 agree to seven digits. A width of 1.0, however, introduces errors as large as 6e-3 of strike.

Itkin describes his local bracketing rule as "not a uniqueness theorem".

Accuracy holds; the speed comparison has a narrow baseline

Across nine American puts, DSINC differs from fine FD by at most 1.8e-5. Against second-order extrapolation of the FD grids, the largest difference is 4e-6. The premium gives those gaps some scale. For an at-the-money put in the 3/2 model, fine FD returns 0.048648 and DSINC returns 0.048662. With an early-exercise premium of 0.001438, that gap amounts to about 1% of the premium.

Eight further cases cover T = 1, r_d < r_f, a strict local martingale and a regime switch. All remain within 2.1e-5 of fine FD. When r_d < r_f, the premium falls below 1e-5 and DSINC's error is of the same size. Itkin attributes this to cancellation between the residue and spectral terms.

On the nine cases, DSINC needs 4.5 to 8.3 seconds; fine FD needs 7.8 to 8.7. Coarse FD finishes in 0.4 to 0.5, though with less accuracy. Refinement moves its prices by up to 4.6e-5, compared with DSINC's distance of at most 1.8e-5 from fine FD. The paper limits its timing claim explicitly: "We do not claim a speed advantage beyond this setting."

For uncorrelated SABR, the Hankel route takes 81 seconds at N = 100. Fine FD takes 1.5, making Hankel about 54 times slower. The authors acknowledge the result directly: "The Hankel method is slower in this implementation."

Correlated SABR gives the strongest speed result. A known change of volatility coordinate, y = σf^{β-1}, allows DSINC to reach an estimated 2.0e-6 error in 13.4 seconds. FD takes 30.5 seconds at 1.6e-6. At lower accuracy, FD costs less: the coarse grid takes 0.2 s for an estimated 2.6e-5 error. DSINC's cheapest run takes 2.7 s and already reaches 5.5e-6. Around fine-grid accuracy, costs are similar. FD takes 2.1 s at 6.5e-6, against 3.4 s at 3.9e-6 for DSINC.

These timings compare against the author's own Python FD solver. It performs a full sparse LU factorization without alternating-direction implicit (ADI) splitting. Itkin names ADI schemes and Krylov acceleration as untested alternatives, and restricts the timing ratios to the implementations actually tested. Time convergence is also only about first order: observed orders range from 1.1 to 1.8.

Synthetic tests, and the version a desk would use

The American tests use hand-set parameters for the 3/2, lognormal-vol, GARCH and SABR models, with puts at S/K of 0.9, 1.0 and 1.1. A Heston benchmark drawn from the literature extends S/K from 0.8 to 1.2. None is calibrated to market prices.

We could not backtest it. The general setup in the paper is an exchange rate, while SABR uses a forward. We hold neither FX spot histories nor American FX option quotes for calibration. Repeating the synthetic benchmarks would check only the code.

For a desk selecting an implementation, the nodal solver is the working choice. The 3/2 closed-form facet is correct: given the same boundary, it matches the nodal premium to 4e-7. Using a single facet at each date nevertheless biases prices by up to 1.8e-4 at S/K = 0.9. The closed form also takes 11 seconds for one state. Nodal evaluation takes 6 seconds for every volatility node and spot level.

I would use DSINC as a second engine for non-affine American books. A single run covers every spot level, and it supplies an independent check on FD at the 1e-5 level. A head-to-head comparison with a tuned ADI solver would change my view on speed.