{"id":"96662a99-0010-4e7e-93b0-0ad197e7ea4a","authorId":"08398a34-26f5-4992-82de-0cfba0302908","title":"Volatility compression predicts persistence, not expansion","slug":"volatility-compression-predicts-persistence-not-expansion","excerpt":"Preregistered falsification: BTCUSDT compression (RV/ATR/range/BB) predicts smaller subsequent |returns|, not expansion. Median event ratio 0.775 across 60 cells. Q1 failed → REJECTED. No directional strategy built.","content":"# Volatility compression predicts persistence, not expansion\n\n**Verdict:** REJECTED · **Asset/TF:** BTCUSDT 15m / 1h / 4h (+ 5m supplementary) · **Sample:** ~2019-09 → 2026-08 (~7y); 5m last 2y only\n\nHypothesis (preregistered, not Sharpe-mined): after unusually compressed volatility, a large move becomes more likely; direction might appear only when compression is combined with the preceding market state.\n\nThree questions were separated in advance:\n\n1. Does compression predict future magnitude?\n2. Does compression + state add directional information?\n3. Can that survive costs as a tradeable rule?\n\n**Q1 failed. We stopped. No Q2, no Q3, no ETH/SOL, no RLXBT strategy search.**\n\n## Fundamental Effect\n\nFour compression definitions, causal rolling percentiles (500-bar), compressed = pct < 10, events = start of consecutive compressed runs. Horizons 1/3/6/12/24. Chronological 60/20/20. Large-move threshold frozen on discovery only.\n\nAcross **60** validation gate cells (4 families × 3 TFs × 5 horizons), median event mean-ratio of `|future log return|` (compressed / unconditional) was **0.775**. Only **2/60 (3.3%)** exceeded 1.10. Median P(large move) lift **0.511**. Future RV and range ratios median ~**0.78**, **0%** above 1.10.\n\nOn 15m/1h at H=6, all-bar percentile buckets are **monotone the wrong way** (Spearman +1.0): stronger compression → **smaller** subsequent absolute returns (0–5% bucket ≈ **0.61–0.69×** the 40–60% bucket). That is volatility **persistence**, not squeeze-then-expand.\n\n5m (last 2y, supplementary): same failure, median ratio **0.776**.\n\n## Directional Information\n\nNot tested. Preregistered stop: if Q1 fails, do not manufacture a directional story.\n\nAblation A/B/C/D, continuation vs mean-reversion, and C vs B were never run.\n\n## Trading Results\n\nNone. No strategy was built.\n\n## OOS / Stability / Regimes / Cross-Asset\n\nFinal OOS was not used to refine anything; Q1 already failed on validation. No parameter plateau search. No ETH/SOL. No WFA/MC.\n\n## Falsification\n\nThe narrative “compression → larger expansion” is contradicted by the numbers: compressed states are followed by **quieter** magnitude, not louder. A lucky single threshold did not appear; the whole family fails.\n\n## Look-Ahead Audit\n\n- Rolling RV/ATR/range/BB ratios: past-only windows — YES\n- Causal 500-bar percentile — YES\n- Large-move decile from discovery only — YES\n- Chronological splits, no shuffle — YES\n- Full-dataset normalization — NO (not used)\n\n## Final Verdict\n\n**REJECTED**\n\nCompression, as defined here, does not predict subsequent volatility expansion on BTCUSDT. The measured association is persistence: quieter now, quieter next. Because the magnitude premise fails, direction and trading claims were not tested. This is useful negative research: the squeeze narrative should not be the default entry story for this feature family. Reproduce from Binance OHLCV and `/workspace/rlxbt-server/data/compression_q1_results.json` with the prereg in `research-log-compression.md`.\n","coverImage":null,"status":"published","publishedAt":"2026-08-27T07:08:03.351Z","backtestResults":{"bars":61218,"asset":"BTCUSDT","metrics":{"sharpe":null,"trades":0,"win_rate":null,"max_drawdown":null,"total_return":null},"verdict":"overfit","strategy":{"exit_rules":[],"entry_rules":[]},"timeframe":"1h","robustness":{"sensitivity_top_param":"not_run","walk_forward_efficiency":null,"monte_carlo_risk_of_ruin":null},"tools_used":["load_dataset"],"robustness_complete":false},"researchManifest":null,"viewCount":2,"likeCount":0,"metaTitle":null,"metaDescription":null,"createdAt":"2026-08-27T07:08:03.352Z","updatedAt":"2026-08-27T08:36:51.276Z","author":{"id":"08398a34-26f5-4992-82de-0cfba0302908","name":"Serg","picture":"https://lh3.googleusercontent.com/a/ACg8ocKJfy0qxMGacsuTCbRKqF2-Ahj7AqOXwzIJU2wBJye6JmKsh8A=s96-c"},"tags":[{"id":"5fac435d-12ca-4073-bafc-ebcb3c68f110","name":"research","slug":"research","color":"#6366f1","createdAt":"2026-08-27T07:08:03.357Z"},{"id":"0e9b555c-fa99-4eff-8c0d-c0c7603aa41c","name":"robustness","slug":"robustness","color":"#6366f1","createdAt":"2026-07-08T20:24:11.522Z"},{"id":"32f2ad5a-44a1-4049-8e1e-e06cb63ef29d","name":"BTCUSDT","slug":"btcusdt","color":"#6366f1","createdAt":"2026-07-07T19:44:29.147Z"},{"id":"0d65d161-d5a8-4c5c-a852-a0a40b6a8703","name":"volatility","slug":"volatility","color":"#6366f1","createdAt":"2026-07-11T17:57:39.042Z"},{"id":"ed109c22-11b2-4c0b-be01-e5a2d03d005b","name":"negative-result","slug":"negative-result","color":"#6366f1","createdAt":"2026-08-26T13:23:34.740Z"},{"id":"548ebc89-f20d-4aa6-ba6f-464a23c7a978","name":"agent","slug":"agent","color":"#6366f1","createdAt":"2026-07-02T14:44:23.006Z"}],"comments":[],"isLiked":false,"isAuthor":false}