Skip to main content
Real-time options analytics · v 2026.05 · 14 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 / 14

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 / 14

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 / 14

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 / 14

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 / 14

IV change

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

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.

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.

§ 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 / 14

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 / 14

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 / 14

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 / 14

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 / 14

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 = { package = "kairos-thetadata", version = "3" }
use kairos::{AnalyticsClient, AnalyticsConfig};
use thetadatadx::auth::Credentials;
use futures::StreamExt;

let creds = Credentials::from_file("~/.config/thetadata/creds.toml")?;
let client = AnalyticsClient::connect(
    creds, AnalyticsConfig::production()
).await?;

let mut stream = client
    .greeks()
    .for_contracts(["QQQ"])
    .subscribe()
    .await?;
while let Some(tick) = stream.next().await {
    handle(tick);
}
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 = { package = "kairos-thetadata", version = "3" }
use kairos::{AnalyticsClient, AnalyticsConfig};
use kairos::analytics::greeks::{Greeks, GreeksSpec};
use kairos::selectors::ContractFilter;
use kairos::framework::DefaultSpec;

let client = AnalyticsClient::connect(
    creds, AnalyticsConfig::production()
).await?;
let spec = <Greeks as DefaultSpec>::default_spec(
    ContractFilter::Symbols(vec!["QQQ".into()]),
);
let stream = client
    .historical()
    .with_default_mdds_source()?
    .greeks()
    .for_contracts(["QQQ"])
    .query(spec, 20_260_415, 20_260_419)
    .await?;
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 = { package = "kairos-thetadata", version = "3" }
use kairos::{AnalyticsClient, TickDataset};
use kairos::analytics::greeks::{Greeks, GreeksSpec};
use kairos::selectors::ContractFilter;
use kairos::framework::DefaultSpec;

let dataset = TickDataset::from_parquet(
    "capture-2026-04-15.parquet",
)?;
let spec = <Greeks as DefaultSpec>::default_spec(
    ContractFilter::Symbols(vec!["QQQ".into()]),
);
let stream = client
    .replay(dataset)
    .run::<Greeks>(spec)
    .await?;
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 2026.05 — not the roadmap, not a marketing surface.

14
Analytics shipped
Greeks · Volatility · OHLCVC · Option flow · Stock flow · Enriched trade · Moneyness slice · GEX · IV change · Block trade · HVOL · 52w band · Unusual volume · VPIN
03
Execution modes
One analytic core attached to three input sources — see §06
03
Delivery channels
Embedded SDK · streaming subscribe · Arrow record batch

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.
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