1. Ingest and normalize market data
Streaming option quotes arrive venue by venue with different conventions, quality levels, and update timing. The first stage is to align expiries, strikes, forwards, and quote provenance so that the calibration layer sees comparable data rather than raw venue noise.
- Capture bid, ask, and last-trade context separately
- Normalize expiry and strike identifiers across venues
- Track venue-level overlays such as Deribit and OKX
- Preserve timestamps so stale levels can be diagnosed
2. Build smile coordinates
Once quotes are normalized, the system places them into smile coordinates using forward-aware strike context and log-moneyness. That creates the x-axis used by the fitted variance curves and the surface view.
3. Calibrate SVI on each expiry
Each expiry is fit independently in variance space, typically with constraints designed to reduce unstable parameter jumps and prevent obviously unrealistic shapes. This is where the raw quote cloud is transformed into a smooth curve.
- Fit a continuous variance smile from discrete market points
- Stabilize skew and curvature relative to noisy quotes
- Retain enough flexibility to follow genuine market moves
4. Derive risk nodes and tenor rows
The fitted smile supports downstream analytics: ATM context, risk reversals, flies, smile node grids, tenor interpolation, and term-structure views. These derived measures are often easier for traders to monitor than raw fit parameters.
5. Publish snapshots, patches, and diagnostics
The API broadcasts full snapshots for bootstrap and sparse patches for live updates. Alongside the surface itself, it publishes fit metrics and data-quality diagnostics so the consumer can separate true market moves from feed or calibration issues.
- Surface snapshot for initial state
- Surface patch for changed expiries
- Smile levels by exchange and quote type
- Tenor rows, RR/fly nodes, and fit-status messages