Skip to main content
Real-time options analytics · v 0.1.0 · 139 analytics live

Real-time Greeks,
volatility, and flow
for every options desk.

Kairos is the analytics layer between an options-market data feed and the trading desk — emitting Greeks, implied volatility, flow, gamma exposure, and toxicity on the same tick contract whether the feed is wire-live, a historical window, or a captured replay.

ModellingInstitutional-grade
ContractDeterministic ticks
Mode 01Live
Mode 02Historical
Mode 03Replay
IV surface · SPX · illustrative
Smile triptychCBOE methodv1 tick
IV % by moneyness · per expiry14.65% ATM · 45d +0.04%
Front · 14d · 06 JunATM 17.82%
16.523.029.5530055505750
Mid · 45d · 04 JulATM 14.65%
13.517.020.0530055505750
Back · 180d · 16 NovATM 13.90%
13.014.516.5530055505750
Term structure · ATM IV · 7d → 180dFront 17.82% · Back 13.90%
07d14d21d30d45d60d90d180d
Moneyness · log-strike8%32%
Analytic ticks · live
Greeks · IVBlock ≥100Ordered
T+msSymbolΔΓIVLastSizeMode
+040SPX 5550 C 06/200.5130.011414.3264.85 12LIVE
+053SPX 5550 P 06/20−0.4860.011414.4056.20142LIVE
+066NDX 19800 C 07/180.4020.008319.06142.05 28LIVE
+079AAPL 210 C 06/200.6310.022722.185.42320LIVE
+092TSLA 185 P 06/06−0.5770.041058.414.95 86LIVE
+105QQQ 470 C 06/130.5480.019018.553.82510LIVE
+118SPY 565 P 06/27−0.4420.014812.846.40244LIVE
+131META 540 C 07/180.5910.017328.0418.30 44LIVE
+144NVDA 145 P 06/06−0.4320.029147.663.10168LIVE
+157AMZN 220 C 07/180.6020.021124.919.65 62LIVE
+170IWM 220 C 06/130.5100.016617.282.18198LIVE
+183GOOG 175 P 06/27−0.4610.020323.404.05 74LIVE
Cum. GEX · window
Buys 7Sells 5Blocks 6
§ 02 / Foundations

Three pillars hold the analytic core.

Every output tick Kairos emits — across all three execution modes — derives from one engine, one modelling library, and one tick contract.

I · Modelling

Institutional-grade modelling.

Closed-form Black–Scholes Greeks with a per-chain implied-volatility solver. CBOE VIX-method surfaces. Lee–Ready aggressor classification. Easley/López de Prado flow toxicity. Implementations track the canonical literature.

BS GreeksIV cacheVIX surfaceVPIN toxicity
II · Engine

Real-time, lock-free, ordered.

Lock-free dispatch. Atomic per-symbol state. Ordering is a property of the engine, not a configuration knob — the same input tick sequence produces the same output tick sequence across every mode.

Rust enginePython SDKLock-free dispatchAtomic per-symbol
III · Posture

Vendor-agnostic by design.

Kairos is the analytic layer — not a data vendor. A single tick contract is the only integration surface; plug in any options-market data feed without wire-protocol lock-in or tape lock-in.

Single tick contractNo tape lock-inSDK · stream · batchArrow zero-copy
§ 03 / Spotlight

Implied volatility and Greeks, per tick.

Closed-form Black–Scholes Greeks paired with a per-chain implied-volatility solver and CBOE VIX-method surfaces. Emitted per upstream tick, per expiry, per contract.

Every option in the chain — every tick, every mode — carries its full Greek signature and an IV reading that survives a bit-for-bit replay against the historical tape.

  • Pricing modelBlack–Scholes · closed-form
  • IV solverCached · re-keyed by chain
  • Surface methodCBOE VIX · per expiry
  • Output cadencePer upstream tick
  • DeterminismInputs → outputs · bit-exact
  • DeliverySDK · Stream · Batch
Greek
Definition
Description
Range
ΔDelta
∂V / ∂S
Sensitivity to underlying
−1.0000 to +1.0000
ΓGamma
∂²V / ∂S²
Curvature of Delta
0.0000 to 0.5000
ΘTheta
∂V / ∂t
Decay per unit of time
per day, per option
𝓥Vega
∂V / ∂σ
Sensitivity to volatility
per 1 vol pt
ΡRho
∂V / ∂r
Sensitivity to rates
per 1% Δr
σIV
BS⁻¹(V)
Implied volatility · cached
per chain
§ 04 / Signal analytics

Derivatives signal analytics.

Five real-time signals derived from the same analytic core — emitted as their own ticks on the same contract.

01

Option flow

Per-bucket aggregated option buy / sell / mid volume and premium, side-classified via Lee-Ready against the pre-trade NBBO.

Lee-Ready
02

Stock flow

Per-bucket aggregated stock buy / sell / mid volume and dollar value, side-classified via the same Lee-Ready convention used by option flow.

Lee-Ready
03

Block trade

Threshold-based block-trade detector firing on admitted option prints that exceed the configured size or premium threshold (default 100 contracts / $25,000 premium).

Print threshold
04

Unusual volume

Z-score based unusual-volume detector over daily stock volume, with a rolling N-day baseline and one tick per session rollover.

Rolling baseline
05

IV change

Per-contract change in implied volatility over a configurable emission cadence, tracking the IV reading from an upstream IV provider.

Surface-aware
04a — SDKs

Distributed across the languages your engineering team writes in.

One Rust core, surfaced through the SDKs that options desks actually ship. Pick whichever language the callsite calls for; the tick contract is identical across every entry point.

Rust

The native crate. Embed the analytic core directly in your trading service — zero allocations on the per-tick hot path, no FFI boundary to cross. Every analytic in the catalogue is registered through the same `#[analytic]` macro.

Python logo
Python

PyO3 facade for the quant desk. Arrow record batches out of historical and replay queries, async iteration over live ticks, typed exception taxonomy. The runtime catalogue surfaces through `kairos_thetadata.ANALYTIC_NAMES`.

TypeScript

Native NAPI bindings for Node trading services. The same tick contract reaches the V8 runtime through a `.node` build; the runtime catalogue is `require('kairos-thetadata').analyticNames()`.

§ 05 / Scenario analytics

Scenario analytics.

Higher-order analytics composed from the tick core — positioning, toxicity, and historical regime markers — emitted with the same determinism contract as primitive Greeks.

06

Gamma exposure (GEX)

Aggregate dealer gamma exposure at the underlying spot, decomposed by strike. Reads the OI flatfile at boot and emits the per-strike dollar-gamma contribution on every quote.

SqueezeMetrics
07

VPIN toxicity

Volume-synchronised probability of informed trading. Equal-volume buckets classified via tick-rule or bulk-volume classification with EWMA-smoothed dispersion.

Easley / LdP 2012
08

52-week price band

Rolling 252-trading-day high / low per symbol with newhigh / newlow flags fired by live trades crossing either extreme.

Rolling baseline
09

Historical volatility

Trailing-window realised volatility (20 / 30 / 60 / 120 trading-day) annualised by sqrt(252), close-to-close on cached daily closes.

Close-to-close
10

Volatility surface

CBOE-methodology variance-strip integral over a live option chain. One call site for every underlying — bit-exact CBOE VIX on SPX/SPXW, the same variance-strip integral on every other liquid symbol.

CBOE VIX
§ 06 / Execution modes

Live · Historical · Replay.

One builder pattern, three execution modes, the same tick contract. Snippets show the Greeks surface — every analytic wires the same shape through client.live() · .historical() · .replay().

Live

Mode 01 / 03

Production. A wire-attached options feed; analytic ticks exit on the same contract as their historical and replay counterparts.

// Live: subscribe to streaming Greeks
// Cargo.toml: kairos = "0.1"
use kairos::Client;
use kairos::stream::Update;

let client = Client::connect(creds)?;
let mut stream = client
    .live()
    .greeks()
    .for_securities(["QQQ"])
    .subscribe()?;
loop {
    match stream.next_update()? {
        Update::Ready(batches) => handle(batches),
        Update::Pending => continue,
        Update::Done => break,
        Update::Dropped(e)
        | Update::Error(e) => recover(e),
    }
}
contract → Tick(t, sym, kind, payload, mode=LIVE)

Historical

Mode 02 / 03

Research. A bounded interval streamed through the same engine; outputs are bit-for-bit identical to live emission for that window.

// Historical: bounded YYYYMMDD window
// Cargo.toml: kairos = "0.1"
use kairos::Client;

let client = Client::connect(creds)?;
let batches = client
    .historical(20_260_415, 20_260_419)
    .greeks()
    .for_securities(["QQQ"])
    .run()?
    .collect()?;

// batches: Vec of Arrow RecordBatch over the
// analytic's published schema.
contract → Tick(t, sym, kind, payload, mode=HIST)

Replay

Mode 03 / 03

Audit. A captured tick log fed back in original order; output ticks reproduce the original session exactly.

// Replay: re-run against a captured parquet
// Cargo.toml: kairos = "0.1"
use kairos::Client;

let client = Client::connect(creds)?;
let batches = client
    .replay()
    .greeks()
    .for_securities(["QQQ"])
    .from_parquet("capture-2026-04-15.parquet")
    .run()?
    .collect()?;

// Same builder, same tick contract — bounded
// against the captured dataset.
contract → Tick(t, sym, kind, payload, mode=REPL)
Same builder · same analytic core · same tick contract03 execution modes
§ 07 / Verified

Verified against the codebase.

Three numbers, reconciled against the shipping artifact at release 0.1.0 — not the roadmap, not a marketing surface.

139
Analytics shipped
Flow surveillance · Volatility · Microstructure · Risk · Stat-arb · Data primitives — every entry registered in kairos_thetadata.ANALYTIC_NAMES.
03
Execution modes
One analytic core attached to three input sources — see §06
03
Delivery channels
Embedded SDK · streaming subscribe · Arrow record batch
In-process Rust2 Mconcurrent (analytic × symbol) at 12.4 M ticks / sec
Arrow IPC · Python / TS1 Mconcurrent at 5.3 M ticks / sec
Parquet sink500 kconcurrent at 4.6 M ticks / sec
Per-tick floor12 – 61 nsCvd 12.3 ns · Ohlcvc 15.4 ns · Ofi 60.6 ns

Measured end-to-end on commodity hardware (16-thread, 32 GB budget) — see docs/perf/scale-report-2026-06.md.

Bit-for-bit reproducibility is the contract.

Live, historical, and replay are not three implementations of the same idea. They are one analytic core attached to three different input sources. The same input ticks produce the same output ticks — across modes, across machines, across release boundaries within a major version.

This is a posture, not a feature. Every analytic Kairos ships is held to it. An analytic that cannot honour the contract does not enter the catalogue.

The consequence is operational. A signal observed live can be reconstructed historically; a session observed in production can be replayed against an updated analytic and the difference attributed precisely to the analytic, not to the path. Research and production stop being separate problems.

Kairos · The Opportune Moment

Greek for the right time. Not chronological time. Decisive time.

In ancient Greece, kairos meant the opportune moment — the instant at which action and circumstance align. Hippocrates wrote that the physician acts in kairos. Modern markets work the same way. The signal you need is the one that arrives in kairos — when the tick lands, when the surface shifts, when the dealer book turns. Kairos is built around that idea: deterministic ticks delivered in the moment they matter, not chronologically batched.

§ 10 / Engagement

Institutional only.

Kairos sells to institutional desks. Two engagement models, one analytic core. Pricing is bespoke and discussed directly.

Pricing is bespoke and provided on request.Kairos is the analytic layer — we do not resell market data.

Cap-aware subscription gates: the catalogue runs on the ThetaData Standard tier within the published per-(SecType, StreamKind) subscription caps, with the chain-wide pair as the exception. The ThetaData Pro tier lifts those caps, adds the `full_stream` trade modality, and unlocks that pair — Volatility and the Greeks chain-snapshot variant — which needs a hot grid across the strike book. Upstream tier reference thetadata.net/subscribe.

Integration surface · Bring your own feed

Kairos plugs into the data feeds your desk already runs.

Compatible with the major options-market data providers. The tick contract is the only integration surface — bring your own wire, your own tape, your own entitlements.

§ 11 / Contact

Talk to engineering.

Conversations start with the people who built the analytic core, not a sales funnel. Reach out and we’ll route directly.

For institutional deskscontact @ kairos-systems.com