| Component | Read | Detail | Predictive weight |
|---|
| Skill | Model | Market |
|---|
| |edge| | n | Realized win | Market implied | Model claimed | Paper P&L / $1 |
|---|
| Bucket | Model | Market |
|---|
| Window | Strike | YES last | Volume | Settle value | Result |
|---|
| Level | Δ from spot | P▲ phase | P▲ hour | Implied call |
|---|
| Step | Time | Projected | Δ | P5 | P95 |
|---|
| Step | n | MAE bp | Flat MAE | vs flat | Band cover | Dir hit |
|---|
| Window | Open | Close | Δ | Range | Strikes | Hits |
|---|
| Window | T+ | Strike | Call | P@arm | P↑ fin | Edge@arm | Vote | Outcome | Hit | Kalshi |
|---|
Tape. The plotted price is a sticky-leader tape: one exchange book plots at a time — the leader, chosen by latency priority — streaming its prints at full socket speed, while the other feeds run verification. Every leader print must be confirmed by a peer within 25 bp; a leader that goes silent for 3 s or prints an unconfirmed outlier is demoted immediately and the next fresh confirmed book takes the line (the header names the live leader). No median, no aggregation, no cross-book interleave: the line is one book’s true tape, and the sources exist to police it. The internal volatility series builds from the same tape at 1-minute resolution, seeded from Kraken OHLC at load.
Feeds. Primary transport is a WebSocket stream per exchange with reconnect, backoff, and a 15 s silence watchdog; REST cross-verifies at 3 s (relaxed to ~12 s while a socket is healthy) and a REST print disputing its own socket by >25 bp flags drift. Settlement uses only prints fresh within 10 s.
Rounds. Intervals open on global time — quarter-hour wall-clock boundaries, phased 5-5-5. One strike per window, armable at any moment to T−5 s; arming over an existing strike replaces it and the prior is logged WITHDRAWN with its last odds — the record cannot be gardened. The window open is reconstructed from recorded prints at the exact boundary; settlement is a ≥⅔ vote of fresh feeds against the strike at the quarter-hour sharp (split → DISPUTED, under two voters → VOID). Calls tally against the 50% coin. Each settled window writes an interval-analysis row (open, close, Δ, realized range, strikes, hits) and the trend map reads the recent sequence. Logs are session-scoped.
Strike probabilities. Four estimators read P(settle above strike) each second: the analytic lognormal digital under EWMA volatility with martingale drift, a drift-adjusted variant, and an empirical read from historical τ-minute moves (trailing pool, overlapping samples). The analytic and drift estimators are hour-anchored — the series back-traces to the start of the containing hour, blending the hour's own realized volatility and trend with shrinkage weight n/(n+15), resetting clean at :00 so all four phases share one analytical origin; anchor state reports live below the rounds table. Headline OVER and UNDER are the median of the four; the odds at placement are frozen into each strike's record. Saturation toward 0/100 near expiry with price pinned is correct shape, not confidence. Nothing here is trading advice.
Signals. A microstructure read, recomputed each second, with every component labeled by what it can claim. Velocity is drift in bp/min over 60 s and 5 min with acceleration — descriptive; at these horizons momentum barely predicts. Regime is the AR(1) coefficient of 15-second returns over ten minutes, and its magnitude is shown as the directional read’s predictive weight, because that is what it is. Order-flow imbalance is net aggressor buy minus sell volume from the side-bearing trade streams — the legitimate form of “polling transactions” (price forms on exchange books; the chain settles ownership afterward, and transaction hashes carry no information), and the best-documented short-horizon predictor: real, signed, small. Dislocation compares the leader book to the peer cluster — an isolated gap is liquidity-driven and tends to revert under arbitrage (the honest form of an “artificial trough”); a cluster-wide move is information and tends to persist. Reaction levels map round numbers, hour open, 60-minute extremes and the strike by proximity — documented order clustering makes them zones, never calls. A fourth probability estimator, flow, tilts drift by imbalance and pulls the start price toward the peer cluster under isolated dislocation; the headline is the median of all four.
Tape extrapolation. The signals read is extended five minutes ahead at one-minute steps on its own stage. Velocity carries forward with persistence set by the regime coefficient (positive φ persists, compounded per minute; non-positive φ contributes nothing — no momentum is extrapolated into a random walk), order-flow tilt decays on a ~2-minute half-life, mean-reversion toward the 5-minute tape mean applies when the regime says so, and an isolated dislocation pulls toward the peer cluster. Every step is clamped inside 2.5σ√k and carried with its P5–P95 band. The path is pinned each minute and graded at each step as the tape arrives — error, band coverage, direction — against the flat do-nothing path, which is the only test that matters for a read: it earns its place where its error runs below flat, and the ledger says where.
Interact. TUNE opens the adjusters, persisted in this browser. Axis: zoom pad, dilation and contraction rates, the minute the close-weight begins and its strength, and context lookback — all presentation. Confidence is the extrapolation band’s nominal coverage — 90% is 1.645σ, 70% tightens to 1.04σ, 99% opens to 2.58σ — and the ledger grades the claim: coverage falling below your setting is the slider overreaching. Adherence stretches or shortens how long the signals persist across the five minutes, graded the same way. The strike map lays a ladder of levels around spot with model odds at the phase expiry and at the hour’s end; the chips load a level into the arming tray, ARM commits it. Odds are the model’s side of a trade, not profit: enter the counterparty’s quoted ¢ and the tray prints edge (model minus market, in points) and EV per stake assuming the model is right and the contract pays $1.
Kalshi. The KXBTC15M window is polled from Kalshi’s public API — the market record every 15 s
(its floor_strike is the third-party strike, TBD until the window opens), the orderbook every 3 s,
and the day’s ladder every 5 min. At each open the strike auto-loads into the arming tray (ABOVE = YES,
BELOW = NO) and the quoted ¢ tracks the best ask on your chosen side, so the edge readout runs live; ARM
remains yours. Kalshi settles on a 60-second average of the CF Benchmarks real-time index while this
instrument votes six books at the instant, so the two can disagree at the margin — settled windows attach
their official result beside our outcome in the rounds log with a ✓/✗ when the strike matched.
Kalshi’s edge allows browser requests only from kalshi.com and localhost origins, so the page needs a
path. Preferred — zero configuration: this repository carries a Pages Function at
functions/api/[[path]].js; host the same repo on Cloudflare Pages (TUNE → CLOUDFLARE PAGES SETUP
→ Connect to Git → this repo → no build command, output directory / → Deploy) and the page
finds /api on its own origin automatically — no URL to paste, and Cloudflare redeploys on every
push. Alternatives: a Worker relay URL pasted into TUNE, or serving the file from localhost
(python3 -m http.server 8080). TEST probes whichever path is active.
Edge ledger. With Kalshi connected, every window is graded whether or not you arm: each minute a snapshot records the model’s P(YES) beside the market’s YES mid and both asks; at settlement the window is scored. Skill is Brier score and log-loss for model and market side by side — the direct test of whether the model knows anything the price doesn’t. Edge bands take one entry read per window, bucket it by |model − market|, and show the realized win rate of the model-favored side against what the market implied and what the model claimed: edge is real only where realized tracks the model above the market. Calibration deciles show realized YES rates by stated probability for both. Paper P&L assumes buying the favored side at the ask with a $1 payout — an analysis figure; nothing in this tool executes. Armed strikes additionally record the quote and edge at the moment of commitment. All ledgers persist in this browser and export to CSV.
Chart. Two states, both originating where the tape begins — no dead field. Armed, the frame is the round: clock-mapped 5-5-5 marks with minute minors, dollar gridlines on round steps, the strike as a dashed line with its axis tag (level + odds at set time; off-scale strikes as edge markers), the field ghost-tinted green above the strike and red below, the tape color-keyed to its side. The y-scale dilates instantly to contain jumps and contracts slowly when calm, and from mid-window a close-weight tightens the frame around the price–strike duel so resolution reads with increasing confidence toward the mark. Idle, the frame is the rolling tape, trend-colored. Dollar gridlines are always true; the zoom is presentation only.