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.