{
  "generated": "2026-03-03T18:26:55.233765",
  "metadata": {
    "total_days": 299,
    "is_days": 199,
    "oos_days": 100,
    "date_range": "2025-01-02 to 2026-03-02",
    "is_range": "2025-01-02 to 2025-10-09",
    "oos_range": "2025-10-10 to 2026-03-02",
    "big_up_days": 31,
    "big_down_days": 33
  },
  "key_findings": [
    {
      "test": "leading",
      "signal": "t60_put_gradient",
      "label": "t60 OTM Puts (Put Gradient)",
      "target": "remaining_day_ES",
      "ic": -0.1088,
      "pval": 0.0602,
      "is_ic": -0.1332,
      "oos_ic": -0.0351,
      "status": "PASSED"
    }
  ],
  "tradeable_signals": [
    {
      "test": "leading",
      "signal": "t90_parallel_shift",
      "label": "t90 ATM Calls (Parallel Shift)",
      "target": "remaining_day_ES",
      "ic": 0.1316,
      "pval": 0.0228,
      "is_ic": 0.142,
      "oos_ic": 0.0928,
      "status": "PASSED"
    },
    {
      "test": "combined_next_day",
      "signal": "tail_asym",
      "label": "Tail Asymmetry (Down Conv - Up Conv)",
      "target": "next_day_ES",
      "ic": -0.1296,
      "pval": 0.0273,
      "is_ic": -0.1033,
      "oos_ic": -0.184,
      "status": "PASSED"
    },
    {
      "test": "leading",
      "signal": "t90_down_convexity",
      "label": "t90 Deep Puts (Down Convexity)",
      "target": "remaining_day_ES",
      "ic": 0.1287,
      "pval": 0.0261,
      "is_ic": 0.1579,
      "oos_ic": 0.0693,
      "status": "PASSED"
    },
    {
      "test": "next_day",
      "signal": "eod_up_convexity",
      "label": "Deep Calls (Up Convexity)",
      "target": "next_day_ES",
      "ic": 0.1271,
      "pval": 0.0305,
      "is_ic": 0.0821,
      "oos_ic": 0.2595,
      "status": "PASSED"
    },
    {
      "test": "leading",
      "signal": "t90_put_gradient",
      "label": "t90 OTM Puts (Put Gradient)",
      "target": "remaining_day_ES",
      "ic": -0.1256,
      "pval": 0.0299,
      "is_ic": -0.1327,
      "oos_ic": -0.106,
      "status": "PASSED"
    }
  ],
  "failed_signals": [],
  "extreme_readings": {
    "down_convexity": {
      "label": "Deep Puts",
      "top_decile_threshold": 0.4165,
      "bot_decile_threshold": -0.6658,
      "top_decile": {
        "n": 29,
        "next1_mean_bps": -4.3,
        "next1_win_rate": 44.8,
        "next5_mean_bps": 57.7,
        "next5_win_rate": 58.6
      },
      "bot_decile": {
        "n": 30,
        "next1_mean_bps": 0.9,
        "next1_win_rate": 66.7,
        "next5_mean_bps": 85.1,
        "next5_win_rate": 66.7
      },
      "baseline_next1_mean_bps": 6.4
    },
    "up_convexity": {
      "label": "Deep Calls",
      "top_decile_threshold": 0.5497,
      "bot_decile_threshold": -0.5609,
      "top_decile": {
        "n": 30,
        "next1_mean_bps": 43.2,
        "next1_win_rate": 56.7,
        "next5_mean_bps": 139.4,
        "next5_win_rate": 73.3
      },
      "bot_decile": {
        "n": 29,
        "next1_mean_bps": -52.8,
        "next1_win_rate": 41.4,
        "next5_mean_bps": -17.4,
        "next5_win_rate": 50.0
      },
      "baseline_next1_mean_bps": 6.4
    },
    "put_gradient": {
      "label": "OTM Puts",
      "top_decile_threshold": 2.7574,
      "bot_decile_threshold": -2.7409,
      "top_decile": {
        "n": 30,
        "next1_mean_bps": 13.7,
        "next1_win_rate": 56.7,
        "next5_mean_bps": 77.7,
        "next5_win_rate": 70.0
      },
      "bot_decile": {
        "n": 30,
        "next1_mean_bps": 50.8,
        "next1_win_rate": 70.0,
        "next5_mean_bps": 53.3,
        "next5_win_rate": 73.3
      },
      "baseline_next1_mean_bps": 6.4
    },
    "call_gradient": {
      "label": "OTM Calls",
      "top_decile_threshold": 2.8755,
      "bot_decile_threshold": -2.4225,
      "top_decile": {
        "n": 30,
        "next1_mean_bps": -10.9,
        "next1_win_rate": 46.7,
        "next5_mean_bps": 48.2,
        "next5_win_rate": 69.0
      },
      "bot_decile": {
        "n": 30,
        "next1_mean_bps": 51.2,
        "next1_win_rate": 56.7,
        "next5_mean_bps": 61.7,
        "next5_win_rate": 73.3
      },
      "baseline_next1_mean_bps": 6.4
    }
  },
  "bottom_line": {
    "answer": "Buckets primarily CONFIRM ES moves (same-day IC up to 0.59), with modest LEADING power at T+90 (IC ~0.13). The strongest predictive signal is EOD up_convexity (Deep Calls) for next-day ES.",
    "best_leading_signal": {
      "signal": "parallel_shift + down_convexity + put_gradient at T+90",
      "ic_range": "0.13",
      "note": "Check at 11:00 ET. Parallel shift and down_convexity high = bullish, put_gradient high = bearish."
    },
    "best_nextday_signal": {
      "signal": "EOD up_convexity (Deep Calls)",
      "ic": 0.127,
      "pval": 0.031,
      "oos_ic": 0.26,
      "direction": "High EOD up_convexity \u2192 bullish next day",
      "q5_mean_bps": 26.7,
      "q1_mean_bps": -22.8,
      "top_decile_next1d_bps": 43.2,
      "top_decile_next5d_wr": 73.3
    },
    "best_combined_signal": {
      "signal": "Tail Asymmetry (down_conv - up_conv)",
      "ic": -0.13,
      "pval": 0.027,
      "oos_ic": -0.184,
      "direction": "Low tail asymmetry (up_conv dominant) \u2192 bullish next day",
      "q1_mean_bps": 25.9,
      "q1_win_rate": 63.8,
      "q5_mean_bps": -16.6
    },
    "what_doesnt_work": [
      "Bucket momentum/rate-of-change \u2014 levels are better",
      "Put/Call decomposition ratio \u2014 no signal",
      "Deep Puts as bearish predictor \u2014 actually contrarian bullish",
      "Anything before T+90 \u2014 too noisy",
      "ATM Puts and OTM Calls for next-day \u2014 sign flips IS to OOS"
    ]
  }
}