Docs / nablatensor-quant / com.nablatensor.quant

final class

SpreadProducts

Spread and exchange options on a SpreadMarket: two correlated GBM legs, a European payoff on their difference, discounted at the flat rate. One adjoint sweep returns both spot deltas and both vegas; the analytic KirkSpreadOption and Margrabe are the references.

The correlation is a fixed model input (host Cholesky at record time), like BasketOption.

Methods

static BiConsumer<AadRecorder, Nabla.Inputs<SpreadMarket>> spreadOption(double strike, double rho, double maturity, int steps)

max(S1_T - S2_T - strike, 0) discounted; strike = 0 is a Margrabe exchange.

static BiConsumer<AadRecorder, Nabla.Inputs<SpreadMarket>> spreadPut(double strike, double rho, double maturity, int steps)

max(strike - (S1_T - S2_T), 0) discounted.