{
  "meta": {
    "script": "trace_cluster_spx_corrected.py",
    "description": "Cluster tests using CORRECT SPX spot prices from intradayDelta",
    "critical_fix": "Previous scripts used ES prices (~290-300pts below SPX strikes) \u2014 wrong range",
    "spot_source": "intradayDelta spot column (median per snapshot timestamp)",
    "fwd_return_source": "SPX 5-min where available (2025-06-25+), ES+per-day-offset otherwise",
    "date_run": "2026-03-22",
    "n_dates": 337,
    "n_obs_t1": 13011,
    "n_obs_t23": 10461,
    "n_obs_t4": 1284
  },
  "test1_eventual_reach": {
    "overall": {
      "N": 13011,
      "n_dates": 337,
      "reach_rate": 0.6365,
      "null_rate": 0.6149,
      "lift": 0.0215
    },
    "by_characteristic": {
      "size": [
        {
          "label": "30M\u2013100M",
          "N": 4692,
          "reach_rate": 0.5062,
          "null_rate": 0.5107,
          "lift": -0.0045,
          "median_time_min": 2.0,
          "p_value": 0.734983
        },
        {
          "label": "100M\u2013300M",
          "N": 4739,
          "reach_rate": 0.6368,
          "null_rate": 0.6187,
          "lift": 0.0181,
          "median_time_min": 5.0,
          "p_value": 0.005174
        },
        {
          "label": ">300M",
          "N": 3580,
          "reach_rate": 0.8067,
          "null_rate": 0.7466,
          "lift": 0.0601,
          "median_time_min": 5.0,
          "p_value": 0.0
        }
      ],
      "distance": [
        {
          "label": "5\u201315pts",
          "N": 3720,
          "reach_rate": 0.7909,
          "null_rate": 0.7586,
          "lift": 0.0323,
          "median_time_min": 1.0,
          "p_value": 2e-06
        },
        {
          "label": "15\u201330pts",
          "N": 5622,
          "reach_rate": 0.6631,
          "null_rate": 0.6306,
          "lift": 0.0326,
          "median_time_min": 5.0,
          "p_value": 0.0
        },
        {
          "label": "30\u201350pts",
          "N": 3669,
          "reach_rate": 0.4391,
          "null_rate": 0.4454,
          "lift": -0.0063,
          "median_time_min": 5.0,
          "p_value": 0.782412
        }
      ],
      "persistence": [
        {
          "label": "Transient (1 snapshot)",
          "N": 4007,
          "reach_rate": 0.6489,
          "null_rate": 0.6272,
          "lift": 0.0217,
          "median_time_min": 5.0,
          "p_value": 0.002284
        },
        {
          "label": "Persistent (2+ consecutive)",
          "N": 9004,
          "reach_rate": 0.6309,
          "null_rate": 0.6095,
          "lift": 0.0214,
          "median_time_min": 5.0,
          "p_value": 1.5e-05
        }
      ],
      "direction": [
        {
          "label": "Above spot (resistance zone)",
          "N": 7675,
          "reach_rate": 0.6365,
          "null_rate": 0.6072,
          "lift": 0.0293,
          "median_time_min": 5.0,
          "p_value": 0.0
        },
        {
          "label": "Below spot (support zone)",
          "N": 5336,
          "reach_rate": 0.6364,
          "null_rate": 0.6261,
          "lift": 0.0103,
          "median_time_min": 5.0,
          "p_value": 0.061328
        }
      ],
      "gex_regime": [
        {
          "label": "Positive GEX",
          "N": 10767,
          "reach_rate": 0.6287,
          "null_rate": 0.6041,
          "lift": 0.0246,
          "median_time_min": 5.0,
          "p_value": 0.0
        },
        {
          "label": "Negative GEX",
          "N": 1738,
          "reach_rate": 0.7342,
          "null_rate": 0.7232,
          "lift": 0.0109,
          "median_time_min": 1.0,
          "p_value": 0.16064
        }
      ],
      "dte0_ratio": [
        {
          "label": "<20% 0DTE",
          "N": 1137,
          "reach_rate": 0.2718,
          "null_rate": 0.2674,
          "lift": 0.0044,
          "median_time_min": 5.0,
          "p_value": 0.379714
        },
        {
          "label": "20\u201350% 0DTE",
          "N": 10650,
          "reach_rate": 0.6706,
          "null_rate": 0.6447,
          "lift": 0.0259,
          "median_time_min": 5.0,
          "p_value": 0.0
        },
        {
          "label": ">50% 0DTE",
          "N": 1224,
          "reach_rate": 0.6781,
          "null_rate": 0.6789,
          "lift": -0.0008,
          "median_time_min": 5.0,
          "p_value": 0.538019
        }
      ],
      "two_sided": [
        {
          "label": "One-sided only",
          "N": 7917,
          "reach_rate": 0.8071,
          "null_rate": 0.7694,
          "lift": 0.0378,
          "median_time_min": 1.0,
          "p_value": 0.0
        },
        {
          "label": "Both sides (pinning)",
          "N": 5094,
          "reach_rate": 0.3712,
          "null_rate": 0.375,
          "lift": -0.0037,
          "median_time_min": 20.0,
          "p_value": 0.713465
        }
      ]
    },
    "bounce_analysis": {
      "N_reached": 7832,
      "overall_bounce_rate": 0.4755,
      "by_direction": {
        "above": {
          "N": 4614,
          "bounce_rate": 0.4467
        },
        "below": {
          "N": 3218,
          "bounce_rate": 0.5168
        }
      }
    },
    "time_distribution_min": {
      "p10": 1.0,
      "p25": 1.0,
      "p50": 5.0,
      "p75": 20.0,
      "p90": 95.0
    },
    "cross_size_persistence": [
      {
        "label": "30M\u2013100M + transient",
        "N": 1589,
        "reach_rate": 0.5356,
        "null_rate": 0.5374,
        "lift": -0.0019,
        "median_time_min": 5.0,
        "p_value": 0.570128
      },
      {
        "label": "30M\u2013100M + persistent",
        "N": 3103,
        "reach_rate": 0.4911,
        "null_rate": 0.4969,
        "lift": -0.0058,
        "median_time_min": 1.0,
        "p_value": 0.746719
      },
      {
        "label": "100M\u2013300M + transient",
        "N": 1517,
        "reach_rate": 0.6691,
        "null_rate": 0.6493,
        "lift": 0.0198,
        "median_time_min": 5.0,
        "p_value": 0.055749
      },
      {
        "label": "100M\u2013300M + persistent",
        "N": 3222,
        "reach_rate": 0.6217,
        "null_rate": 0.6043,
        "lift": 0.0174,
        "median_time_min": 5.0,
        "p_value": 0.022566
      },
      {
        "label": ">300M + transient",
        "N": 901,
        "reach_rate": 0.8147,
        "null_rate": 0.7481,
        "lift": 0.0666,
        "median_time_min": 5.0,
        "p_value": 1e-06
      },
      {
        "label": ">300M + persistent",
        "N": 2679,
        "reach_rate": 0.804,
        "null_rate": 0.7462,
        "lift": 0.0579,
        "median_time_min": 5.0,
        "p_value": 0.0
      }
    ],
    "cross_dist_direction": [
      {
        "label": "5\u201315pts above",
        "N": 2019,
        "reach_rate": 0.8356,
        "null_rate": 0.7885,
        "lift": 0.0471,
        "median_time_min": 1.0,
        "p_value": 0.0
      },
      {
        "label": "5\u201315pts below",
        "N": 1701,
        "reach_rate": 0.7378,
        "null_rate": 0.7231,
        "lift": 0.0147,
        "median_time_min": 1.0,
        "p_value": 0.091634
      },
      {
        "label": "15\u201330pts above",
        "N": 3282,
        "reach_rate": 0.6694,
        "null_rate": 0.6271,
        "lift": 0.0424,
        "median_time_min": 5.0,
        "p_value": 0.0
      },
      {
        "label": "15\u201330pts below",
        "N": 2340,
        "reach_rate": 0.6543,
        "null_rate": 0.6355,
        "lift": 0.0188,
        "median_time_min": 5.0,
        "p_value": 0.030504
      },
      {
        "label": "30\u201350pts above",
        "N": 2374,
        "reach_rate": 0.4217,
        "null_rate": 0.4254,
        "lift": -0.0038,
        "median_time_min": 5.0,
        "p_value": 0.653017
      },
      {
        "label": "30\u201350pts below",
        "N": 1295,
        "reach_rate": 0.471,
        "null_rate": 0.4819,
        "lift": -0.0108,
        "median_time_min": 1.0,
        "p_value": 0.789954
      }
    ]
  },
  "test2_approach_from_above": {
    "N": 4323,
    "toward_rate": 0.4876,
    "p_value": 0.949772,
    "median_ret": 0.25,
    "mean_ret": -0.41,
    "by_distance": {
      "0-10pts": {
        "N": 1866,
        "toward_rate": 0.4904,
        "p_value": 0.804147,
        "median_ret": 0.0
      },
      "10-20pts": {
        "N": 1775,
        "toward_rate": 0.4828,
        "p_value": 0.929448,
        "median_ret": 0.25
      },
      "20-30pts": {
        "N": 647,
        "toward_rate": 0.5008,
        "p_value": 0.5,
        "median_ret": -0.25
      }
    },
    "by_gex_regime": {
      "positive": {
        "N": 3642,
        "toward_rate": 0.4789,
        "p_value": 0.994896
      },
      "negative": {
        "N": 570,
        "toward_rate": 0.5421,
        "p_value": 0.024451
      }
    }
  },
  "test3_approach_from_below": {
    "N": 6138,
    "toward_rate": 0.5513,
    "p_value": 0.0,
    "median_ret": 1.25,
    "mean_ret": 0.49,
    "by_distance": {
      "0-10pts": {
        "N": 2330,
        "toward_rate": 0.5489,
        "p_value": 1e-06,
        "median_ret": 1.5
      },
      "10-20pts": {
        "N": 2388,
        "toward_rate": 0.557,
        "p_value": 0.0,
        "median_ret": 1.25
      },
      "20-30pts": {
        "N": 1365,
        "toward_rate": 0.5385,
        "p_value": 0.00243,
        "median_ret": 1.0
      }
    },
    "by_gex_regime": {
      "positive": {
        "N": 5543,
        "toward_rate": 0.5542,
        "p_value": 0.0
      },
      "negative": {
        "N": 570,
        "toward_rate": 0.5228,
        "p_value": 0.147515
      }
    }
  },
  "test4_cluster_building": {
    "growing": {
      "N": 612,
      "reach_rate": 0.6797,
      "null_rate": 0.6356,
      "lift": 0.0441,
      "p_value": 0.012464
    },
    "stable": {
      "N": 344,
      "reach_rate": 0.564,
      "null_rate": 0.5523,
      "lift": 0.0116,
      "p_value": 0.352791
    },
    "shrinking": {
      "N": 328,
      "reach_rate": 0.3841,
      "null_rate": 0.3811,
      "lift": 0.003,
      "p_value": 0.475549
    },
    "growing_vs_shrinking_p": 0.0
  }
}