{
  "meta": {
    "script": "gamma_cluster_symmetry_backtest.py",
    "description": "One-sided vs symmetric cluster pull test",
    "date_range": "2024-06-24 to 2026-03-20",
    "n_dates": 348,
    "n_obs": 12890,
    "corrupt_excluded": "2025-10-27 to 2026-02-17",
    "scan_range_pts": 75,
    "cluster_gap_pts": 25,
    "min_gamma_abs_M": 30.0,
    "median_mult": 3.0,
    "spot_source": "SPX_5min where available (2025-06-25+), else ES+daily_offset"
  },
  "config_distribution": {
    "ASYMMETRIC": 4503,
    "ONE_SIDED_ABOVE": 3309,
    "ONE_SIDED_BELOW": 2344,
    "SYMMETRIC": 2332,
    "NONE": 402
  },
  "results": {
    "test1_reach_rate": {
      "ONE_SIDED_ABOVE": {
        "1H": {
          "label": "1H",
          "N": 3309,
          "reach_rate": 0.5005,
          "p_value": 0.972265
        },
        "2H": {
          "label": "2H",
          "N": 3309,
          "reach_rate": 0.557,
          "p_value": 0.0
        },
        "3H": {
          "label": "3H",
          "N": 3309,
          "reach_rate": 0.5896,
          "p_value": 0.0
        },
        "EOD": {
          "label": "EOD",
          "N": 3309,
          "reach_rate": 0.6216,
          "p_value": 0.0
        }
      },
      "ONE_SIDED_BELOW": {
        "1H": {
          "label": "1H",
          "N": 2344,
          "reach_rate": 0.5286,
          "p_value": 0.006001
        },
        "2H": {
          "label": "2H",
          "N": 2344,
          "reach_rate": 0.6003,
          "p_value": 0.0
        },
        "3H": {
          "label": "3H",
          "N": 2344,
          "reach_rate": 0.6259,
          "p_value": 0.0
        },
        "EOD": {
          "label": "EOD",
          "N": 2344,
          "reach_rate": 0.6681,
          "p_value": 0.0
        }
      },
      "realized_range_by_config": {
        "ONE_SIDED_ABOVE": {
          "N": 3309,
          "median": 24.5,
          "mean": 50.26
        },
        "ONE_SIDED_BELOW": {
          "N": 2344,
          "median": 32.75,
          "mean": 66.01
        },
        "SYMMETRIC": {
          "N": 2332,
          "median": 35.75,
          "mean": 51.69
        },
        "ASYMMETRIC": {
          "N": 4503,
          "median": 25.75,
          "mean": 39.98
        },
        "NONE": {
          "N": 402,
          "median": 52.75,
          "mean": 216.98
        }
      }
    },
    "test2_directional_pull": {
      "ONE_SIDED_ABOVE": {
        "N": 3309,
        "1H": {
          "N": 3232,
          "mean_signed_ret": 0.496,
          "median_signed_ret": 1.0,
          "directional_accuracy": 0.5449,
          "p_binom": 0.0
        },
        "2H": {
          "N": 3232,
          "mean_signed_ret": 0.828,
          "median_signed_ret": 2.0,
          "directional_accuracy": 0.5653,
          "p_binom": 0.0
        },
        "3H": {
          "N": 3232,
          "mean_signed_ret": 0.564,
          "median_signed_ret": 2.499,
          "directional_accuracy": 0.5786,
          "p_binom": 0.0
        },
        "EOD": {
          "N": 3309,
          "mean_signed_ret": 0.644,
          "median_signed_ret": 2.5,
          "directional_accuracy": 0.5718,
          "p_binom": 0.0
        }
      },
      "ONE_SIDED_BELOW": {
        "N": 2344,
        "1H": {
          "N": 2339,
          "mean_signed_ret": 0.369,
          "median_signed_ret": -0.5,
          "directional_accuracy": 0.4801,
          "p_binom": 0.974041
        },
        "2H": {
          "N": 2339,
          "mean_signed_ret": 0.25,
          "median_signed_ret": -1.25,
          "directional_accuracy": 0.4677,
          "p_binom": 0.999166
        },
        "3H": {
          "N": 2339,
          "mean_signed_ret": -0.135,
          "median_signed_ret": -2.0,
          "directional_accuracy": 0.4438,
          "p_binom": 1.0
        },
        "EOD": {
          "N": 2344,
          "mean_signed_ret": 0.451,
          "median_signed_ret": -1.615,
          "directional_accuracy": 0.4539,
          "p_binom": 0.999996
        }
      },
      "SYMMETRIC": {
        "N": 2332,
        "mean_ret_1h": 0.098,
        "mean_ret_eod": 0.736
      }
    },
    "test3_pinning": {
      "ONE_SIDED_ABOVE": {
        "N": 3309,
        "median_range": 24.5,
        "mean_range": 50.26
      },
      "ONE_SIDED_BELOW": {
        "N": 2344,
        "median_range": 32.75,
        "mean_range": 66.01
      },
      "SYMMETRIC": {
        "N": 2332,
        "median_range": 35.75,
        "mean_range": 51.69
      },
      "ASYMMETRIC": {
        "N": 4503,
        "median_range": 25.75,
        "mean_range": 39.98
      },
      "NONE": {
        "N": 402,
        "median_range": 52.75,
        "mean_range": 216.98
      },
      "ttest_symmetric_vs_onesided": {
        "t_stat": -0.6206,
        "p_value": 0.534864,
        "N_symmetric": 2332,
        "N_onesided": 5653,
        "mean_sym": 51.69,
        "mean_onesided": 56.79
      }
    },
    "test4_gamma_ratio": {
      "ratio > 2 (above bigger, expect UP)": {
        "N": 2993,
        "1H": {
          "N": 2896,
          "mean_ret": -0.103,
          "dir_acc": 0.5338,
          "p": 0.000145
        },
        "EOD": {
          "N": 2993,
          "mean_ret": 0.137,
          "dir_acc": 0.5249,
          "p": 0.003408
        }
      },
      "ratio < 0.5 (below bigger, expect DOWN)": {
        "N": 2200,
        "1H": {
          "N": 2114,
          "mean_ret": 0.761,
          "dir_acc": 0.4863,
          "p": 0.900297
        },
        "EOD": {
          "N": 2200,
          "mean_ret": 3.535,
          "dir_acc": 0.4055,
          "p": 1.0
        }
      },
      "ratio 0.5-2 (balanced)": {
        "N": 1642,
        "1H": {
          "N": 1599,
          "mean_ret": -1.117
        },
        "EOD": {
          "N": 1642,
          "mean_ret": -1.397
        }
      },
      "IC_gamma_ratio_1h": {
        "N": 6609,
        "IC": 0.0087,
        "p_value": 0.479205
      },
      "IC_gamma_ratio_eod": {
        "N": 6609,
        "IC": -0.0017,
        "p_value": 0.890048
      }
    },
    "test5_pull_score": {
      "N": 6835,
      "IC_1h": {
        "N": 6609,
        "IC": -0.0067,
        "p_value": 0.583984
      },
      "IC_eod": {
        "N": 6835,
        "IC": -0.0088,
        "p_value": 0.46893
      }
    },
    "test6_conditioning": {
      "gex_positive": {
        "N": 4293,
        "mean_signed_eod": -0.327,
        "dir_acc": 0.515,
        "p": 0.02537
      },
      "gex_negative": {
        "N": 1165,
        "mean_signed_eod": 3.394,
        "dir_acc": 0.5494,
        "p": 0.000415
      }
    },
    "test7_permutation": {
      "onesided_direction_1H": {
        "N": 5571,
        "observed_IC": 0.026,
        "perm_p": 0.045
      },
      "onesided_direction_EOD": {
        "N": 5653,
        "observed_IC": 0.0175,
        "perm_p": 0.179
      },
      "pull_score_1H": {
        "N": 6609,
        "observed_IC": -0.0067,
        "perm_p": 0.541
      },
      "pull_score_EOD": {
        "N": 6835,
        "observed_IC": -0.0088,
        "perm_p": 0.345
      }
    },
    "symmetric_midpoint": {
      "N": 2332,
      "mean_open_dist_to_midpoint": 6.15,
      "mean_eod_dist_to_midpoint": 22.51,
      "converges": false
    },
    "is_oos_split": {
      "IS": {
        "N": 3378,
        "dir_acc": 0.5509,
        "mean_signed_eod": 1.491,
        "p": 0.0
      },
      "OOS": {
        "N": 2275,
        "dir_acc": 0.4813,
        "mean_signed_eod": -0.811,
        "p": 0.964321
      }
    }
  }
}