{
  "rules": [
    {
      "id": "VALIDATED_001",
      "name": "afternoon_mean_revert",
      "conditions": {"afternoon": true, "range_upper": true, "gex_pos": true},
      "direction": "SHORT",
      "horizon": "eod",
      "theory": "Afternoon near highs + positive GEX = last hour mean reversion (dealers sell rips)",
      "hit_rate_is": 0.396,
      "hit_rate_oos": 0.680,
      "n_total": 320,
      "n_oos": 122,
      "avg_return_bps": -6.0,
      "pval_raw": 0.0000,
      "pval_holm": 0.0042,
      "holm_survives": true,
      "strength": "VALIDATED",
      "source": "theory_driven_v2",
      "alert_text": "🔴 [afternoon_mean_revert] SHORT eod: Afternoon near highs + positive GEX → 68% OOS hit rate (n=122)"
    },
    {
      "id": "VALIDATED_002",
      "name": "tail_asym_bullish",
      "conditions": {"tail_asym_high": true, "mom_up": true},
      "direction": "LONG",
      "horizon": "2h",
      "theory": "Heavy put skew (hedging) + price rising = hedges being closed, bullish continuation",
      "hit_rate_is": 0.561,
      "hit_rate_oos": 0.630,
      "n_total": 498,
      "n_oos": 227,
      "avg_return_bps": 4.6,
      "pval_raw": 0.0001,
      "pval_holm": 0.005342,
      "holm_survives": true,
      "strength": "VALIDATED",
      "source": "theory_driven_v2",
      "alert_text": "🟢 [tail_asym_bullish] LONG 2h: Heavy put skew + price rising → 63% OOS hit rate (n=227)"
    },
    {
      "id": "VALIDATED_003",
      "name": "low_vol_gex_trap",
      "conditions": {"vol_below": true, "gex_strong_pos": true, "range_upper": true},
      "direction": "SHORT",
      "horizon": "eod",
      "theory": "Low volume + extreme GEX + near highs = pinned market, mean reversion into close",
      "hit_rate_is": 0.425,
      "hit_rate_oos": 0.642,
      "n_total": 346,
      "n_oos": 173,
      "avg_return_bps": -4.6,
      "pval_raw": 0.0001,
      "pval_holm": 0.0117,
      "holm_survives": true,
      "strength": "VALIDATED",
      "source": "theory_driven_v2",
      "alert_text": "🔴 [low_vol_gex_trap] SHORT eod: Low vol + extreme GEX + near highs → 64% OOS hit rate (n=173)"
    },
    {
      "id": "VALIDATED_004",
      "name": "flow_acceleration_buy",
      "conditions": {"delta_pos": true, "recent_buying": true, "mom_up": true},
      "direction": "LONG",
      "horizon": "2h",
      "theory": "Consistent buying pressure + price following = trend continuation",
      "hit_rate_is": 0.558,
      "hit_rate_oos": 0.615,
      "n_total": 553,
      "n_oos": 218,
      "avg_return_bps": 3.7,
      "pval_raw": 0.000432,
      "pval_holm": 0.041442,
      "holm_survives": true,
      "strength": "VALIDATED",
      "source": "theory_driven_v2",
      "alert_text": "🟢 [flow_acceleration_buy] LONG 2h: Consistent buying + momentum → 62% OOS hit rate (n=218)"
    },
    {
      "id": "VALIDATED_005",
      "name": "tail_asym_bullish_morning",
      "conditions": {"tail_asym_high": true, "mom_up": true, "morning": true},
      "direction": "LONG",
      "horizon": "2h",
      "theory": "Morning: heavy put skew + uptrend = hedges unwinding into strength",
      "hit_rate_is": 0.590,
      "hit_rate_oos": 0.678,
      "n_total": 207,
      "n_oos": 90,
      "avg_return_bps": 3.4,
      "pval_raw": 0.000486,
      "pval_holm": 0.046206,
      "holm_survives": true,
      "strength": "VALIDATED",
      "source": "theory_driven_v2",
      "alert_text": "🟢 [tail_asym_bullish_morning] LONG 2h: Morning put skew + uptrend → 68% OOS hit rate (n=90)"
    }
  ],
  "generated": "2026-03-04",
  "n_survivors": 5,
  "n_strong": 7,
  "note": "Updated to include ALL 5 Holm-Bonferroni survivors (previously only had 3 LONG, missed 2 SHORT)"
}
