{
  "meta": {
    "description": "buy_pct data factors analysis \u2014 IC by conditioning variable",
    "signal": "buy_pct_deviation = buy_pct - 0.50 (first 30 min)",
    "target": "60-min forward return from 10AM",
    "metric": "Spearman IC",
    "fomc_excluded": true,
    "trace_corrupt_excluded": "2025-10-27 to 2026-02-17",
    "is_oos_split": "60/40 time split",
    "total_days": 745,
    "is_days": 447,
    "oos_days": 298,
    "date_range": "2023-03-01 to 2026-03-20"
  },
  "baseline": {
    "full": {
      "ic": 0.0484,
      "pval": 0.1868,
      "n": 745
    },
    "is": {
      "ic": -0.0209,
      "pval": 0.659,
      "n": 447
    },
    "oos": {
      "ic": 0.1536,
      "pval": 0.0079,
      "n": 298
    }
  },
  "factors": {
    "rvol": {
      "buckets": {
        "LOW": {
          "ic": 0.1475,
          "pval": 0.0488,
          "n": 179
        },
        "NORMAL": {
          "ic": -0.0207,
          "pval": 0.7018,
          "n": 345
        },
        "HIGH": {
          "ic": 0.0459,
          "pval": 0.5852,
          "n": 144
        },
        "VERY_HIGH": {
          "ic": 0.0524,
          "pval": 0.6619,
          "n": 72
        }
      },
      "rvol_vs_ret": {
        "ic": null,
        "pval": null,
        "n": 745
      },
      "rvol_x_buypct_interaction": {
        "ic": null,
        "pval": null
      }
    },
    "gex_regime": {
      "buckets": {
        "HIGH_POS": {
          "ic": 0.1168,
          "pval": 0.1291,
          "n": 170
        },
        "LOW_POS": {
          "ic": 0.0696,
          "pval": 0.5502,
          "n": 76
        },
        "NEGATIVE": {
          "ic": 0.1875,
          "pval": 0.0703,
          "n": 94
        }
      },
      "gex_vs_ret": {
        "ic": -0.1198,
        "pval": 0.0272,
        "n": 340
      }
    },
    "mm_tilt": {
      "buckets": {
        "BEARISH": {
          "ic": null,
          "pval": null,
          "n": 13
        },
        "NEUTRAL": {
          "ic": 0.1253,
          "pval": 0.336,
          "n": 61
        },
        "BULLISH": {
          "ic": 0.123,
          "pval": 0.0451,
          "n": 266
        }
      }
    },
    "gap": {
      "buckets": {
        "FLAT": {
          "ic": 0.0158,
          "pval": 0.7499,
          "n": 409
        },
        "GAP_DOWN": {
          "ic": 0.1264,
          "pval": 0.1338,
          "n": 142
        },
        "GAP_UP": {
          "ic": 0.0572,
          "pval": 0.4286,
          "n": 194
        }
      },
      "gap_continuous": {
        "ic": -0.057,
        "pval": 0.1205,
        "n": 744
      },
      "gap_magnitude": {
        "ic": 0.0084,
        "pval": 0.8192
      }
    },
    "vix": {
      "buckets": {
        "LOW": {
          "ic": 0.0175,
          "pval": 0.8284,
          "n": 156
        },
        "MEDIUM": {
          "ic": 0.0569,
          "pval": 0.475,
          "n": 160
        },
        "HIGH": {
          "ic": 0.1906,
          "pval": 0.0172,
          "n": 156
        }
      },
      "vix_continuous": {
        "ic": -0.0183,
        "pval": 0.6918,
        "n": 472
      },
      "vix_x_buypct_interaction": {
        "ic": 0.1146,
        "pval": 0.0127
      }
    },
    "day_of_week": {
      "buckets": {
        "Fri": {
          "ic": 0.1655,
          "pval": 0.0483,
          "n": 143
        },
        "Mon": {
          "ic": -0.1045,
          "pval": 0.194,
          "n": 156
        },
        "Thu": {
          "ic": 0.0274,
          "pval": 0.7359,
          "n": 154
        },
        "Tue": {
          "ic": 0.1503,
          "pval": 0.0603,
          "n": 157
        },
        "Wed": {
          "ic": 0.0257,
          "pval": 0.7669,
          "n": 135
        }
      }
    },
    "opening_range": {
      "buckets": {
        "NARROW": {
          "ic": 0.0088,
          "pval": 0.8661,
          "n": 372
        },
        "WIDE": {
          "ic": 0.0733,
          "pval": 0.1579,
          "n": 373
        }
      },
      "narrow_extreme_buypct": {
        "ic": 0.0223,
        "pval": 0.8464,
        "n": 78
      },
      "range_continuous": {
        "ic": 0.0532,
        "pval": 0.1471
      }
    },
    "order_book": {
      "available": true,
      "n_days": 147,
      "dom_5_vs_ret": {
        "ic": -0.1373,
        "pval": 0.0973,
        "n": 147
      },
      "dom_10_vs_ret": {
        "ic": -0.0845,
        "pval": 0.3086
      },
      "dom_aligned_buypct": {
        "ALIGNED_BEAR": {
          "ic": null,
          "pval": null,
          "n": 8
        },
        "ALIGNED_BULL": {
          "ic": null,
          "pval": null,
          "n": 6
        },
        "UNALIGNED": {
          "ic": 0.192,
          "pval": 0.0268,
          "n": 133
        }
      },
      "dom_x_buypct_combined": {
        "ic": -0.035,
        "pval": 0.6735
      }
    }
  },
  "factor_ranking": [
    {
      "factor": "vix",
      "bucket": "HIGH",
      "ic": 0.1906,
      "pval": 0.0172,
      "n": 156
    },
    {
      "factor": "gex_regime",
      "bucket": "NEGATIVE",
      "ic": 0.1875,
      "pval": 0.0703,
      "n": 94
    },
    {
      "factor": "day_of_week",
      "bucket": "Fri",
      "ic": 0.1655,
      "pval": 0.0483,
      "n": 143
    },
    {
      "factor": "day_of_week",
      "bucket": "Tue",
      "ic": 0.1503,
      "pval": 0.0603,
      "n": 157
    },
    {
      "factor": "rvol",
      "bucket": "LOW",
      "ic": 0.1475,
      "pval": 0.0488,
      "n": 179
    },
    {
      "factor": "gap",
      "bucket": "GAP_DOWN",
      "ic": 0.1264,
      "pval": 0.1338,
      "n": 142
    },
    {
      "factor": "mm_tilt",
      "bucket": "NEUTRAL",
      "ic": 0.1253,
      "pval": 0.336,
      "n": 61
    },
    {
      "factor": "mm_tilt",
      "bucket": "BULLISH",
      "ic": 0.123,
      "pval": 0.0451,
      "n": 266
    },
    {
      "factor": "gex_regime",
      "bucket": "HIGH_POS",
      "ic": 0.1168,
      "pval": 0.1291,
      "n": 170
    },
    {
      "factor": "day_of_week",
      "bucket": "Mon",
      "ic": -0.1045,
      "pval": 0.194,
      "n": 156
    },
    {
      "factor": "opening_range",
      "bucket": "WIDE",
      "ic": 0.0733,
      "pval": 0.1579,
      "n": 373
    },
    {
      "factor": "gex_regime",
      "bucket": "LOW_POS",
      "ic": 0.0696,
      "pval": 0.5502,
      "n": 76
    },
    {
      "factor": "gap",
      "bucket": "GAP_UP",
      "ic": 0.0572,
      "pval": 0.4286,
      "n": 194
    },
    {
      "factor": "vix",
      "bucket": "MEDIUM",
      "ic": 0.0569,
      "pval": 0.475,
      "n": 160
    },
    {
      "factor": "rvol",
      "bucket": "VERY_HIGH",
      "ic": 0.0524,
      "pval": 0.6619,
      "n": 72
    },
    {
      "factor": "rvol",
      "bucket": "HIGH",
      "ic": 0.0459,
      "pval": 0.5852,
      "n": 144
    },
    {
      "factor": "day_of_week",
      "bucket": "Thu",
      "ic": 0.0274,
      "pval": 0.7359,
      "n": 154
    },
    {
      "factor": "day_of_week",
      "bucket": "Wed",
      "ic": 0.0257,
      "pval": 0.7669,
      "n": 135
    },
    {
      "factor": "rvol",
      "bucket": "NORMAL",
      "ic": -0.0207,
      "pval": 0.7018,
      "n": 345
    },
    {
      "factor": "vix",
      "bucket": "LOW",
      "ic": 0.0175,
      "pval": 0.8284,
      "n": 156
    },
    {
      "factor": "gap",
      "bucket": "FLAT",
      "ic": 0.0158,
      "pval": 0.7499,
      "n": 409
    },
    {
      "factor": "opening_range",
      "bucket": "NARROW",
      "ic": 0.0088,
      "pval": 0.8661,
      "n": 372
    }
  ],
  "combos": [
    {
      "label": "GAP_DOWN",
      "ic": 0.1264,
      "pval": 0.1338,
      "n": 142
    },
    {
      "label": "GAP_UP",
      "ic": 0.0572,
      "pval": 0.4286,
      "n": 194
    },
    {
      "label": "RVOL=LOW",
      "ic": 0.1475,
      "pval": 0.0488,
      "n": 179
    },
    {
      "label": "RVOL=VERY_HIGH",
      "ic": 0.0524,
      "pval": 0.6619,
      "n": 72
    },
    {
      "label": "GAP_DOWN + RVOL=LOW",
      "ic": 0.4818,
      "pval": 0.027,
      "n": 21
    },
    {
      "label": "GAP_DOWN + RVOL=VERY_HIGH",
      "ic": 0.1148,
      "pval": 0.5533,
      "n": 29
    },
    {
      "label": "NARROW range + RVOL=LOW",
      "ic": -0.0122,
      "pval": 0.8931,
      "n": 124
    },
    {
      "label": "NARROW range + GAP_DOWN",
      "ic": 0.1911,
      "pval": 0.1883,
      "n": 49
    },
    {
      "label": "WIDE range + RVOL=VERY_HIGH",
      "ic": 0.018,
      "pval": 0.8883,
      "n": 63
    },
    {
      "label": "VIX=HIGH + RVOL=VERY_HIGH",
      "ic": 0.2362,
      "pval": 0.2453,
      "n": 26
    },
    {
      "label": "VIX=LOW + RVOL=LOW",
      "ic": 0.0782,
      "pval": 0.6054,
      "n": 46
    },
    {
      "label": "Mon + GAP_DOWN",
      "ic": -0.3265,
      "pval": 0.1035,
      "n": 26
    },
    {
      "label": "Mon + GAP_UP",
      "ic": 0.0275,
      "pval": 0.8496,
      "n": 50
    },
    {
      "label": "Tue + GAP_DOWN",
      "ic": 0.1798,
      "pval": 0.2801,
      "n": 38
    },
    {
      "label": "Tue + GAP_UP",
      "ic": 0.5603,
      "pval": 0.0054,
      "n": 23
    },
    {
      "label": "Wed + GAP_DOWN",
      "ic": 0.2342,
      "pval": 0.2495,
      "n": 26
    },
    {
      "label": "Wed + GAP_UP",
      "ic": 0.0388,
      "pval": 0.8304,
      "n": 33
    },
    {
      "label": "Thu + GAP_DOWN",
      "ic": 0.1624,
      "pval": 0.4184,
      "n": 27
    },
    {
      "label": "Thu + GAP_UP",
      "ic": -0.0658,
      "pval": 0.6497,
      "n": 50
    },
    {
      "label": "Fri + GAP_DOWN",
      "ic": 0.2831,
      "pval": 0.1703,
      "n": 25
    },
    {
      "label": "Fri + GAP_UP",
      "ic": -0.0454,
      "pval": 0.7866,
      "n": 38
    },
    {
      "label": "GEX=HIGH_POS",
      "ic": 0.0109,
      "pval": 0.7934,
      "n": 575
    },
    {
      "label": "GEX=LOW_POS",
      "ic": 0.0696,
      "pval": 0.5502,
      "n": 76
    },
    {
      "label": "GEX=NEGATIVE",
      "ic": 0.1875,
      "pval": 0.0703,
      "n": 94
    }
  ],
  "permutation_tests": {
    "full": {
      "perm_pval": 0.108,
      "obs_ic": 0.0484,
      "n_perms": 500
    },
    "Tue + GAP_UP": {
      "perm_pval": 0.004,
      "obs_ic": 0.5603,
      "n_perms": 500,
      "n": 23
    },
    "GAP_DOWN + RVOL=LOW": {
      "perm_pval": 0.02,
      "obs_ic": 0.4818,
      "n_perms": 500,
      "n": 21
    },
    "Mon + GAP_DOWN": {
      "perm_pval": 0.046,
      "obs_ic": -0.3265,
      "n_perms": 500,
      "n": 26
    },
    "Fri + GAP_DOWN": {
      "perm_pval": 0.082,
      "obs_ic": 0.2831,
      "n_perms": 500,
      "n": 25
    },
    "VIX=HIGH + RVOL=VERY_HIGH": {
      "perm_pval": 0.124,
      "obs_ic": 0.2362,
      "n_perms": 500,
      "n": 26
    }
  }
}