{
  "meta": {
    "indicator_csv": "/Users/daniel/.openclaw/workspace/data/wasserstein_hmm_indicator.csv",
    "rows_before_fomc_filter": 47658,
    "rows_after_fomc_filter": 46098,
    "fomc_removed": 1560,
    "coverage_days": 591,
    "is_split_day": "2025-02-26"
  },
  "regime_semantic_mapping_1h": {
    "risk_off": 0,
    "transition": 2,
    "risk_on": 1
  },
  "horizons": {
    "30m": {
      "ret_col": "ret_30m",
      "regime_alpha_from_is": {
        "0": -0.0002207657422550784,
        "1": 2.1405714643219906e-05,
        "2": 4.0533230578806014e-05
      },
      "regime_size_from_is": {
        "0": 0.6901540635648609,
        "1": 0.942803374889191,
        "2": 1.367042561545948
      },
      "is": {
        "n": 25560,
        "ic_spearman": 0.02448788869139829,
        "ic_pvalue": 9.025608652166429e-05,
        "hit_rate": 0.5236306729264476,
        "avg_return_bps": 0.5697780626585729,
        "sharpe_like": 4.971801899200543
      },
      "oos": {
        "n": 16992,
        "ic_spearman": -0.012480464779831857,
        "ic_pvalue": 0.10377655189695342,
        "hit_rate": 0.508415725047081,
        "avg_return_bps": -0.09079789595432611,
        "sharpe_like": -0.5487649608679916
      },
      "sizing_is": {
        "avg_dir_bps": 0.5697780626585729,
        "avg_sized_bps": 0.5594617838251857,
        "vol_dir_bps": 16.06748768797123,
        "vol_sized_bps": 16.656038534410552,
        "hit_dir": 0.5236306729264476,
        "hit_sized": 0.5236306729264476
      },
      "sizing_oos": {
        "avg_dir_bps": -0.09079789595432611,
        "avg_sized_bps": -0.09353298889412462,
        "vol_dir_bps": 23.197958266600338,
        "vol_sized_bps": 19.53219847081661,
        "hit_dir": 0.508415725047081,
        "hit_sized": 0.508415725047081
      },
      "walk_forward_oos": {
        "n_windows": 4,
        "positive_ratio": 0.5,
        "mean_ic": -0.017151566503768173,
        "windows": [
          {
            "start": "2025-02-27",
            "end": "2025-05-29",
            "n": 4320,
            "ic": 0.00972297165664259
          },
          {
            "start": "2025-05-30",
            "end": "2025-08-29",
            "n": 4320,
            "ic": -0.06104490786457637
          },
          {
            "start": "2025-09-02",
            "end": "2025-12-01",
            "n": 4320,
            "ic": -0.018532615603211754
          },
          {
            "start": "2025-12-02",
            "end": "2026-02-27",
            "n": 4032,
            "ic": 0.001248285796072835
          }
        ]
      }
    },
    "1h": {
      "ret_col": "ret_1h",
      "regime_alpha_from_is": {
        "0": -0.00034759415468747036,
        "1": 9.313494292348241e-05,
        "2": 5.127655720325028e-05
      },
      "regime_size_from_is": {
        "0": 0.7138330371885159,
        "1": 0.9588546430340559,
        "2": 1.3273123197774286
      },
      "is": {
        "n": 23430,
        "ic_spearman": 0.04041280095985029,
        "ic_pvalue": 6.088244353718551e-10,
        "hit_rate": 0.5303883909517713,
        "avg_return_bps": 1.0447996844297731,
        "sharpe_like": 6.530928100556381
      },
      "oos": {
        "n": 15576,
        "ic_spearman": -0.0023643555762117466,
        "ic_pvalue": 0.7679500314170812,
        "hit_rate": 0.5245891114535183,
        "avg_return_bps": 0.016921037661061417,
        "sharpe_like": 0.07618879374940093
      },
      "sizing_is": {
        "avg_dir_bps": 1.0447996844297731,
        "avg_sized_bps": 0.9896010454170644,
        "vol_dir_bps": 22.429261275086677,
        "vol_sized_bps": 23.26661934764921,
        "hit_dir": 0.5303883909517713,
        "hit_sized": 0.5303883909517713
      },
      "sizing_oos": {
        "avg_dir_bps": 0.016921037661061417,
        "avg_sized_bps": -0.028148644387875805,
        "vol_dir_bps": 31.13847990545666,
        "vol_sized_bps": 27.04975471388219,
        "hit_dir": 0.5245891114535183,
        "hit_sized": 0.5245891114535183
      },
      "walk_forward_oos": {
        "n_windows": 4,
        "positive_ratio": 0.75,
        "mean_ic": -0.0012058079379058985,
        "windows": [
          {
            "start": "2025-02-27",
            "end": "2025-05-29",
            "n": 3960,
            "ic": 0.008724887187865774
          },
          {
            "start": "2025-05-30",
            "end": "2025-08-29",
            "n": 3960,
            "ic": 0.01223102380675069
          },
          {
            "start": "2025-09-02",
            "end": "2025-12-01",
            "n": 3960,
            "ic": 0.005074964570765659
          },
          {
            "start": "2025-12-02",
            "end": "2026-02-27",
            "n": 3696,
            "ic": -0.030854107317005715
          }
        ]
      }
    },
    "2h": {
      "ret_col": "ret_2h",
      "regime_alpha_from_is": {
        "0": -0.00038196958009574153,
        "1": 0.0001368987706824162,
        "2": 0.00010884862723136678
      },
      "regime_size_from_is": {
        "0": 0.750383583144241,
        "1": 0.96450485934316,
        "2": 1.285111557512599
      },
      "is": {
        "n": 19170,
        "ic_spearman": 0.03418752473506826,
        "ic_pvalue": 2.1955759564414645e-06,
        "hit_rate": 0.5392801251956182,
        "avg_return_bps": 1.5885333593476718,
        "sharpe_like": 7.00186629521677
      },
      "oos": {
        "n": 12744,
        "ic_spearman": 0.010322282130293375,
        "ic_pvalue": 0.24394119692801586,
        "hit_rate": 0.5419020715630886,
        "avg_return_bps": 1.0284396610324724,
        "sharpe_like": 3.3180951713682005
      },
      "sizing_is": {
        "avg_dir_bps": 1.5885333593476718,
        "avg_sized_bps": 1.5858148313584048,
        "vol_dir_bps": 31.808370808535017,
        "vol_sized_bps": 32.7241001166131,
        "hit_dir": 0.5392801251956182,
        "hit_sized": 0.5392801251956182
      },
      "sizing_oos": {
        "avg_dir_bps": 1.0284396610324724,
        "avg_sized_bps": 0.8906794494466207,
        "vol_dir_bps": 43.456484431632774,
        "vol_sized_bps": 38.212127218845524,
        "hit_dir": 0.5419020715630886,
        "hit_sized": 0.5419020715630886
      },
      "walk_forward_oos": {
        "n_windows": 4,
        "positive_ratio": 0.5,
        "mean_ic": 0.0009413103462638734,
        "windows": [
          {
            "start": "2025-02-27",
            "end": "2025-05-29",
            "n": 3240,
            "ic": 0.05008814717236398
          },
          {
            "start": "2025-05-30",
            "end": "2025-08-29",
            "n": 3240,
            "ic": -0.05458656869597205
          },
          {
            "start": "2025-09-02",
            "end": "2025-12-01",
            "n": 3240,
            "ic": 0.027178955850230252
          },
          {
            "start": "2025-12-02",
            "end": "2026-02-27",
            "n": 3024,
            "ic": -0.018915292941566682
          }
        ]
      }
    },
    "eod": {
      "ret_col": "ret_eod",
      "regime_alpha_from_is": {
        "0": -0.00023159200298048728,
        "1": 0.0001501360175733208,
        "2": 0.0003451593169534517
      },
      "regime_size_from_is": {
        "0": 0.716076111585196,
        "1": 0.950925984089532,
        "2": 1.3329979043252722
      },
      "is": {
        "n": 27690,
        "ic_spearman": 0.019006545670617787,
        "ic_pvalue": 0.001562105417571698,
        "hit_rate": 0.543228602383532,
        "avg_return_bps": 2.6595468249031597,
        "sharpe_like": 9.455030384237194
      },
      "oos": {
        "n": 18408,
        "ic_spearman": 0.005928669327426618,
        "ic_pvalue": 0.42120578837820155,
        "hit_rate": 0.5138526727509778,
        "avg_return_bps": 2.0084159432484494,
        "sharpe_like": 5.558444802294939
      },
      "sizing_is": {
        "avg_dir_bps": 2.6595468249031597,
        "avg_sized_bps": 3.173319761926863,
        "vol_dir_bps": 39.43665999883715,
        "vol_sized_bps": 41.15175100036453,
        "hit_dir": 0.543228602383532,
        "hit_sized": 0.543228602383532
      },
      "sizing_oos": {
        "avg_dir_bps": 2.0084159432484494,
        "avg_sized_bps": 1.3796328087962266,
        "vol_dir_bps": 50.65936378938038,
        "vol_sized_bps": 43.770211198965555,
        "hit_dir": 0.5138526727509778,
        "hit_sized": 0.5138526727509778
      },
      "walk_forward_oos": {
        "n_windows": 4,
        "positive_ratio": 0.5,
        "mean_ic": -0.016860800476258837,
        "windows": [
          {
            "start": "2025-02-27",
            "end": "2025-05-29",
            "n": 4680,
            "ic": 0.03352771882877874
          },
          {
            "start": "2025-05-30",
            "end": "2025-08-29",
            "n": 4680,
            "ic": -0.04680820779366184
          },
          {
            "start": "2025-09-02",
            "end": "2025-12-01",
            "n": 4680,
            "ic": 0.02936195751315033
          },
          {
            "start": "2025-12-02",
            "end": "2026-02-27",
            "n": 4368,
            "ic": -0.08352467045330257
          }
        ]
      }
    }
  },
  "verdict": "REJECT",
  "live_mapping_recommendation": {
    "risk_on": "Allow ORB break continuation longs; can increase size up to regime_size multiplier when MM/GEX agree.",
    "risk_off": "Prefer defensive posture: fade weak ORB upside breaks, favor downside continuation only with NEG GEX confirmation.",
    "transition": "Reduce size and demand confluence (ORB + GEX + MM movement). Avoid first signal; wait for confirmation."
  }
}