SPB Git

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%
4.2 KB

# project: anomaly-atlas document: Phase 1 notes — microstructure noise & data artifacts author: Simon-Pierre Boucher contact: contact@spboucher.ai data_source: hfmarketdata.io created: 2026-08-12 status: reviewed

# Market microstructure & artifacts (§4.3 — feeds the taxonomy)

Phase 1 literature notes. Citations verified via OpenAlex, accessed 2026-08-12. Cross-references: research/artifact_taxonomy.md (T1–T7), expB measured magnitudes.

# 1. Bid-ask bounce (taxonomy T1)

  • Roll, R. (1984). A Simple Implicit Measure of the Effective Bid-Ask Spread in an Efficient Market. Journal of Finance 39(4), 1127–1139. https://doi.org/10.1111/j.1540-6261.1984.tb03897.x — spread = 2√(−autocov₁). Implemented in validation/artifacts.py; expB found it undefined (positive autocov) for mega-caps at 1min — a known Roll limitation, not an anomaly.
  • Blume, M. E. & Stambaugh, R. F. (1983). Biases in computed returns: an application to the size effect. Journal of Financial Economics 12(3), 387–404. https://doi.org/10.1016/0304-405x(83)90056-9 — bounce in closing prices inflates equal-weighted portfolio returns; roughly halved the size effect. Warning: portfolio-level statistics inherit ticker-level bounce.

# 2. Stale prices & non-synchronicity (T2, T3)

  • Fisher, L. (1966). Some New Stock-Market Indexes. Journal of Business 39(S1), 191–225. https://doi.org/10.1086/294848 — stale constituent prices induce spurious index autocorrelation ("Fisher effect"). Our SPX-lags-SPY measurement (+0.065 at 1min) is this, live.
  • Scholes & Williams (1977), Epps (1979), Lo & MacKinlay (1990) — see mean-reversion/lead-lag notes; the artifact-vs-anomaly frontier for Q2.

# 3. Microstructure noise & realized measures

  • Zhang, L., Mykland, P. A. & Aït-Sahalia, Y. (2005). A Tale of Two Time Scales. JASA 100(472), 1394–1411. https://doi.org/10.1198/016214505000000169 — realized variance from finest-scale returns is dominated by noise; two-scales estimator fixes it. For us: 1min realized-vol features must use subsampling or noise correction.
  • Aït-Sahalia, Y., Mykland, P. A. & Zhang, L. (2005). How Often to Sample a Continuous-Time Process in the Presence of Market Microstructure Noise. Review of Financial Studies 18(2), 351–416. https://doi.org/10.1093/rfs/hhi016 — naive answer: sample sparsely (5min); better: model the noise.
  • Hansen, P. R. & Lunde, A. (2006). Realized Variance and Market Microstructure Noise. JBES 24(2), 127–161. https://doi.org/10.1198/073500106000000071 — noise is time-varying and correlated with the efficient price; iid-noise corrections are themselves biased.
  • Bandi, F. M. & Russell, J. R. (2006). Separating microstructure noise from volatility. Journal of Financial Economics 79(3), 655–692. https://doi.org/10.1016/j.jfineco.2005.01.005 — moment-based separation of noise vs integrated variance.
  • Bandi, F. M. & Russell, J. R. (2008). Microstructure Noise, Realized Variance, and Optimal Sampling. Review of Economic Studies 75(2), 339–369. https://doi.org/10.1111/j.1467-937x.2008.00474.x — MSE-optimal sampling frequency.

# 4. What our dataset adds/changes

  1. We have bars, not quotes/trades: all noise corrections must work from 1min OHLCV. Roll-type estimators (from closes) and high-low estimators (see transaction-costs notes) are the available instruments.
  2. expA's dataset-specific artifacts (auction-close mismatch T4, rolling adjustment anchor T5, volume-convention mismatch T6, session semantics T7) are NOT in this classic literature — they are vendor-layer artifacts and belong to our taxonomy as original documentation.
  3. Hansen–Lunde's endogenous-noise warning applies directly to expC: bounce-null subtraction assumes independence between noise and efficient price; report sensitivity.

# 5. Implications

  • Realized-vol-based hypotheses (Q1/Q3 conditioning variables) must use 5min-subsampled or two-scales estimators, never raw 1min RV.
  • Any portfolio-level result needs the Blume–Stambaugh check: recompute with bounce-robust prices (e.g., mid-of-day anchors) before believing it.
  • Index-based lead-lag (SPX family) is presumptively Fisher-effect until proven otherwise.