{
  "meta": {
    "n_windows": 22197,
    "n_days": 290,
    "date_range": [
      "2025-01-02",
      "2026-02-27"
    ],
    "signal": "mean_size_asymmetry",
    "forward_return": "fwd_4min_pts (primary), fwd_5min_pts (secondary)",
    "side_convention": "B=buyer_aggressor(buy), A=seller_aggressor(sell)"
  },
  "baseline": {
    "n": 22197,
    "rho": 0.1473105353079767,
    "p_value": 6.627810086169785e-108,
    "buy_wr_at_1_2x": 0.5966666666666667,
    "sell_wr_at_1_2x": 0.5197472353870458,
    "buy_mean_fwd_pts": 1.3352083333333333,
    "sell_mean_fwd_pts": -0.7211690363349131,
    "buy_n": 1200,
    "sell_n": 1266
  },
  "phase1_individual_filters": [
    {
      "label": "F1: ratio>1.2x, max_size>=5",
      "n_buy": 104,
      "n_sell": 85,
      "n_total": 189,
      "rho": 0.45791785760935294,
      "p_value": 3.4714292409146464e-11,
      "buy_wr": 0.6057692307692307,
      "sell_wr": 0.7294117647058823,
      "buy_mean_fwd_pts": 1.4302884615384615,
      "sell_mean_fwd_pts": -2.5323529411764705,
      "low_n_flag": false,
      "note": ""
    },
    {
      "label": "F2: ratio>1.2x, max_size>=8",
      "n_buy": 6,
      "n_sell": 1,
      "n_total": 7,
      "rho": 0.21428571428571433,
      "p_value": 0.6445115810207203,
      "buy_wr": 0.6666666666666666,
      "sell_wr": 1.0,
      "buy_mean_fwd_pts": 2.125,
      "sell_mean_fwd_pts": -0.25,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "label": "F3: ratio>1.2x, max_size>=10",
      "n_buy": 0,
      "n_sell": 0,
      "n_total": 0,
      "rho": null,
      "p_value": null,
      "buy_wr": NaN,
      "sell_wr": NaN,
      "buy_mean_fwd_pts": NaN,
      "sell_mean_fwd_pts": NaN,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "label": "F4: ratio>1.3x, max_size>=5",
      "n_buy": 72,
      "n_sell": 58,
      "n_total": 130,
      "rho": 0.47751489285620724,
      "p_value": 9.217349099535501e-09,
      "buy_wr": 0.6527777777777778,
      "sell_wr": 0.7413793103448276,
      "buy_mean_fwd_pts": 2.0381944444444446,
      "sell_mean_fwd_pts": -2.8448275862068964,
      "low_n_flag": false,
      "note": ""
    },
    {
      "label": "F5: ratio>1.2x, min_size>=3",
      "n_buy": 502,
      "n_sell": 543,
      "n_total": 1045,
      "rho": 0.19555124760403791,
      "p_value": 1.8229124944860092e-10,
      "buy_wr": 0.5677290836653387,
      "sell_wr": 0.48250460405156537,
      "buy_mean_fwd_pts": 0.7604581673306773,
      "sell_mean_fwd_pts": -0.40285451197053407,
      "low_n_flag": false,
      "note": ""
    },
    {
      "label": "F6: abs_spread>3 buy / <-3 sell",
      "n_buy": 4,
      "n_sell": 1,
      "n_total": 5,
      "rho": 0.7181848464596079,
      "p_value": 0.1717953049079889,
      "buy_wr": 0.75,
      "sell_wr": 1.0,
      "buy_mean_fwd_pts": 1.3125,
      "sell_mean_fwd_pts": -0.25,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "filter": "F7_quintile_breakdown",
      "quintiles": [
        {
          "quintile": "Q1",
          "n": 4440,
          "rho": 0.041751679308897754,
          "p": 0.005394467018360061
        },
        {
          "quintile": "Q2",
          "n": 4439,
          "rho": 0.09544184387639056,
          "p": 1.870059876026495e-10
        },
        {
          "quintile": "Q3",
          "n": 4439,
          "rho": 0.13946369639490006,
          "p": 1.010687230822259e-20
        },
        {
          "quintile": "Q4",
          "n": 4439,
          "rho": 0.1957541061439451,
          "p": 1.37378857980247e-39
        },
        {
          "quintile": "Q5",
          "n": 4440,
          "rho": 0.27095313182065495,
          "p": 1.452051660265341e-75
        }
      ],
      "q5_stats": {
        "label": "F7: ratio\u00d7vol in Q5 (top quintile)",
        "n_buy": 2795,
        "n_sell": 1645,
        "n_total": 4440,
        "rho": 0.27095313182065495,
        "p_value": 1.452051660265341e-75,
        "buy_wr": 0.5581395348837209,
        "sell_wr": 0.6218844984802432,
        "buy_mean_fwd_pts": 1.5133273703041146,
        "sell_mean_fwd_pts": -2.6727963525835867,
        "low_n_flag": false,
        "note": ""
      }
    },
    {
      "label": "F8: >70% big trades are buys/sells",
      "n_buy": 19,
      "n_sell": 13,
      "n_total": 32,
      "rho": 0.5972996827546497,
      "p_value": 0.00030706868083556834,
      "buy_wr": 0.7894736842105263,
      "sell_wr": 0.6923076923076923,
      "buy_mean_fwd_pts": 0.7368421052631579,
      "sell_mean_fwd_pts": -1.5,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "label": "F9: F1 + price bottom/top 25%",
      "n_buy": 9,
      "n_sell": 35,
      "n_total": 44,
      "rho": 0.35542555270177667,
      "p_value": 0.01790193944577589,
      "buy_wr": 0.8888888888888888,
      "sell_wr": 0.8285714285714286,
      "buy_mean_fwd_pts": 4.861111111111111,
      "sell_mean_fwd_pts": -3.6142857142857143,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "label": "F10: F1 + NEG GEX (range>60pt)",
      "n_buy": 20,
      "n_sell": 30,
      "n_total": 50,
      "rho": 0.6720780157455992,
      "p_value": 9.084389313442626e-08,
      "buy_wr": 0.65,
      "sell_wr": 0.8666666666666667,
      "buy_mean_fwd_pts": 2.6875,
      "sell_mean_fwd_pts": -5.333333333333333,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "label": "F11: median_size>=3, ratio>1.2x",
      "n_buy": 0,
      "n_sell": 0,
      "n_total": 0,
      "rho": null,
      "p_value": null,
      "buy_wr": NaN,
      "sell_wr": NaN,
      "buy_mean_fwd_pts": NaN,
      "sell_mean_fwd_pts": NaN,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "label": "F12: avg_size 5-15, ratio>1.2x",
      "n_buy": 64,
      "n_sell": 33,
      "n_total": 97,
      "rho": 0.5063070740488385,
      "p_value": 1.2174843969878595e-07,
      "buy_wr": 0.625,
      "sell_wr": 0.8181818181818182,
      "buy_mean_fwd_pts": 1.6484375,
      "sell_mean_fwd_pts": -3.7954545454545454,
      "low_n_flag": false,
      "note": ""
    }
  ],
  "phase1_filter7_quintiles": [
    {
      "quintile": "Q1",
      "n": 4440,
      "rho": 0.041751679308897754,
      "p": 0.005394467018360061
    },
    {
      "quintile": "Q2",
      "n": 4439,
      "rho": 0.09544184387639056,
      "p": 1.870059876026495e-10
    },
    {
      "quintile": "Q3",
      "n": 4439,
      "rho": 0.13946369639490006,
      "p": 1.010687230822259e-20
    },
    {
      "quintile": "Q4",
      "n": 4439,
      "rho": 0.1957541061439451,
      "p": 1.37378857980247e-39
    },
    {
      "quintile": "Q5",
      "n": 4440,
      "rho": 0.27095313182065495,
      "p": 1.452051660265341e-75
    }
  ],
  "phase2_stacked_combos": [
    {
      "label": "F9+F12+F4",
      "n_buy": 5,
      "n_sell": 9,
      "n_total": 14,
      "rho": 0.7714285714285714,
      "p_value": 0.0012326572868001852,
      "buy_wr": 1.0,
      "sell_wr": 1.0,
      "buy_mean_fwd_pts": 7.4,
      "sell_mean_fwd_pts": -6.75,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "label": "F12+F9",
      "n_buy": 8,
      "n_sell": 13,
      "n_total": 21,
      "rho": 0.7428571428571429,
      "p_value": 0.00011456707388370859,
      "buy_wr": 0.875,
      "sell_wr": 0.9230769230769231,
      "buy_mean_fwd_pts": 4.90625,
      "sell_mean_fwd_pts": -6.0,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "label": "F10+F5",
      "n_buy": 20,
      "n_sell": 30,
      "n_total": 50,
      "rho": 0.6720780157455992,
      "p_value": 9.084389313442626e-08,
      "buy_wr": 0.65,
      "sell_wr": 0.8666666666666667,
      "buy_mean_fwd_pts": 2.6875,
      "sell_mean_fwd_pts": -5.333333333333333,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "label": "F10+F1",
      "n_buy": 20,
      "n_sell": 30,
      "n_total": 50,
      "rho": 0.6720780157455992,
      "p_value": 9.084389313442626e-08,
      "buy_wr": 0.65,
      "sell_wr": 0.8666666666666667,
      "buy_mean_fwd_pts": 2.6875,
      "sell_mean_fwd_pts": -5.333333333333333,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "label": "F10+F9",
      "n_buy": 2,
      "n_sell": 12,
      "n_total": 14,
      "rho": 0.6666670700810451,
      "p_value": 0.009217525272830299,
      "buy_wr": 0.5,
      "sell_wr": 1.0,
      "buy_mean_fwd_pts": -0.75,
      "sell_mean_fwd_pts": -8.354166666666666,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "label": "F10+F12+F4",
      "n_buy": 6,
      "n_sell": 11,
      "n_total": 17,
      "rho": 0.6666666666666667,
      "p_value": 0.0034699602434103967,
      "buy_wr": 0.6666666666666666,
      "sell_wr": 0.9090909090909091,
      "buy_mean_fwd_pts": 6.333333333333333,
      "sell_mean_fwd_pts": -6.25,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "label": "F10+F12",
      "n_buy": 15,
      "n_sell": 15,
      "n_total": 30,
      "rho": 0.6384067803802388,
      "p_value": 0.00014699550393199964,
      "buy_wr": 0.6666666666666666,
      "sell_wr": 0.9333333333333333,
      "buy_mean_fwd_pts": 3.25,
      "sell_mean_fwd_pts": -5.966666666666667,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "label": "ALT_ULTIMATE: ratio>1.2+inst_window+NEG_GEX",
      "n_buy": 15,
      "n_sell": 15,
      "n_total": 30,
      "rho": 0.6384067803802388,
      "p_value": 0.00014699550393199964,
      "buy_wr": 0.6666666666666666,
      "sell_wr": 0.9333333333333333,
      "buy_mean_fwd_pts": 3.25,
      "sell_mean_fwd_pts": -5.966666666666667,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "label": "F10+F4",
      "n_buy": 9,
      "n_sell": 17,
      "n_total": 26,
      "rho": 0.632352978157147,
      "p_value": 0.0005283490442647294,
      "buy_wr": 0.6666666666666666,
      "sell_wr": 0.9411764705882353,
      "buy_mean_fwd_pts": 5.027777777777778,
      "sell_mean_fwd_pts": -7.294117647058823,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "label": "F12+F4",
      "n_buy": 40,
      "n_sell": 22,
      "n_total": 62,
      "rho": 0.5571074300268799,
      "p_value": 2.5657938589500394e-06,
      "buy_wr": 0.675,
      "sell_wr": 0.8636363636363636,
      "buy_mean_fwd_pts": 2.625,
      "sell_mean_fwd_pts": -4.431818181818182,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "label": "F10+F12+F9",
      "n_buy": 2,
      "n_sell": 8,
      "n_total": 10,
      "rho": 0.5515151515151515,
      "p_value": 0.09840117666963498,
      "buy_wr": 0.5,
      "sell_wr": 1.0,
      "buy_mean_fwd_pts": -0.75,
      "sell_mean_fwd_pts": -8.0625,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "label": "F12+F5",
      "n_buy": 64,
      "n_sell": 33,
      "n_total": 97,
      "rho": 0.5063070740488385,
      "p_value": 1.2174843969878595e-07,
      "buy_wr": 0.625,
      "sell_wr": 0.8181818181818182,
      "buy_mean_fwd_pts": 1.6484375,
      "sell_mean_fwd_pts": -3.7954545454545454,
      "low_n_flag": false,
      "note": ""
    },
    {
      "label": "F12+F1",
      "n_buy": 64,
      "n_sell": 33,
      "n_total": 97,
      "rho": 0.5063070740488385,
      "p_value": 1.2174843969878595e-07,
      "buy_wr": 0.625,
      "sell_wr": 0.8181818181818182,
      "buy_mean_fwd_pts": 1.6484375,
      "sell_mean_fwd_pts": -3.7954545454545454,
      "low_n_flag": false,
      "note": ""
    },
    {
      "label": "F4+F5",
      "n_buy": 70,
      "n_sell": 55,
      "n_total": 125,
      "rho": 0.48379363373979184,
      "p_value": 1.0935385784319474e-08,
      "buy_wr": 0.6428571428571429,
      "sell_wr": 0.7636363636363637,
      "buy_mean_fwd_pts": 2.0285714285714285,
      "sell_mean_fwd_pts": -3.0,
      "low_n_flag": false,
      "note": ""
    },
    {
      "label": "F4+F1",
      "n_buy": 72,
      "n_sell": 58,
      "n_total": 130,
      "rho": 0.47751489285620724,
      "p_value": 9.217349099535501e-09,
      "buy_wr": 0.6527777777777778,
      "sell_wr": 0.7413793103448276,
      "buy_mean_fwd_pts": 2.0381944444444446,
      "sell_mean_fwd_pts": -2.8448275862068964,
      "low_n_flag": false,
      "note": ""
    },
    {
      "label": "F5+F1",
      "n_buy": 102,
      "n_sell": 82,
      "n_total": 184,
      "rho": 0.46356476927430185,
      "p_value": 3.4317978989489805e-11,
      "buy_wr": 0.5980392156862745,
      "sell_wr": 0.7439024390243902,
      "buy_mean_fwd_pts": 1.411764705882353,
      "sell_mean_fwd_pts": -2.625,
      "low_n_flag": false,
      "note": ""
    },
    {
      "label": "F9+F5",
      "n_buy": 9,
      "n_sell": 34,
      "n_total": 43,
      "rho": 0.3856932764780744,
      "p_value": 0.010639718625674319,
      "buy_wr": 0.8888888888888888,
      "sell_wr": 0.8235294117647058,
      "buy_mean_fwd_pts": 4.861111111111111,
      "sell_mean_fwd_pts": -3.698529411764706,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "label": "F9+F4",
      "n_buy": 6,
      "n_sell": 26,
      "n_total": 32,
      "rho": 0.3694058220924861,
      "p_value": 0.03745429534015285,
      "buy_wr": 1.0,
      "sell_wr": 0.8461538461538461,
      "buy_mean_fwd_pts": 6.916666666666667,
      "sell_mean_fwd_pts": -3.8173076923076925,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "label": "F9+F1",
      "n_buy": 9,
      "n_sell": 35,
      "n_total": 44,
      "rho": 0.35542555270177667,
      "p_value": 0.01790193944577589,
      "buy_wr": 0.8888888888888888,
      "sell_wr": 0.8285714285714286,
      "buy_mean_fwd_pts": 4.861111111111111,
      "sell_mean_fwd_pts": -3.6142857142857143,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "label": "F10+F9+F4",
      "n_buy": 0,
      "n_sell": 8,
      "n_total": 8,
      "rho": 0.3113828280974473,
      "p_value": 0.45279875742633724,
      "buy_wr": NaN,
      "sell_wr": 1.0,
      "buy_mean_fwd_pts": NaN,
      "sell_mean_fwd_pts": -10.0,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "label": "ULTIMATE: ratio>1.3+max_size>=5+NEG_GEX+location",
      "n_buy": 0,
      "n_sell": 8,
      "n_total": 8,
      "rho": 0.3113828280974473,
      "p_value": 0.45279875742633724,
      "buy_wr": NaN,
      "sell_wr": 1.0,
      "buy_mean_fwd_pts": NaN,
      "sell_mean_fwd_pts": -10.0,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "label": "F12+F2",
      "n_buy": 6,
      "n_sell": 1,
      "n_total": 7,
      "rho": 0.21428571428571433,
      "p_value": 0.6445115810207203,
      "buy_wr": 0.6666666666666666,
      "sell_wr": 1.0,
      "buy_mean_fwd_pts": 2.125,
      "sell_mean_fwd_pts": -0.25,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "label": "F2+F5",
      "n_buy": 6,
      "n_sell": 1,
      "n_total": 7,
      "rho": 0.21428571428571433,
      "p_value": 0.6445115810207203,
      "buy_wr": 0.6666666666666666,
      "sell_wr": 1.0,
      "buy_mean_fwd_pts": 2.125,
      "sell_mean_fwd_pts": -0.25,
      "low_n_flag": true,
      "note": "low N - unreliable"
    },
    {
      "label": "F2+F1",
      "n_buy": 6,
      "n_sell": 1,
      "n_total": 7,
      "rho": 0.21428571428571433,
      "p_value": 0.6445115810207203,
      "buy_wr": 0.6666666666666666,
      "sell_wr": 1.0,
      "buy_mean_fwd_pts": 2.125,
      "sell_mean_fwd_pts": -0.25,
      "low_n_flag": true,
      "note": "low N - unreliable"
    }
  ],
  "phase2_all_combos_count": 28,
  "phase2_best_combo_label": "F12+F5",
  "phase2_pnl_simulation": {
    "best_combo": "F12+F5",
    "holds": {
      "3min": {
        "hold_min": 3,
        "n_trades": 97,
        "n_buy_trades": 64,
        "n_sell_trades": 33,
        "win_rate": 0.6597938144329897,
        "avg_pnl_pts": 1.2216494845360826,
        "total_pnl_pts": 118.5,
        "buy_wr": 0.65625,
        "sell_wr": 0.6666666666666666
      },
      "4min": {
        "hold_min": 4,
        "n_trades": 97,
        "n_buy_trades": 64,
        "n_sell_trades": 33,
        "win_rate": 0.6907216494845361,
        "avg_pnl_pts": 2.3788659793814433,
        "total_pnl_pts": 230.75,
        "buy_wr": 0.625,
        "sell_wr": 0.8181818181818182
      },
      "5min": {
        "hold_min": 5,
        "n_trades": 6,
        "n_buy_trades": 5,
        "n_sell_trades": 1,
        "win_rate": 0.8333333333333334,
        "avg_pnl_pts": 1.2083333333333333,
        "total_pnl_pts": 7.25,
        "buy_wr": 0.8,
        "sell_wr": 1.0
      }
    }
  },
  "phase3_null_test": {
    "best_combo": "F12+F5",
    "actual_rho": 0.5063070740488385,
    "actual_buy_wr": 0.625,
    "n_shuffles": 5000,
    "rho_p_value": 0.0,
    "wr_p_value": 0.0316,
    "rho_significant": true,
    "wr_significant": true,
    "interpretation": "p_rho=0.0000 (highly significant, 0/5000 shuffles beat actual), p_wr=0.0316 (significant at 0.05). The rho=0.5063 is genuine and not attributable to chance. Buy WR of 62.5% IS statistically significant.",
    "wr_binomial_p": 0.029970594783499616,
    "wr_binomial_significant": "True",
    "wr_note": "Fixed: permutation test using binomial simulation (H0: p_win=0.5). Original permutation test was incorrect (permuting values does not change WR)."
  },
  "critical_finding": {
    "discovery": "F12+F5 (best combo) fires predominantly at 15:55 ET",
    "detail_buy": "59 of 64 buy signals (92%) occur at 15:55 ET window (last 5-min window of RTH)",
    "detail_sell": "32 of 33 sell signals (97%) occur at 15:55 ET",
    "interpretation": "The institutional window signal (avg trade size 5-15 lots, ratio>1.2x, both sides min 3 lots) clusters at end-of-day. This is likely MOC (market-on-close) or closing auction institutional flow. 4-min hold from 15:55 = hold to 15:59 (last bar before close). This strategy is essentially: when institutional buyers dominate the last 5-min window before close, buy and hold to 15:59",
    "practical_implications": [
      "Strategy fires ~59 buy days and ~32 sell days per year (290 days studied)",
      "4-min hold is the ONLY viable hold: fwd5 would need 16:00 bar (not available in RTH)",
      "This is an end-of-day MOC flow strategy, not intraday",
      "WR=0.691 at 4-min hold with avg 2.38pts per trade",
      "Total backtest PnL: 230.75pts over 290 days (97 trades total)"
    ],
    "eod_cluster_stats": {
      "buy_at_1555": 59,
      "buy_total": 64,
      "sell_at_1555": 32,
      "sell_total": 33,
      "pct_eod_buy": 0.922,
      "pct_eod_sell": 0.97
    }
  }
}