Technology
The engine, not the market.
Every study we publish runs on one domain-agnostic core: reconstruct a fair price across sources, measure who leads and where they diverge, reject artifacts, and validate against a proper statistical null. A new market is not new code in the core — it is a thin adapter that reuses the core unchanged. That reusability is the intellectual property, and we demonstrate it rather than assert it.
Architecture
One core, a thin adapter per market.
Fair-value reconstruction
A robust consensus price is rebuilt from every source, and structural distortions — such as a stablecoin trading off its peg — are stripped out first, so what remains is a genuinely like-for-like comparison rather than an artifact of the units.
Cost band
A deviation only matters if it clears the round-trip cost of acting on it. We draw an explicit band per fee tier — retail, mid, institutional — so a gap is judged for economic reality, not just statistical size.
Lead-lag (Hayashi-Yoshida)
Which venue moves first, and by how long, is measured with the Hayashi-Yoshida estimator — the correct tool for asynchronous, irregularly-spaced tick data, where naive fixed-interval correlation is mathematically blind to who led.
Phantom filtering
Frozen, stale, crossed, or uncorroborated quotes are rejected with a robust median-and-deviation guard before anything is called a signal, so a data artifact is never mistaken for a genuine dislocation.
Surrogate-null validation
Every claimed structure is tested against an increment-shuffle surrogate — a series with its mean-reversion destroyed but its step sizes kept — with parameters fixed in advance. Real structure has to beat the surrogate; nothing is tuned to the result.
The adapter contract
A new market is three things and nothing more: a config (venues, fees, constants), fetchers that return a time-indexed price series, and a normalize step that puts every source into a common unit. The core is never edited — a new market is a new adapter.
Proven reuse
The same core, carried across ten markets.
Each of these is a new adapter — a config, a set of fetchers, a normalize step — on top of the identical, unedited core. Four resolved to built case studies; six to honest methodology results. The reuse claim is the list itself.
Cross-exchange spot
BTC across Binance and Coinbase — efficient, yet provably cointegrated, replicated across six windows.
Read the analysis →
Case studyPerpetual-spot basis
BTC, ETH and SOL — the majors efficient, funding-tethering replicated across six windows, SOL's apparent difference window-specific.
Read the analysis →
MethodologyTriangular no-arbitrage
ETH/BTC direct versus implied — consistent to within one quote tick, provably sub-cost.
Read the analysis →
MethodologyStablecoin peg integrity
USDT and USDC against $1 — venues agree closely while the discount drifts.
Read the analysis →
Case studyEnergy — day-ahead vs real-time
CAISO wholesale power — a genuine day-ahead premium and a predictable basis, reproduced on a second independent grid (NYISO); the first non-crypto market on the same core.
Read the analysis →
Case studySovereign rates — US/euro-area
US Treasury and euro-area AAA 10-year yields — coupled across three seven-year blocks and robust to a top-5% vol trim; dominated by same-day co-movement, the one-day-lag piece measured as coupling, not leadership.
Read the analysis →
MethodologyAlt cross-exchange lead-lag
SOL on two venues — an honest null at fraction-of-a-second resolution.
Read the analysis →
MethodologyDEX vs CEX lead-lag
On-chain pool versus order book — the adjustment completes inside one block.
Read the analysis →
MethodologyRetail fuel — France
~9,600 French fuel stations — the apparent local price convergence fails a geography placebo; a prior-confirming signal, correctly rejected.
Read the analysis →
MethodologyCloud spot — cross-AZ
AWS spot across availability zones — cross-zone coupling is not separable from a shared regional factor by this design; closed pre-data.
Read the analysis →
Case study = built and shown. Methodology = capability we apply, kept at research level — a correct null is a successful test of the instrument, not a failure.
The method, in depth
Why the results are trustworthy.
The Approach page gives the five-step overview. Here is the quant-grade version — the estimators, the null, and the discipline that separates a real read from a forking-paths artifact.
Asynchronous lead-lag
Venues print on their own clocks, so co-movement measured on a shared time grid collapses toward zero purely from asynchrony (the Epps effect), not from any real absence of signal. The Hayashi-Yoshida estimator uses every overlapping-interval return product with no synchronization or interpolation, and the shift that maximizes the cross-correlation is the lead. We report it with the resolution floor of the data attached — a lead below the sampling grain is stated as unresolved, not invented.
The surrogate null
The honest question is never whether a gap converges, but whether it converges faster than chance. The null is an increment-shuffle surrogate: shuffle the series' step increments, which destroys mean-reversion while preserving the step-size distribution, giving a random-walk twin. Real structure has to clear the surrogate on a pre-registered test; a gap that only matches its surrogate is a random walk, and we say so.
Pre-registration & forking paths
Thresholds, horizons, windows and venue sets form a large grid, and quietly picking the cell that looks best manufactures false positives. Every parameter is fixed and logged before the data is seen, the verdict is read at one pre-declared cell, and a result that would confirm a prior — or that would be profitable if true — earns more scrutiny, not less.
Phantom & artifact rejection
Before a deviation is believed it must survive a battery of guards: stale or frozen quotes, crossed or locked books, thin top-of-book, single-venue spikes with no corroboration, and block-quantization artifacts on chain. Each domain also carries a control that reproduces the artifact it most fears and confirms the engine rejects it.
Verify-first & self-test
No adapter is written until a real data payload has been inspected and its fields, units and timestamps confirmed — assumptions about data shape are where silent errors live. Every component then ships an offline self-test that injects a known signal and a known artifact and asserts the engine keeps one and rejects the other, and it must pass before any live run.
Stack & reproducibility
The engine is a Python core with a per-market adapter, run on free public data and version- controlled end to end; the site is a static Astro build on Cloudflare. Every figure regenerates from public sources, every component carries an offline self-test, and every parameter is fixed before the data is seen. The discipline — refusing to believe a signal that isn't real — is the deliverable.