{
  "metadata": {
    "generated_at": "2026-04-01T05:34:29.020201",
    "n_trading_days": 1688,
    "date_range": [
      "2019-01-02",
      "2026-03-27"
    ],
    "sectors": [
      "XLK",
      "XLV",
      "XLF",
      "XLY",
      "XLC",
      "XLI",
      "XLP",
      "XLE",
      "XLU",
      "XLRE",
      "XLB"
    ],
    "data_source": "etf_databento ohlcv-1m 7yr + es_1min_delta_bars"
  },
  "studies": {
    "study1": {
      "description": "Divergence@10:00AM \u2192 SPX fwd return to close",
      "spearman_rho": 0.1004987806617102,
      "spearman_p": 0.0061809324483309966,
      "null_test_p": 0.0066,
      "walk_forward": {
        "train_n": 444,
        "train_rho": 0.08110151996286334,
        "train_p": 0.08783870693756762,
        "test_n": 297,
        "test_rho": 0.12324085715224808,
        "test_p": 0.033750685277409175
      },
      "quintile_analysis": [
        {
          "quintile": 1,
          "x_range": [
            -0.006068698975835444,
            -0.001242125616671486
          ],
          "n": 148,
          "mean_y": -0.0008334092496388873,
          "wr_positive_y": 0.44594594594594594
        },
        {
          "quintile": 2,
          "x_range": [
            -0.001242125616671486,
            -0.00031708802367955407
          ],
          "n": 148,
          "mean_y": 2.1862057042558484e-05,
          "wr_positive_y": 0.5202702702702703
        },
        {
          "quintile": 3,
          "x_range": [
            -0.00031708802367955407,
            0.0003763073061404403
          ],
          "n": 148,
          "mean_y": -5.448841304809091e-05,
          "wr_positive_y": 0.5540540540540541
        },
        {
          "quintile": 4,
          "x_range": [
            0.0003763073061404403,
            0.0012236988238297488
          ],
          "n": 148,
          "mean_y": 0.0004905221535033984,
          "wr_positive_y": 0.5945945945945946
        },
        {
          "quintile": 5,
          "x_range": [
            0.0012236988238297488,
            0.009184843571478502
          ],
          "n": 149,
          "mean_y": 0.0010198327177793935,
          "wr_positive_y": 0.5503355704697986
        }
      ],
      "wr_pos_divergence": 0.58311345646438,
      "n_pos_divergence": 379,
      "wr_neg_divergence": 0.48066298342541436,
      "n_neg_divergence": 362,
      "n_total": 741
    },
    "study2": {
      "description": "Divergence@10:30AM \u2192 SPX fwd return to close",
      "spearman_rho": 0.09097710708496057,
      "spearman_p": 0.013610192140123507,
      "null_test_p": 0.014,
      "walk_forward": {
        "train_n": 441,
        "train_rho": 0.10424211642699037,
        "train_p": 0.028608635311177744,
        "test_n": 294,
        "test_rho": 0.07328357787833752,
        "test_p": 0.21024795783573358
      },
      "quintile_analysis": [
        {
          "quintile": 1,
          "x_range": [
            -0.008857263062719289,
            -0.0014260428409067854
          ],
          "n": 147,
          "mean_y": -0.0002982276173137267,
          "wr_positive_y": 0.5102040816326531
        },
        {
          "quintile": 2,
          "x_range": [
            -0.0014260428409067854,
            -0.00026687073973250875
          ],
          "n": 147,
          "mean_y": -0.0003732720381003929,
          "wr_positive_y": 0.48299319727891155
        },
        {
          "quintile": 3,
          "x_range": [
            -0.00026687073973250875,
            0.0005348062210150237
          ],
          "n": 147,
          "mean_y": -0.00046790269346455674,
          "wr_positive_y": 0.5170068027210885
        },
        {
          "quintile": 4,
          "x_range": [
            0.0005348062210150237,
            0.001390206353177823
          ],
          "n": 147,
          "mean_y": 0.001236391012288841,
          "wr_positive_y": 0.6258503401360545
        },
        {
          "quintile": 5,
          "x_range": [
            0.001390206353177823,
            0.008146792473166404
          ],
          "n": 147,
          "mean_y": 0.0008302041949880479,
          "wr_positive_y": 0.5850340136054422
        }
      ],
      "wr_pos_divergence": 0.5801526717557252,
      "n_pos_divergence": 393,
      "wr_neg_divergence": 0.5029239766081871,
      "n_neg_divergence": 342,
      "n_total": 735
    },
    "study3": {
      "description": "SPX direction + divergence \u2192 forward return scenarios",
      "scenarios": [
        {
          "check_time": "10:00",
          "scenario": "SPX_up+narrow_rally",
          "n": 253,
          "win_rate_fwd_positive": 0.5770750988142292,
          "mean_fwd_return": 0.0005638807182186489,
          "spearman_rho": -0.00547016603161759,
          "spearman_p": 0.931006873373051
        },
        {
          "check_time": "10:00",
          "scenario": "SPX_up+broad_rally",
          "n": 138,
          "win_rate_fwd_positive": 0.5217391304347826,
          "mean_fwd_return": -1.15745736065597e-05,
          "spearman_rho": -0.013246923149817359,
          "spearman_p": 0.8774462094121878
        },
        {
          "check_time": "10:00",
          "scenario": "SPX_down+narrow",
          "n": 125,
          "win_rate_fwd_positive": 0.6,
          "mean_fwd_return": 0.0013607273215456219,
          "spearman_rho": -0.061947772657450065,
          "spearman_p": 0.49252478992312876
        },
        {
          "check_time": "10:00",
          "scenario": "SPX_down+broad",
          "n": 221,
          "win_rate_fwd_positive": 0.45248868778280543,
          "mean_fwd_return": -0.0009715972217233436,
          "spearman_rho": 0.03565878674630385,
          "spearman_p": 0.5980078134553047
        },
        {
          "check_time": "10:30",
          "scenario": "SPX_up+narrow_rally",
          "n": 259,
          "win_rate_fwd_positive": 0.5984555984555985,
          "mean_fwd_return": 0.0005358440887401607,
          "spearman_rho": 0.011909021211346791,
          "spearman_p": 0.8487314346892799
        },
        {
          "check_time": "10:30",
          "scenario": "SPX_up+broad_rally",
          "n": 124,
          "win_rate_fwd_positive": 0.5887096774193549,
          "mean_fwd_return": 0.0006969430855633682,
          "spearman_rho": -0.07401416207710464,
          "spearman_p": 0.41395068629298915
        },
        {
          "check_time": "10:30",
          "scenario": "SPX_down+narrow",
          "n": 130,
          "win_rate_fwd_positive": 0.5384615384615384,
          "mean_fwd_return": 0.0007339868136552023,
          "spearman_rho": 0.14415327261057778,
          "spearman_p": 0.10178013587822954
        },
        {
          "check_time": "10:30",
          "scenario": "SPX_down+broad",
          "n": 215,
          "win_rate_fwd_positive": 0.4558139534883721,
          "mean_fwd_return": -0.0008928165412702234,
          "spearman_rho": 0.03773878798654691,
          "spearman_p": 0.5820933871426376
        },
        {
          "check_time": "11:00",
          "scenario": "SPX_up+narrow_rally",
          "n": 264,
          "win_rate_fwd_positive": 0.5606060606060606,
          "mean_fwd_return": 0.0005115654956321578,
          "spearman_rho": 0.04000613060803892,
          "spearman_p": 0.5175042222389885
        },
        {
          "check_time": "11:00",
          "scenario": "SPX_up+broad_rally",
          "n": 118,
          "win_rate_fwd_positive": 0.5169491525423728,
          "mean_fwd_return": 0.00027468956301634475,
          "spearman_rho": -0.08010035826586176,
          "spearman_p": 0.3885573100896521
        },
        {
          "check_time": "11:00",
          "scenario": "SPX_down+narrow",
          "n": 122,
          "win_rate_fwd_positive": 0.5901639344262295,
          "mean_fwd_return": 9.098928866733536e-05,
          "spearman_rho": -0.019030404367178747,
          "spearman_p": 0.8351878684233911
        },
        {
          "check_time": "11:00",
          "scenario": "SPX_down+broad",
          "n": 227,
          "win_rate_fwd_positive": 0.5242290748898678,
          "mean_fwd_return": -9.808936201187636e-05,
          "spearman_rho": 0.19084102599878125,
          "spearman_p": 0.0039016179242960156
        }
      ]
    },
    "study4": {
      "description": "30-min divergence change \u2192 forward 30/60 min SPX return",
      "fwd_30min": {
        "spearman_rho": -0.01708040485454025,
        "spearman_p": 0.17776602737707448,
        "null_test_p": null,
        "n": 6227,
        "walk_forward": {
          "train_n": 3736,
          "train_rho": -0.020645952568305554,
          "train_p": 0.20707433519914742,
          "test_n": 2491,
          "test_rho": -0.011698449767181042,
          "test_p": 0.5594924278224889
        },
        "quintile_analysis": [
          {
            "quintile": 1,
            "x_range": [
              -0.004217427649139721,
              -0.0003897683421787607
            ],
            "n": 1246,
            "mean_y": 2.653641896314566e-05,
            "wr_positive_y": 0.5104333868378812
          },
          {
            "quintile": 2,
            "x_range": [
              -0.0003897683421787607,
              -9.684796498717844e-05
            ],
            "n": 1245,
            "mean_y": 1.416505560033374e-06,
            "wr_positive_y": 0.5220883534136547
          },
          {
            "quintile": 3,
            "x_range": [
              -9.684796498717844e-05,
              0.00012675937622163834
            ],
            "n": 1245,
            "mean_y": 2.908930854542802e-05,
            "wr_positive_y": 0.5228915662650603
          },
          {
            "quintile": 4,
            "x_range": [
              0.00012675937622163834,
              0.00040918650666391446
            ],
            "n": 1245,
            "mean_y": -4.9460375408012894e-05,
            "wr_positive_y": 0.4931726907630522
          },
          {
            "quintile": 5,
            "x_range": [
              0.00040918650666391446,
              0.0035516385579362555
            ],
            "n": 1246,
            "mean_y": -1.554326358854779e-05,
            "wr_positive_y": 0.507223113964687
          }
        ]
      },
      "fwd_60min": {
        "spearman_rho": 0.00856505429068841,
        "spearman_p": 0.5349934043547715,
        "null_test_p": null,
        "n": 5249,
        "walk_forward": {
          "train_n": 3149,
          "train_rho": 0.004990731855393683,
          "train_p": 0.779515697717696,
          "test_n": 2100,
          "test_rho": 0.014607050750542359,
          "test_p": 0.5034850813272662
        },
        "quintile_analysis": [
          {
            "quintile": 1,
            "x_range": [
              -0.004217427649139721,
              -0.00041321047400800934
            ],
            "n": 1050,
            "mean_y": -8.88406134269138e-05,
            "wr_positive_y": 0.5085714285714286
          },
          {
            "quintile": 2,
            "x_range": [
              -0.00041321047400800934,
              -9.997212346086548e-05
            ],
            "n": 1050,
            "mean_y": -1.8591233524651018e-05,
            "wr_positive_y": 0.5247619047619048
          },
          {
            "quintile": 3,
            "x_range": [
              -9.997212346086548e-05,
              0.0001335060483368778
            ],
            "n": 1049,
            "mean_y": -1.650344635846199e-05,
            "wr_positive_y": 0.49952335557673977
          },
          {
            "quintile": 4,
            "x_range": [
              0.0001335060483368778,
              0.00043727033393909574
            ],
            "n": 1050,
            "mean_y": 5.42757769436634e-05,
            "wr_positive_y": 0.5285714285714286
          },
          {
            "quintile": 5,
            "x_range": [
              0.00043727033393909574,
              0.0035516385579362555
            ],
            "n": 1050,
            "mean_y": 0.00011404084276496112,
            "wr_positive_y": 0.5257142857142857
          }
        ]
      }
    },
    "study5": {
      "description": "Max intraday concentration (abs divergence) vs daily ES range",
      "spearman_rho": 0.3343435784852579,
      "spearman_p": 3.7820111934774466e-21,
      "null_test_p": 0.0,
      "n": 754,
      "walk_forward": {
        "train_n": 452,
        "train_rho": 0.2602059174731753,
        "train_p": 1.980188005972195e-08,
        "test_n": 302,
        "test_rho": 0.4170198740848321,
        "test_p": 3.897008749996661e-14
      },
      "quintile_analysis": [
        {
          "quintile": 1,
          "x_range": [
            0.0005469485542447593,
            0.0016482079237081003
          ],
          "n": 151,
          "mean_y": 0.007934680078203832,
          "wr_positive_y": 1.0
        },
        {
          "quintile": 2,
          "x_range": [
            0.0016482079237081003,
            0.00220769999383633
          ],
          "n": 151,
          "mean_y": 0.008910047088247393,
          "wr_positive_y": 1.0
        },
        {
          "quintile": 3,
          "x_range": [
            0.00220769999383633,
            0.0029629497387877067
          ],
          "n": 150,
          "mean_y": 0.009241498079148985,
          "wr_positive_y": 1.0
        },
        {
          "quintile": 4,
          "x_range": [
            0.0029629497387877067,
            0.003933133339414096
          ],
          "n": 151,
          "mean_y": 0.023898283751743653,
          "wr_positive_y": 1.0
        },
        {
          "quintile": 5,
          "x_range": [
            0.003933133339414096,
            0.01423701859205942
          ],
          "n": 151,
          "mean_y": 0.027646359816327917,
          "wr_positive_y": 1.0
        }
      ],
      "note": "Positive rho = higher concentration \u2192 larger range; negative = concentration predicts tighter range"
    },
    "study6": {
      "description": "15-min rolling slope of unweighted A/D line \u2192 next 30-min return",
      "spearman_rho": 0.005392962339070988,
      "spearman_p": 0.6818116099944042,
      "null_test_p": null,
      "n": 5782,
      "walk_forward": {
        "train_n": 3469,
        "train_rho": -0.0034695066984877067,
        "train_p": 0.8381388173683443,
        "test_n": 2313,
        "test_rho": 0.017972067543804787,
        "test_p": 0.38761809089279475
      },
      "quintile_analysis": [
        {
          "quintile": 1,
          "x_range": [
            -0.12824675324675322,
            -0.006393606393606394
          ],
          "n": 1155,
          "mean_y": -2.1925160327575778e-05,
          "wr_positive_y": 0.5116883116883116
        },
        {
          "quintile": 2,
          "x_range": [
            -0.006393606393606394,
            0.0
          ],
          "n": 529,
          "mean_y": -1.0820565141354341e-05,
          "wr_positive_y": 0.504725897920605
        },
        {
          "quintile": 3,
          "x_range": [
            0.0,
            0.0
          ],
          "n": 0,
          "mean_y": NaN,
          "wr_positive_y": NaN
        },
        {
          "quintile": 4,
          "x_range": [
            0.0,
            0.00743801652892562
          ],
          "n": 2939,
          "mean_y": 1.3517041821935442e-05,
          "wr_positive_y": 0.5216059884314392
        },
        {
          "quintile": 5,
          "x_range": [
            0.00743801652892562,
            0.0895104895104895
          ],
          "n": 1159,
          "mean_y": 3.532476147887548e-05,
          "wr_positive_y": 0.5030198446937014
        }
      ],
      "wr_accelerating_breadth": 0.5027654867256637,
      "n_accelerating": 1808,
      "wr_decelerating_breadth": 0.5095011876484561,
      "n_decelerating": 1684
    },
    "study7": {
      "description": "Extreme divergence (\u00b12 std) \u2192 rest-of-day return (mean reversion test)",
      "n_extreme_days": 124,
      "pct_extreme_days": 0.0735,
      "divergence_global_mean": 2.5907568091548593e-05,
      "divergence_global_std": 0.0021505692903522073,
      "spearman_rho": 0.06867033831628638,
      "spearman_p": 0.4485520046065128,
      "null_test_p": null,
      "walk_forward": {
        "train_n": 74,
        "train_rho": 0.10838948537578673,
        "train_p": 0.357970156240357,
        "test_n": 50,
        "test_rho": -0.045474189675870344,
        "test_p": 0.7538397485818785
      },
      "quintile_analysis": [
        {
          "quintile": 1,
          "x_range": [
            -0.004993457642397953,
            -0.0043857918198501565
          ],
          "n": 25,
          "mean_y": -0.0025442666158261096,
          "wr_positive_y": 0.32
        },
        {
          "quintile": 2,
          "x_range": [
            -0.0043857918198501565,
            -0.0043187462559477405
          ],
          "n": 25,
          "mean_y": -0.00018284098161241324,
          "wr_positive_y": 0.48
        },
        {
          "quintile": 3,
          "x_range": [
            -0.0043187462559477405,
            -0.00428076170929248
          ],
          "n": 24,
          "mean_y": -0.0005772024149438606,
          "wr_positive_y": 0.625
        },
        {
          "quintile": 4,
          "x_range": [
            -0.00428076170929248,
            0.004393477111437015
          ],
          "n": 25,
          "mean_y": -0.0008982435693215951,
          "wr_positive_y": 0.44
        },
        {
          "quintile": 5,
          "x_range": [
            0.004393477111437015,
            0.0052970644879514524
          ],
          "n": 25,
          "mean_y": 0.0023226503103299166,
          "wr_positive_y": 0.48
        }
      ],
      "pos_extreme": {
        "n": 44,
        "wr_fwd_positive": 0.45454545454545453,
        "mean_fwd_return": 0.000987232238110102
      },
      "neg_extreme": {
        "n": 80,
        "wr_fwd_positive": 0.475,
        "mean_fwd_return": -0.001123232473078152
      },
      "note": "neg rho = mean reversion; pos rho = momentum after extreme"
    },
    "study8": {
      "description": "Weighted vs Unweighted A/D return@10:30AM \u2192 SPX close prediction head-to-head",
      "weighted": {
        "spearman_rho": 0.540365715292533,
        "spearman_p": 5.934992481611385e-57,
        "null_test_p": 0.0,
        "walk_forward": {
          "train_n": 441,
          "train_rho": 0.5242076034682269,
          "train_p": 1.697155524321096e-32,
          "test_n": 294,
          "test_rho": 0.5630925401171546,
          "test_p": 5.417478520435028e-26
        },
        "quintile_analysis": [
          {
            "quintile": 1,
            "x_range": [
              -0.015229168423946417,
              -0.002404256776612038
            ],
            "n": 147,
            "mean_y": -0.0051026762725811525,
            "wr_positive_y": 0.1836734693877551
          },
          {
            "quintile": 2,
            "x_range": [
              -0.002404256776612038,
              -0.0005090139249381473
            ],
            "n": 147,
            "mean_y": -0.0014407157441285402,
            "wr_positive_y": 0.4421768707482993
          },
          {
            "quintile": 3,
            "x_range": [
              -0.0005090139249381473,
              0.0009053223330305144
            ],
            "n": 147,
            "mean_y": 0.0002761041182560156,
            "wr_positive_y": 0.5306122448979592
          },
          {
            "quintile": 4,
            "x_range": [
              0.0009053223330305144,
              0.0025143932034538065
            ],
            "n": 147,
            "mean_y": 0.0019270869683800508,
            "wr_positive_y": 0.7278911564625851
          },
          {
            "quintile": 5,
            "x_range": [
              0.0025143932034538065,
              0.018615531772715948
            ],
            "n": 147,
            "mean_y": 0.005303688797500033,
            "wr_positive_y": 0.7891156462585034
          }
        ]
      },
      "unweighted": {
        "spearman_rho": 0.3742078096559661,
        "spearman_p": 7.593221526797447e-26,
        "null_test_p": 0.0,
        "walk_forward": {
          "train_n": 441,
          "train_rho": 0.3587097901646602,
          "train_p": 7.746124077685336e-15,
          "test_n": 294,
          "test_rho": 0.4012981798636233,
          "test_p": 8.399086661583908e-13
        },
        "quintile_analysis": [
          {
            "quintile": 1,
            "x_range": [
              -0.01724488091820397,
              -0.0025705213702368643
            ],
            "n": 147,
            "mean_y": -0.0033681276910177676,
            "wr_positive_y": 0.30612244897959184
          },
          {
            "quintile": 2,
            "x_range": [
              -0.0025705213702368643,
              -0.00047226267305485066
            ],
            "n": 147,
            "mean_y": -0.0013519860533576845,
            "wr_positive_y": 0.4489795918367347
          },
          {
            "quintile": 3,
            "x_range": [
              -0.00047226267305485066,
              0.0010419888617727421
            ],
            "n": 147,
            "mean_y": 0.0005209435516398062,
            "wr_positive_y": 0.5714285714285714
          },
          {
            "quintile": 4,
            "x_range": [
              0.0010419888617727421,
              0.002470346330951889
            ],
            "n": 147,
            "mean_y": 0.0010904601269061216,
            "wr_positive_y": 0.6462585034013606
          },
          {
            "quintile": 5,
            "x_range": [
              0.002470346330951889,
              0.012060318245645072
            ],
            "n": 147,
            "mean_y": 0.0040721979332559305,
            "wr_positive_y": 0.7006802721088435
          }
        ]
      },
      "partial_corr_uw_given_w": {
        "rho": -0.15607494034220723,
        "p": 2.1357962656564982e-05,
        "interpretation": "Does unweighted add predictive power beyond weighted?"
      },
      "winner": "weighted",
      "n_total": 735
    }
  }
}