Quantitative finance calculators for pricing, risk, and calibration.
A calculator for every problem NablaTensor's adjoint AD engine is built to solve — pricing and hedging, model calibration, portfolio risk, and the regulatory capital numbers a bank has to produce.
Start Here — Price, Then Differentiate
The mechanic every other calculator on this page relies on.
One Sweep, Every Greek: How Adjoint AD Works
LiveThe mechanic that makes a single Monte-Carlo run yield the price and every first-order sensitivity.
Record, Tape, Replay: Anatomy of a Run
LiveWhat actually happens between writing plain Java and getting a priced, differentiated result.
The Scalar Type Behind Every Recorded Trade
LiveADouble: what it tracks, and why an ordinary double can't be differentiated after the fact.
What Gets Captured When You Record a Valuation
LiveA plain Java function, run once, becomes a replayable computational graph.
Price a Vanilla Option and Get Every Greek
LiveA European call, priced and differentiated in one adjoint sweep — delta, vega, rho and strike sensitivity, no separate bump run per Greek.
Prove Your Adjoint Greeks Match Bump-and-Revalue
LiveReconciling one adjoint sweep against independent forward revaluations, factor by factor.
Every Input You Record Becomes a Sensitivity
LiveA cross-Greek or cash-flow-timing sensitivity you didn't explicitly ask for, recovered for free from the same tape.
Regulatory Capital
The numbers a regulation asks for. Sign-off is still yours.
Compute FRTB Curvature Capital
LivePrescribed up- and down-shock revaluations, reduced to one capital number per risk factor.
Run the Full FRTB Standardised Approach
LiveDelta, vega and curvature combined across risk classes into a single SA capital number.
Compute SA-CVA Capital for a Netting Set
LiveCVA sensitivities from one AAD sweep on a real netting set, cross-checked against the regulation's own prescribed bump-and-revalue method.
Compute ISDA SIMM Initial Margin
LiveIndustry-standard initial margin, built from the same sensitivities your desk already has.
Run a Supervisory Stress Scenario Without Re-Recording the Book
LiveA prescribed shock set, replayed against the existing tape.
Model Climate Transition & Physical Risk as Market Shocks
LiveLong-horizon scenario pathways translated into the same market-shock language as any other stress test.
Credit & Counterparty Risk
CVA, default risk, and the Greeks a credit desk actually trades.
Price CDO Tranches Two Ways and Reconcile Them
LiveCopula and recursive loss-distribution pricing, cross-checked on the same portfolio.
Price Through a Jump and Keep a Usable Greek
LiveWhere a discontinuous jump process breaks naive smoothing, and how adjoint AD still returns a clean sensitivity.
Build CVA From Exposure, PD and LGD
LiveAssembling unilateral CVA from its three regulatory components, explicitly.
Find the Greeks a CVA Desk Actually Trades
LiveThe hedgeable sensitivities behind a CVA number — not just the capital charge.
Compute the BA-CVA Fallback Charge
LiveThe non-modelled Basic Approach number, for comparison against SA-CVA.
Portfolio & Market Risk
VaR, backtesting, scenarios and aggregation across a book.
Compute VaR and Expected Shortfall Three Ways
LiveHistorical, parametric and Monte Carlo routes to the same risk number, reconciled.
Backtest a VaR Model Against Realised PnL
LiveKupiec and Christoffersen exception tests, the way a model-validation team runs them.
Define Named Market Shocks Once, Replay Them Anywhere
LiveA scenario language that composes shocks without re-recording the underlying book.
Aggregate Portfolio Risk Without Double-Counting
LiveNetting and diversification, and where naive summation overstates risk.
Calibrate to the Market
Recovering model parameters with adjoint gradients instead of finite differences.
Calibrate SABR to a Volatility Smile
LiveL-BFGS against adjoint gradients: three SABR parameters recovered from market vols, one adjoint sweep per iteration instead of one per finite difference.
Calibrate Heston Without Finite-Differencing the Smile
LiveStochastic-vol calibration where adjoint gradients replace a finite-difference Jacobian.
Calibrate Fast, Without Recording a Tape
LiveThe COS method's own closed-form route, for when recording overhead isn't worth paying.
Bootstrap a Curve and Get Every Zero-Rate Risk for Free
LiveEach instrument's sensitivity to every curve point, recovered from one recorded bootstrap.
Calibrate Hull-White Swaptions Through a Root-Find
LiveWhen calibration goes through a solver, not a sweep — and what that means for its Greeks.
Fit GARCH by Maximum Likelihood on a Tape Too Big to JIT
LiveWhere the recording itself becomes the engineering constraint.
Price Exotic & Multi-Asset Trades
Path-dependent, multi-asset and early-exercise payoffs — same mechanics, harder payoff.
Price an Asian Option and Its Averaging Risk
LivePath-averaged payoffs differentiate the same way vanilla ones do.
Price Barriers and Digitals Without Losing the Greek
LiveDiscontinuous payoffs, and what smoothing costs you in exchange for a usable sensitivity.
Price a Custom Payoff — A Three-Line Diff, Not a Fork
LiveBring your own payoff function and get full sensitivities without touching the engine.
Price a Basket and Get a Full Cross-Greek Matrix
LiveCorrelated underlyings, one tape, every pairwise sensitivity.
Price a Spread Option With Gradients on Both Legs
LiveTwo correlated legs, one payoff, differentiated jointly.
Price a Quanto and Its Convexity Adjustment
LiveCross-currency drift correction and the other measure-mismatch adjustments — closed-form, the same way the Java source computes them, not on the AAD tape.
Differentiate Through a Recursion, Not Just a Simulation
LiveA binomial lattice, recorded and differentiated through every branch.
Price a Bermudan and Know What Its Greek Means
LiveLongstaff-Schwartz regression exercise, and the honest limits of its sensitivity.
Engine Internals & GPU Performance
For the platform engineer wiring this into a production risk system.
Run One Tape on CPU, SIMD or GPU, Unchanged
LiveThe same recording, replayed on six backends without touching the valuation code.
See What the Tape Deliberately Discards
LiveWhat gets dropped on replay for performance, and reconstructed only when needed.
Compare CUDA, Vulkan, ROCm and OpenCL From One Recording
LiveFour GPU codegen paths generated from the identical tape.
Inspect the Bytecode Kernel Generated From Your Tape
LiveWhat the Class-File API actually emits for a recorded valuation.
Extend the Tape With a New Differentiable Primitive
LiveWriting a custom op: forward value and adjoint rule, both required.
Read the Kernel Source a Codegen Pass Emits
LiveWGSL or PTX, generated, not hand-written — line by line.