Docs / nablatensor-quant / com.nablatensor.lattice

final class

BinomialTree

A recombining binomial tree with backward induction — the method the curriculum introduces risk-neutral valuation and early exercise with, and the one thing a record-and-replay Monte-Carlo engine cannot do. Deliberately not on the adjoint tape: this is a plain double, O(n^2) companion.

Three lattice parameterisations:

  • CRR — Cox-Ross-Rubinstein, u = e^{sigma sqrt(dt)}; O(1/n) convergence with the familiar even/odd oscillation;
  • JARROW_RUDD — equal-probability;
  • LEISEN_REIMER — Peizer-Pratt inversion of the Black-Scholes d1, d2; smooth O(1/n^2) convergence, odd step count, vanilla only.

Methods

static BinomialTree of(double spot, double rate, double dividendYield, double vol, double maturity, int steps, Method method)
int steps()
double price(LatticePayoff payoff, ExerciseSchedule schedule)

Price a general payoff under an exercise schedule (CRR or JARROW_RUDD); the terminal payoff also serves as the early-exercise payoff.

double priceVanilla(OptionType type, double strike, ExerciseSchedule schedule)

Price a vanilla call/put; the only entry point that supports Leisen-Reimer.