Skip to content

Guides

Use this section either to evaluate the repo quickly or to start from the public API and work outward.

Start with the strongest proof

  • Decision guide - quickest route to the surface, eSSVI, local-vol/PDE, performance, and architecture pages.
  • Surface repair workflow - quoted surface diagnostics, SVI fit quality, and repair evidence.
  • eSSVI smooth handoff - why slice-wise repair is not the final Dupire handoff, and what the smoothed surface fixes.
  • Local-vol and PDE validation - repricing accuracy, error structure, and convergence evidence.
  • Performance evidence - committed scaling plots, runtime/error tradeoffs, and reproducibility notes.
  • Architecture - typed package structure, dependency direction, and system-design intent.

Start with the public API

  • Installation - install the package and choose the right extras.
  • Instruments - recommended public entry point for most users.
  • Quickstart - compact walkthrough using the convenience PricingInputs API.
  • Market APIs - flat MarketData versus curves-first PricingContext.

Pricing engines

  • Black-Scholes - closed-form pricing and analytic Greeks.
  • Monte Carlo - GBM pricing, standard errors, and reproducibility.
  • Binomial CRR - lattice pricing, convergence, and American exercise.
  • PDE pricing - finite-difference pricing under Black-Scholes and local vol.
  • Diagnostics - notebook-friendly helpers for comparisons, sweeps, and reports.

Volatility workflows

  • Implied volatility - invert Black-Scholes prices to implied vol.
  • Volatility surface - build, query, and sanity-check grid-based or SVI-based surfaces.
  • eSSVI - build analytic eSSVI surfaces, calibrate nodes, and project a smooth Dupire-ready surface.
  • SVI - calibrate analytic SVI slices and inspect fit diagnostics.
  • SVI repair - detect and repair butterfly-arbitrage issues in a slice.
  • Local volatility - derive a local-vol surface from a differentiable implied surface and use it in PDE pricing.

Conventions used throughout

  • Rates and dividend yields are treated as continuously compounded.
  • Times are in years.
  • PricingInputs uses absolute expiry T together with valuation time t, so tau = T - t.
  • When t=0, OptionSpec.expiry and tau have the same numeric value in the flat-input workflow.
  • Instrument objects such as VanillaOption use expiry to mean time-to-expiry directly.
  • Strike, spot, and forward inputs must be positive where log-moneyness is used.