The Edge That Wasn't
All 81 experiments › #40

#40 — Multiscale Price Shock (MSP) propagation

2026-05-21 (Session 069 + continuations); verdict refined Session 071
Verdict: mixed · 🟡 mixed — real cross-scale structure, predicts volatility not direction
Fine-scale volatility shocks Granger-cause coarse-scale shocks 50-100s later (15/15 band pairs, p<0.0001) and shock TIMING is predictable at AUC 0.73-0.88 — but direction stays near coin-flip, so nothing clears the spread standalone.

Hypothesis — what it tests

Do volatility shocks at fine time scales propagate to coarser scales with a predictable lag (Granger causality), and can that cascade be converted into a tradeable timing and/or direction signal net of spread?

Description

A full research pipeline testing whether volatility shocks propagate up a scale hierarchy in FX, adapted from the academic multiscale-microstructure framework. S5 bars were decomposed into rolling time-window features (5s to 1h TR-rate, MAD z-score shock flags) and DWT wavelet bands D1-D8; phases covered descriptive lift tables, Granger causality and transfer entropy, walk-forward predictive models, and a trading test. The headline positives: all 15 fine-to-coarse band pairs pass Granger causality at p<0.0001 with 50-100s lags, and a 13-feature model predicts D5 (80-160s scale) shock occurrence 110 seconds ahead at AUC 0.73-0.88 with 5-7x top-decile lift. The headline negative: direction models plateau at AUC 0.60-0.665, and the best joint timing+direction model (EUR_USD GBM) nets only +0.49p per trade after the ~3.2p round-trip spread — real structure, insufficient edge. A Phase-10 attempt to gate FIFO-Trends entries with the shock signal failed on a timescale mismatch (M5-resolution DWT filtered 99.9% of trades) plus a P&F kernel bug; the final Session-071 verdict was 'signal real but too sparse — not deployable standalone, best used as a volatility-regime filter'.

Key result

Granger 15/15 band pairs p<0.0001 at 50-100s lags; Phase-7 timing AUC 0.73-0.88, lift@P90 4.7-7.7×; direction AUC 0.60-0.665 (joint EUR_USD GBM all folds ≥0.60, cont_top 77.3%); EV post-spread +0.49p mean (one fold negative) vs 3.2p RT spread; Phase-10 FIFO filter removed 99.9% of trades

Indicators

DWT wavelet bands D1-D8 (db4)True Range rateMAD z-score shock flagsEMA/Kalman velocitysession bucketsspread ratiotick-count windows

Algorithms

discrete wavelet transform (PyWavelets db4)Granger causality / VARtransfer entropylogistic regressionGBM / LightGBMtemporal walk-forward with embargoNumba JIT feature computation

Code

Interactive version (search, filters, figures): the experiment explorer.

← #39 Dashboard momentum signals tab#41 Central trades DB + infrastructure →
This page is one experiment from the audited record behind the book The Edge That Wasn'tget the book · about the project.