spb/anomaly-atlas Public License
Systematic discovery & rigorous validation of statistical anomalies in open HF market data (hfmarketdata.io) — pre-registered, artifact-null-driven, fully reproducible. Live atlas: www.anomaly-atlas.io
Python 61.4%
JavaScript 28.7%
CSS 8.6%
Shell 0.7%
Makefile 0.5%
1---2project: anomaly-atlas3document: Research gaps4author: Simon-Pierre Boucher5contact: contact@spboucher.ai6data_source: hfmarketdata.io7created: 2026-08-128modified: 2026-08-129status: reviewed10---1112# Research gaps (Phase 3) — 22 testable hypotheses1314Each hypothesis: **(a)** what existing work shows, **(b)** what is untested15on open HF data at this granularity, **(c)** why it matters, **(d)** plausible16mechanism, **(e)** biggest artifact/statistical reason it would be fake,17**(f)** smallest Mac-runnable falsifying experiment. Every hypothesis has an18explicitly constructable artifact null (charter §6 requirement). Format19compresses (a)–(f) into labeled lines.2021The hypothesis *count* here is the multiple-testing budget input for expF —22expanding this list later requires a LOG entry and re-budgeting (§12).2324## Family R — Mean-reversion (Q1)2526### H01 — Liquid-name 1–60 min reversion is zero net of bounce27(a) Chordia et al. 2005: arbitraged within minutes by 2005. (b) Never28measured net of a *measured* bounce null on open 1min data 2000–2026.29(c) Anchors the whole survival curve; expected-negative. (d) None expected —30that is the point. (e) T1 bounce; T2 staleness. (f) VR/AC1 on 20 pre-specified31liquid names × 4 sub-periods vs expB bucket nulls; falsified if excess32reversion CI excludes 0 anywhere.3334### H02 — Daily individual-stock reversal decay curve 2000–202635(a) Lehmann/Jegadeesh gross reversal; Blume–Stambaugh: bounce halves it;36McLean–Pontiff decay. (b) The *net-of-measured-bounce* decay path on open37data. (c) Cleanest decay re-measurement. (d) Liquidity-provision compensation38shrinking with spreads. (e) T1 (dominant), T4. (f) Weekly-rebalanced reversal39deciles, both close conventions, net of EDGE spread; falsified (as decay40story) if net effect is stable across sub-periods.4142### H03 — Index VR momentum has converged to 1; residual = Fisher artifact43(a) Lo–MacKinlay VR>1 (1988); Fisher 1966 stale-index bias. (b) SPX-vs-SPY VR44divergence as a direct artifact quantification. (c) Methodological: measures45the Fisher share. (d) Stale index prints. (e) T2/T3 — deliberately the object46of study. (f) VR(q∈{2,5,10,30}) on SPX vs SPY 1day+30min, 2008–2026; the47artifact claim is falsified if SPX VR ≈ SPY VR.4849### H04 — Post-jump 1min overreaction reversal50(a) Overreaction literature is daily+; intraday jump reversion is mostly HFT51lore. (b) Reaction after >5σ 1min idiosyncratic moves on open data, net of52bounce (jumps widen spreads — the null must be *conditional* on the jump).53(c) Tests overreaction where attention is scarcest. (d) Liquidity vacuum then54refill. (e) Conditional bounce inflation (spread doubles at jumps → mechanical55reversal). (f) Event study on pre-specified jump definition, conditional Roll56null from post-jump spread estimates; ±CI on excess reversal.5758### H05 — Crypto 1min reversion (no auction, 24/7, younger market)59(a) Crypto microstructure literature is thin and exchange-specific. (b) Open601min BTC/ETH reversion with a constructable bounce null, 2013–2026 maturity61sweep. (c) Tests the "young markets are less efficient" prior cleanly.62(d) Retail flow + fragmented liquidity. (e) T1 (vendor aggregation may smooth63prints); volume field semantics unverified. (f) Same battery as H01 on64BTC/ETH/top-10, by year; falsified if excess reversion ≈ 0 across all years.6566### H06 — FX 1min reversion at session boundaries67(a) FX microstructure well-studied on proprietary data. (b) Open 1min FX68around the 17:00 ET roll and fixings. (c) Session-boundary liquidity is a69mechanism magnet. (d) Dealer inventory at rollover. (e) T7 session semantics;70sparse Sunday bars (expA: single 00:xx bar). (f) AC1/VR by hour-of-week grid71(pre-counted), permuted hour-labels null.7273## Family L — Lead-lag (Q2)7475### H07 — Large→small lead-lag: decay + artifact share76(a) Lo–MacKinlay 1990; Scholes–Williams artifact. (b) Joint decay curve AND77staleness-share decomposition on open data 2000–2026. (c) Settles how much of78a textbook effect was ever real. (d) Slow information diffusion. (e) T3 —79measured in expB (+0.047 mid-tercile). (f) Size-decile xcorr on both-fresh80subsamples vs staleness-matched null, per sub-period.8182### H08 — SPY → sector ETFs at 1min is zero on fresh pairs83(a) Index→constituent diffusion literature (daily, older). (b) ETF↔ETF at841min on open data. (c) Expected-negative control extending H07 to the most85liquid pairs. (d) None expected. (e) T3 residual staleness in low-volume86sector ETFs. (f) xcorr SPY↔{XLF,XLE,XLK,…} both-fresh, staleness null;87falsified if any |lead| beats null after FDR.8889### H09 — ES futures → SPY at 1min: does any ordering survive the floor?90(a) Sub-second futures lead is established (proprietary data). (b) Whether91ANY of it is visible at the 1min floor on open data, and whether the futures92splice variant changes the answer. (c) Structural price-discovery question93our data can just barely reach. (d) Futures-first discovery. (e) T3/T794session mismatch; splice artifacts (3 variants = built-in robustness check).95(f) ES↔SPY xcorr 09:31–15:59 both-fresh, all 3 adjustments, sub-periods962008–2026.9798### H10 — Crypto weekend return predicts Monday open gap of crypto-exposed equities99(a) Effectively untested on open data; related overnight-information papers.100(b) The full 24/7→session-open information relay. (c) One of the few genuinely101NEW questions this dataset can pose. (d) Equity prices cannot move while102crypto does. (e) Selection of "exposed" set post-hoc (must pre-register:103e.g. COIN, MSTR, RIOT, MARA, HUT + placebo set); overlapping market-wide104weekend news (control: SPY gap). (f) Regress Monday open gap on BTC weekend105return vs placebo set + permuted-weekend null; ~400 weekends.106107### H11 — SPX→SPY "lead" is 100 % staleness artifact108(a) Fisher 1966. (b) Direct decomposition at 1min on open data (expB seed:109+0.065). (c) Publishable artifact demonstration (charter result-type C/D).110(d) Index print lag. (e) None — the artifact IS the claim. (f) Show the lead111disappears when SPX grid is lagged by its print-latency estimate; falsified112if a residual lead survives the correction.113114### H12 — Daily options-chain activity → next-day underlying volatility115(a) Options volume→volatility literature (mixed, mostly intraday quotes).116(b) With *daily* chains only: does aggregate chain volume/OI change add to a117HAR-RV vol forecast? (c) Uses the dataset's unique options depth; forecasting118vol (not returns) dodges the efficiency prior. (d) Informed vol trading.119(e) Mechanical volume–vol contemporaneity (must be strictly lagged);120HAR benchmark must be strong. (f) HAR-RV ± options features, Diebold–Mariano121with block bootstrap, pre-2020 train / post-2020 validation.122123## Family C — Calendar (Q3)124125### H13 — Turn-of-month survived 2006–2026126(a) Ariel; Lakonishok–Smidt; Marquering et al.: last survivor as of 2006.127(b) Its post-2006 fate on open data. (c) THE calendar re-test. (d) Pension/128payroll flows. (e) Calendar p-hacking (window choice) — ONE pre-registered129window (−1..+3); OpEx overlap. (f) SPY daily 2000–2026, permuted-calendar130null, SPA vs full window universe, sub-periods.131132### H14 — Monday effect stays dead (negative control)133(a) French 1980; decayed per Schwert/Marquering. (b) 2000–2026 open-data134confirmation. (c) Calibrates the calendar pipeline on a known corpse — if we135"find" it, the pipeline is broken. (d) None. (e) T4/T7 conventions. (f)136Day-of-week means + permuted null; expected inside null bands.137138### H15 — Intraday momentum (Gao) post-publication decay139(a) Gao et al. 2018 (in-sample 1993–2013); Baltussen 2021 mechanism. (b) The1402018–2026 out-of-sample fate — untouched by the original authors, perfectly141measurable here. (c) Textbook McLean–Pontiff test at intraday scale. (d)142Gamma hedging → should persist when dealer gamma is short. (e) Overnight-gap143spec choice; U-shape spread costs at both trade times. (f) Frozen published144spec on SPY 30min bars, split pre/post-2018, gamma-state proxy from our145options chains; DSR-corrected.146147### H16 — Overnight premium is (partly) a close-convention artifact148(a) Overnight-vs-intraday split literature. (b) Sensitivity of the premium to149close/open conventions quantifiable with both series (T4: 8bp/day discrepancy150seed). (c) Convention share of a famous stylized fact. (d) Auction dynamics.151(e) The artifact is the object. (f) Recompute premium under 4 convention152combos on 20 liquid names + SPY; report the spread of estimates.153154### H17 — Crypto "weekend effect" with permuted-calendar null155(a) Anecdotal/thin literature. (b) Systematic day-of-week/hour-of-week on156open 24/7 1min data 2013–2026 with honest correction. (c) Only market with157no session artifacts — the cleanest calendar laboratory. (d) Retail weekend158flow. (e) Pure MT risk (168-hour grid!) — strict pre-count + FDR + SPA.159(f) Hour-of-week grid on BTC/ETH, permuted labels, FDR; survivors → SPA.160161### H18 — Holiday-adjacent effects are dead162(a) Lakonishok–Smidt documented; decayed per Marquering. (b) 2000–2026163confirmation, pre-holiday and post-holiday, exchange calendar from data164gaps. (c) Completes the calendar corpse count. (d) None expected. (e) Small-n165(≈9 holidays/yr) → low power, wide CIs; report power explicitly. (f) Event166windows vs permuted-date null.167168### H19 — DST-transition week distortions169(a) Sparse literature (sleep/mood papers, disputed). (b) At 1min: does the170hour-of-day return/vol profile mis-align in DST weeks (a T7 check that could171also be a mild real effect)? (c) Doubles as a data-integrity test. (d)172Clock-relative order flow. (e) OUR OWN timestamp handling (T7) — the test173must first prove the pipeline handles DST. (f) Compare DST-week intraday174profiles vs adjacent weeks, permuted-week null.175176## Family V — Volatility & structure (supporting)177178### H20 — Intraday bounce/staleness profile (U-shape of the artifact)179(a) Wood et al. U-shape. (b) The intraday profile of OUR bounce null —180taxonomy open item. (c) Input required by expE/expG; positive control.181(d) Known microstructure. (e) None. (f) Roll/EDGE spread by half-hour bucket182on the expB universe.183184### H21 — Realized-vol persistence (positive control)185(a) HAR-RV: overwhelming evidence of vol persistence. (b) n/a — we USE it as186the pipeline's positive control: a detector that misses vol persistence is187broken. (c) Guards against over-aggressive nulls (Type II). (d) Volatility188clustering. (e) Noise-biased RV (use 5min subsampling per Zhang et al.).189(f) HAR-RV R² on SPY must be strongly positive OOS; failure = pipeline bug.190191### H22 — OpEx-week patterns in volume/vol (options-expiration calendar)192(a) Practitioner lore + some evidence on pinning. (b) With actual expiration193calendars from our chains: volume/vol/return patterns on OpEx Fridays vs194matched Fridays. (c) Mechanism-rich calendar effect with a natural control195group. (d) Hedge unwinds. (e) Confound with turn-of-month (H13) and196quarter-end — joint design needed. (f) OpEx vs non-OpEx Friday panel,197permuted-Friday null.198199---200201**Budget declared: 22 hypotheses** (+ their pre-specified parameter grids,202enumerated in each experiment's hypothesis.md). Preference for prototyping203goes to hypotheses with the cleanest nulls and highest information value per204CPU-hour (Phase 4 ranking → `candidate_ranking.md`).205