Structured products with digital payoffs (autocallables, barrier options, range accruals) have a dirty secret: the Greeks your risk system reports are probably wrong.
The problem is bump-and-revalue. When a payoff has a discontinuity (a barrier knock, an autocall trigger), the finite-difference estimate of sensitivity is either noisy or biased. A small bump catches Monte Carlo noise. A large bump smooths over the discontinuity. There is no good bump size.
Most desks work around this. They average over multiple bump sizes. They increase the path count for Greek calculations. They accept that some Greeks are “indicative.” For a worst-of autocallable with two correlated underlyings and quarterly barrier observations, the result is a set of risk numbers that are expensive to compute and unreliable to trade on.
What adjoint differentiation changes
Adjoint methods compute all sensitivities in a single backward pass by differentiating through a smooth approximation of the payoff. The smoothing is controlled. A rational sigmoid replaces the hard barrier step, introducing sub-basis-point bias at production sharpness while producing stable, exact derivatives.
We tested this on a standard 2-asset worst-of Phoenix Autocallable Note: $1,000 notional, 2-year maturity, quarterly observations, 70% coupon barrier, 100% autocall trigger, correlated GBM, flat market data.
The numbers
| Metric | Value |
|---|---|
| Kernel recording | 9 ms (one-time) |
| Price + 6 Greeks (100K paths) | 23 ms |
| Throughput | 4.3M paths/sec (with Greeks) |
| Sensitivities per pass | 6 (2 deltas, 2 vegas, correlation, rate) |
Bump-and-revalue for the same 6 Greeks requires 12+ reprices at roughly 12 ms each, about 144 ms total. The results are visibly noisy. The adjoint produces a smooth, stable vega curve across the full volatility range, while B&R oscillates due to Monte Carlo contamination in the finite difference.
What the Greeks reveal
We swept the full vol/correlation plane (500 grid points, 25 vol levels × 20 correlation values) to map the sensitivity surfaces. The kernel was recorded once and reused across all grid points. Total time: roughly 15 seconds for the full surface with all Greeks at every point.
Three findings that matter for risk management.
Vega is deeply negative across nearly all regimes. This is a short-vol product. But the magnitude depends on correlation. At low correlation (), vega is more extreme because diversification increases the chance that one asset breaches the barrier even when the other is fine. At high correlation (), the assets move together and the worst-of penalty is smaller.
Correlation sensitivity changes sign. At low vol, correlation barely matters because barriers are far away. At high vol, higher correlation is actually protective: assets move together, so either both breach or neither does. A flat correlation reserve is wrong.
The interaction dominates. The materiality of a correlation bump depends entirely on where you are in the vol regime. A risk limit based on a fixed correlation scenario (the standard approach) underestimates exposure in some regimes and overestimates it in others.
Limitations
This analysis uses correlated GBM with flat market data. Real autocallables sit on local volatility or stochastic local volatility surfaces, and the barrier smoothing bias, while small for vanilla barriers, needs validation for more exotic trigger structures (accumulators, daily fixings). The 6 Greeks computed here cover first-order market risk. Cross-gammas and higher-order sensitivities require additional passes.
What this means for structured products desks
If your desk runs worst-of autocallables and hedges with bumped Greeks, the risk numbers are a function of your bump size and path count as much as they are a function of the market. Adjoint methods eliminate both dependencies. The Greeks are exact derivatives of the smooth model, computed in one pass, at the cost of 23 ms for 100K paths.
The same approach applies to barrier options, range accruals, TARFs, and any product where discontinuous payoffs make finite differences unreliable.
Implemented using AADC, a commercial adjoint AD compiler (matlogica.com). All results from actual Monte Carlo evaluations with adjoint sensitivities.