QuantLink AI · Derivatives

An options desk, built into the stock page.

Kanav built and shipped QuantLink's Options workspace: 104 analytics views behind one toolbar, from a mirrored options chain to an interactive 3D implied-volatility surface, skew and term structure. He delivered it across the product's data layer, API and web app, then profiled the volatility-surface pipeline and cut a cold catalog load from 6.2 s to 1.4 s.

Every options lens, one toolbar.

A single declarative spec drives the whole tab: each view binds one dataset to one presentation, so new analytics ship as configuration rather than new pages.

  • 104 views across chain, analytics, flow, market context and contract detail, drawn as tables and line, bar, scatter and heatmap charts, with grouped calls / puts columns and one-click quotes and Greeks presets.
  • Four volatility views: an interactive 3D implied-volatility surface (Three.js / React Three Fiber), a volatility topography, multi-expiry skew and ATM term structure, tunable by DTE window, strike-to-spot band, expiry count, OTM / calls / puts layer and quote-quality filter. Rendered from a real 1,444-row NVDA board.
  • A mirrored chain (calls, pinned strike, puts) with a spot-price marker and a windowed viewport above 150 contracts; clicking any bid or ask opens that contract's price, session VWAP and volume views. Heavy 3D renderers load lazily, so the stock page stays fast.

Three codebases, one contract.

  • Data layer (830 files): a dedicated options data transport that meters vendor egress per HTTP call (a cache hit costs nothing) and caps every leg at the request's remaining deadline, plus 14 fetch handlers, 10 datasets and 247 registered fields. The 134 options tests pass fully offline, behind a dead proxy.
  • API (FastAPI): component-spec and visualization-spec routers and a rate-limited expirations lookup that fail closed with precise 422 / 502 / 503 answers, with row data streamed to the browser as Apache Arrow IPC.
  • Web (React / TypeScript, 138 files): moved the options tables onto the product's shared table component, which had 57 consumers and no direct tests. Kanav added a 22-test baseline and six default-off props, proved byte-identical output across 17 real-consumer configurations, and checked every cell of a 35-row chain against the original renderer.

Measured first, then made fast and honest.

Instead of raising timeouts, Kanav profiled the volatility-surface request stage by stage and optimized what the numbers showed.

  • Profiling traced cold-start cost to a pure-Python parse of a 4 MB, 6,594-field catalog. Switching to the C-accelerated safe YAML loader (same safety policy) cut fresh-process hydration from 6.2 s to 1.4 s and setup from 13.3 s to 7.2 s, with the hydrated output verified byte-identical.
  • Stage-level timing telemetry across each step of a request (authorization, catalog, typed fetch, first Arrow batch, serialization), privacy-safe by design: run ID, stage label and elapsed milliseconds only. The last started stage stays visible even when a worker is killed.
  • Clear refusals: a request that fails before its first Arrow chunk returns a structured error with its run ID through one shared helper; the invariant suite grew from 29 to 93 tests, and removing the guard fails 38 of them.