Docs / nablatensor-quant / com.nablatensor.quant

final class

ExoticProducts

Path-dependent equity payoffs on a GBM path, all monitored with a smoothed indicator (Seam 1 + the nablatensor-ops smoothing) so the whole payoff stays differentiable and one adjoint sweep gives barrier delta, digital delta, cliquet vega and so on. Shrinking width recovers the discontinuous contract at the cost of variance.

Methods

static Product<EquityMarket> barrier(OptionType type, Barrier kind, double barrier, double width)

Single-barrier option with continuous (per-step) smoothed monitoring.

type
call or put on the terminal spot
barrier
knock level
kind
up/down × in/out
width
smoothing width, in spot units (e.g. 0.01 * S0)
static Product<EquityMarket> digitalCash(OptionType type, double cash, double width)

Cash-or-nothing digital: pays cash if the terminal spot finishes in the money, smoothed at the strike.

static Product<EquityMarket> digitalAsset(OptionType type, double width)

Asset-or-nothing digital: pays the terminal spot if it finishes in the money.

static Product<EquityMarket> cliquet(double localFloor, double localCap, double globalFloor, double globalCap, double notional)

Cliquet / ratchet: each step is a reset period; its return is clamped to [localFloor, localCap], the sum is clamped to [globalFloor, globalCap], and the notional pays that.

static Product<EquityMarket> autocallable(double autocallLevel, double couponPerPeriod, int observations, double width, double notional)

Autocallable note: observed on observations equally spaced dates. On each date, if the spot is at or above autocallLevel the note redeems early at par plus an accrued coupon couponPerPeriod per elapsed observation. If it never triggers, principal redeems with downside min(1, S_T / S0). Early redemption is smoothed. Requires steps to be a multiple of observations.