{
  "timestamp": "2026-03-03T12:09:47.756003",
  "es_data_range": "2025-01-02 to 2026-03-03",
  "es_days": 364,
  "signals": [
    {
      "name": "VIXDecomp_UpConvexity",
      "description": "VIX decomposition up convexity (demand for upside wings)",
      "status": "CONTEXT",
      "backtest_ic": 0.253,
      "note": "r=0.017 with VIX level (independent). Walk-fwd 90% positive.",
      "n_observations": 233,
      "date_range": "2025-01-06 to 2026-03-02",
      "full_ic": {
        "ic": 0.0347,
        "p_value": 0.5983,
        "target": "next_return_pct"
      },
      "pearson": {
        "r": 0.1402,
        "p_value": 0.0325
      },
      "directional_hit_rate": 0.485,
      "directional_n": 233,
      "conditional_returns": {
        "signal_positive": {
          "mean_bps": 2.33,
          "win_rate": 0.5146,
          "n": 103
        },
        "signal_negative": {
          "mean_bps": -1.57,
          "win_rate": 0.5385,
          "n": 130
        },
        "spread_bps": 3.9
      },
      "quintiles": {
        "quintiles": {
          "0": {
            "mean_return": -9.19,
            "median_return": -0.92,
            "win_rate": 0.49,
            "count": 47,
            "mean_signal": -0.7
          },
          "1": {
            "mean_return": 3.35,
            "median_return": 0.59,
            "win_rate": 0.52,
            "count": 46,
            "mean_signal": -0.18
          },
          "2": {
            "mean_return": 0.04,
            "median_return": 9.35,
            "win_rate": 0.62,
            "count": 47,
            "mean_signal": -0.04
          },
          "3": {
            "mean_return": 1.83,
            "median_return": -0.54,
            "win_rate": 0.48,
            "count": 46,
            "mean_signal": 0.13
          },
          "4": {
            "mean_return": 4.84,
            "median_return": 12.88,
            "win_rate": 0.53,
            "count": 47,
            "mean_signal": 0.83
          }
        },
        "monotonic": false,
        "monotonic_direction": "none",
        "ls_spread_bps": 14.04
      },
      "rolling_ic_60d": {
        "window": 60,
        "n_windows": 173,
        "mean_ic": 0.0355,
        "median_ic": 0.0147,
        "pct_positive": 0.6474,
        "min_ic": -0.1234,
        "max_ic": 0.29,
        "std_ic": 0.0861
      },
      "rolling_ic_120d": {
        "window": 120,
        "n_windows": 113,
        "mean_ic": 0.0207,
        "median_ic": 0.0028,
        "pct_positive": 0.5221,
        "min_ic": -0.0536,
        "max_ic": 0.1672,
        "std_ic": 0.0512
      },
      "walk_forward": {
        "n_folds": 10,
        "fold_ics": [
          -0.3202,
          0.2391,
          0.0593,
          -0.248,
          0.1285,
          -0.1808,
          0.0277,
          0.0553,
          0.3291,
          0.3429
        ],
        "mean_ic": 0.0433,
        "pct_positive": 0.7
      },
      "is_oos_split": {
        "is_ic": -0.0579,
        "is_p": 0.4985,
        "is_n": 139,
        "oos_ic": 0.2013,
        "oos_p": 0.0517,
        "oos_n": 94,
        "consistent": "False"
      },
      "active_signal_correlations": {
        "VIX_TS": {
          "correlation": -0.0799,
          "p_value": 0.2366,
          "n_overlap": 221
        },
        "GapFade": {
          "correlation": 0.2081,
          "p_value": 0.0014,
          "n_overlap": 233
        }
      },
      "promotion": {
        "eligible": false,
        "checks": {
          "min_days": {
            "required": 20,
            "actual": 233,
            "passed": true
          },
          "min_ic": {
            "required": 0.08,
            "actual": 0.0347,
            "passed": false
          },
          "min_hit_rate": {
            "required": 0.52,
            "actual": 0.485,
            "passed": false
          },
          "min_walk_fwd_pct": {
            "required": 0.6,
            "actual": 0.7,
            "passed": true
          },
          "max_correlation": {
            "required": 0.4,
            "actual": 0.2081,
            "passed": true
          }
        },
        "recommendation": "KEEP as CONTEXT"
      },
      "recent_30d": {
        "ic": 0.2872,
        "p_value": 0.1238,
        "n": 30
      }
    },
    {
      "name": "VIXDecomp_StickyStrike",
      "description": "VIX decomposition sticky strike component",
      "status": "CONTEXT",
      "backtest_ic": null,
      "note": "Range predictor (IC +0.227), not directional",
      "n_observations": 233,
      "date_range": "2025-01-06 to 2026-03-02",
      "full_ic": {
        "ic": 0.0333,
        "p_value": 0.6128,
        "target": "next_return_pct"
      },
      "pearson": {
        "r": 0.1435,
        "p_value": 0.0285
      },
      "directional_hit_rate": 0.4807,
      "directional_n": 233,
      "conditional_returns": {
        "signal_positive": {
          "mean_bps": 4.21,
          "win_rate": 0.5094,
          "n": 106
        },
        "signal_negative": {
          "mean_bps": -3.23,
          "win_rate": 0.5433,
          "n": 127
        },
        "spread_bps": 7.45
      },
      "quintiles": {
        "quintiles": {
          "0": {
            "mean_return": -11.82,
            "median_return": 0.81,
            "win_rate": 0.51,
            "count": 47,
            "mean_signal": -4.0
          },
          "1": {
            "mean_return": 6.6,
            "median_return": 8.64,
            "win_rate": 0.59,
            "count": 46,
            "mean_signal": -1.67
          },
          "2": {
            "mean_return": -7.99,
            "median_return": -0.75,
            "win_rate": 0.49,
            "count": 47,
            "mean_signal": -0.29
          },
          "3": {
            "mean_return": 9.58,
            "median_return": 12.91,
            "win_rate": 0.54,
            "count": 46,
            "mean_signal": 1.36
          },
          "4": {
            "mean_return": 4.72,
            "median_return": 3.58,
            "win_rate": 0.51,
            "count": 47,
            "mean_signal": 3.9
          }
        },
        "monotonic": false,
        "monotonic_direction": "none",
        "ls_spread_bps": 16.54
      },
      "rolling_ic_60d": {
        "window": 60,
        "n_windows": 173,
        "mean_ic": 0.0596,
        "median_ic": 0.0847,
        "pct_positive": 0.7977,
        "min_ic": -0.1609,
        "max_ic": 0.2113,
        "std_ic": 0.0889
      },
      "rolling_ic_120d": {
        "window": 120,
        "n_windows": 113,
        "mean_ic": 0.0657,
        "median_ic": 0.07,
        "pct_positive": 0.8938,
        "min_ic": -0.0388,
        "max_ic": 0.1706,
        "std_ic": 0.0515
      },
      "walk_forward": {
        "n_folds": 10,
        "fold_ics": [
          0.0978,
          0.1897,
          0.4437,
          -0.085,
          0.1334,
          0.1235,
          0.0109,
          -0.2796,
          0.0227,
          -0.1713
        ],
        "mean_ic": 0.0486,
        "pct_positive": 0.7
      },
      "is_oos_split": {
        "is_ic": 0.0995,
        "is_p": 0.2437,
        "is_n": 139,
        "oos_ic": -0.0585,
        "oos_p": 0.5757,
        "oos_n": 94,
        "consistent": "False"
      },
      "active_signal_correlations": {
        "VIX_TS": {
          "correlation": -0.2165,
          "p_value": 0.0012,
          "n_overlap": 221
        },
        "GapFade": {
          "correlation": -0.0465,
          "p_value": 0.48,
          "n_overlap": 233
        }
      },
      "promotion": {
        "eligible": false,
        "checks": {
          "min_days": {
            "required": 20,
            "actual": 233,
            "passed": true
          },
          "min_ic": {
            "required": 0.08,
            "actual": 0.0333,
            "passed": false
          },
          "min_hit_rate": {
            "required": 0.52,
            "actual": 0.4807,
            "passed": false
          },
          "min_walk_fwd_pct": {
            "required": 0.6,
            "actual": 0.7,
            "passed": true
          },
          "max_correlation": {
            "required": 0.4,
            "actual": 0.2165,
            "passed": true
          }
        },
        "recommendation": "KEEP as CONTEXT"
      },
      "recent_30d": {
        "ic": -0.139,
        "p_value": 0.4637,
        "n": 30
      }
    },
    {
      "name": "VIXDecomp_SpikeComposition",
      "description": "VIX spike composition (sticky vs parallel dominant)",
      "status": "CONTEXT",
      "backtest_ic": null,
      "note": "Sticky-dominant spike: +52.7bps next day (t=2.44)",
      "n_observations": 224,
      "date_range": "2025-01-06 to 2026-02-25",
      "full_ic": {
        "ic": 0.0254,
        "p_value": 0.705,
        "target": "next_return_pct"
      },
      "pearson": {
        "r": 0.3227,
        "p_value": 0.0
      },
      "directional_hit_rate": 0.4286,
      "directional_n": 35,
      "conditional_returns": {
        "signal_positive": {
          "mean_bps": 26.24,
          "win_rate": 0.5,
          "n": 26
        },
        "signal_negative": {
          "mean_bps": -6.37,
          "win_rate": 0.7778,
          "n": 9
        },
        "spread_bps": 32.61
      },
      "quintiles": {
        "quintiles": {
          "0": {
            "mean_return": -2.88,
            "median_return": 3.41,
            "win_rate": 0.53,
            "count": 198,
            "mean_signal": -0.15
          },
          "1": {
            "mean_return": 26.24,
            "median_return": 1.79,
            "win_rate": 0.5,
            "count": 26,
            "mean_signal": 2.6
          }
        },
        "monotonic": true,
        "monotonic_direction": "up",
        "ls_spread_bps": 29.12
      },
      "rolling_ic_60d": {
        "window": 60,
        "n_windows": 164,
        "mean_ic": 0.0259,
        "median_ic": 0.0532,
        "pct_positive": 0.7561,
        "min_ic": -0.2527,
        "max_ic": 0.1199,
        "std_ic": 0.082
      },
      "rolling_ic_120d": {
        "window": 120,
        "n_windows": 104,
        "mean_ic": 0.0216,
        "median_ic": 0.0157,
        "pct_positive": 0.7019,
        "min_ic": -0.1006,
        "max_ic": 0.0871,
        "std_ic": 0.0405
      },
      "walk_forward": {
        "n_folds": 10,
        "fold_ics": [
          -0.2376,
          0.5319,
          -0.334,
          -0.0123,
          -0.0104,
          -0.1892,
          0.3301,
          -0.1423,
          0.069,
          0.077
        ],
        "mean_ic": 0.0082,
        "pct_positive": 0.4
      },
      "is_oos_split": {
        "is_ic": -0.0141,
        "is_p": 0.8715,
        "is_n": 134,
        "oos_ic": 0.0857,
        "oos_p": 0.4217,
        "oos_n": 90,
        "consistent": "False"
      },
      "active_signal_correlations": {
        "VIX_TS": {
          "correlation": -0.2098,
          "p_value": 0.0017,
          "n_overlap": 221
        },
        "GapFade": {
          "correlation": 0.0624,
          "p_value": 0.3527,
          "n_overlap": 224
        }
      },
      "promotion": {
        "eligible": false,
        "checks": {
          "min_days": {
            "required": 20,
            "actual": 224,
            "passed": true
          },
          "min_ic": {
            "required": 0.08,
            "actual": 0.0254,
            "passed": false
          },
          "min_hit_rate": {
            "required": 0.52,
            "actual": 0.4286,
            "passed": false
          },
          "min_walk_fwd_pct": {
            "required": 0.6,
            "actual": 0.4,
            "passed": false
          },
          "max_correlation": {
            "required": 0.4,
            "actual": 0.2098,
            "passed": true
          }
        },
        "recommendation": "KEEP as CONTEXT"
      },
      "recent_30d": {
        "ic": 0.0613,
        "p_value": 0.7475,
        "n": 30
      }
    },
    {
      "name": "F080_Signal",
      "description": "FactorMiner F080 R\u00b2-Adaptive Residual (daily signal)",
      "status": "CONTEXT",
      "backtest_ic": 0.014,
      "note": "Daily IC=0.014 (zero). Only works at 30-bar intraday.",
      "n_observations": 226,
      "date_range": "2025-01-06 to 2026-02-19",
      "full_ic": {
        "ic": -0.0976,
        "p_value": 0.1437,
        "target": "next_return_pct"
      },
      "pearson": {
        "r": -0.0729,
        "p_value": 0.2749
      },
      "directional_hit_rate": 0.4566,
      "directional_n": 219,
      "conditional_returns": {
        "signal_positive": {
          "mean_bps": -6.59,
          "win_rate": 0.5,
          "n": 112
        },
        "signal_negative": {
          "mean_bps": 7.82,
          "win_rate": 0.5888,
          "n": 107
        },
        "spread_bps": -14.41
      },
      "quintiles": {
        "quintiles": {
          "0": {
            "mean_return": -3.73,
            "median_return": 5.0,
            "win_rate": 0.54,
            "count": 46,
            "mean_signal": -0.52
          },
          "1": {
            "mean_return": 10.75,
            "median_return": 11.84,
            "win_rate": 0.58,
            "count": 45,
            "mean_signal": -0.17
          },
          "2": {
            "mean_return": 7.01,
            "median_return": 5.01,
            "win_rate": 0.56,
            "count": 45,
            "mean_signal": 0.01
          },
          "3": {
            "mean_return": 9.55,
            "median_return": 10.62,
            "win_rate": 0.53,
            "count": 45,
            "mean_signal": 0.16
          },
          "4": {
            "mean_return": -19.54,
            "median_return": -1.71,
            "win_rate": 0.47,
            "count": 45,
            "mean_signal": 0.53
          }
        },
        "monotonic": false,
        "monotonic_direction": "none",
        "ls_spread_bps": -15.8
      },
      "rolling_ic_60d": {
        "window": 60,
        "n_windows": 166,
        "mean_ic": -0.0651,
        "median_ic": -0.0685,
        "pct_positive": 0.2771,
        "min_ic": -0.3174,
        "max_ic": 0.1785,
        "std_ic": 0.0983
      },
      "rolling_ic_120d": {
        "window": 120,
        "n_windows": 106,
        "mean_ic": -0.0731,
        "median_ic": -0.0696,
        "pct_positive": 0.0,
        "min_ic": -0.1443,
        "max_ic": -0.0119,
        "std_ic": 0.0291
      },
      "walk_forward": {
        "n_folds": 10,
        "fold_ics": [
          -0.0327,
          0.0661,
          -0.2253,
          -0.0943,
          -0.5076,
          0.2987,
          0.0717,
          -0.0762,
          0.2705,
          0.023
        ],
        "mean_ic": -0.0206,
        "pct_positive": 0.5
      },
      "is_oos_split": {
        "is_ic": -0.1014,
        "is_p": 0.2418,
        "is_n": 135,
        "oos_ic": -0.0815,
        "oos_p": 0.4425,
        "oos_n": 91,
        "consistent": "True"
      },
      "active_signal_correlations": {
        "VIX_TS": {
          "correlation": -0.1966,
          "p_value": 0.0034,
          "n_overlap": 220
        },
        "GapFade": {
          "correlation": -0.0485,
          "p_value": 0.4684,
          "n_overlap": 226
        }
      },
      "promotion": {
        "eligible": false,
        "checks": {
          "min_days": {
            "required": 20,
            "actual": 226,
            "passed": true
          },
          "min_ic": {
            "required": 0.08,
            "actual": 0.0976,
            "passed": true
          },
          "min_hit_rate": {
            "required": 0.52,
            "actual": 0.4566,
            "passed": false
          },
          "min_walk_fwd_pct": {
            "required": 0.6,
            "actual": 0.5,
            "passed": false
          },
          "max_correlation": {
            "required": 0.4,
            "actual": 0.1966,
            "passed": true
          }
        },
        "recommendation": "KEEP as CONTEXT"
      },
      "recent_30d": {
        "ic": 0.0256,
        "p_value": 0.8932,
        "n": 30
      }
    },
    {
      "name": "F080_TrendPct",
      "description": "F080 trend percentage \u2192 next-day vol predictor",
      "status": "CONTEXT_VOL",
      "backtest_ic": -0.14,
      "note": "Predicts next-day vol (IC=-0.14, p=0.017), not direction.",
      "n_observations": 226,
      "date_range": "2025-01-06 to 2026-02-19",
      "full_ic": {
        "ic": -0.1556,
        "p_value": 0.0192,
        "target": "next_abs_return"
      },
      "pearson": {
        "r": -0.1176,
        "p_value": 0.0778
      },
      "quintiles": {
        "quintiles": {
          "0": {
            "mean_return": -12.68,
            "median_return": 3.22,
            "win_rate": 0.54,
            "count": 48,
            "mean_signal": 0.02
          },
          "1": {
            "mean_return": -1.94,
            "median_return": 3.58,
            "win_rate": 0.51,
            "count": 43,
            "mean_signal": 0.15
          },
          "2": {
            "mean_return": 6.89,
            "median_return": 13.06,
            "win_rate": 0.6,
            "count": 47,
            "mean_signal": 0.26
          },
          "3": {
            "mean_return": 0.58,
            "median_return": -0.28,
            "win_rate": 0.5,
            "count": 44,
            "mean_signal": 0.38
          },
          "4": {
            "mean_return": 11.83,
            "median_return": 3.81,
            "win_rate": 0.52,
            "count": 44,
            "mean_signal": 0.61
          }
        },
        "monotonic": false,
        "monotonic_direction": "none",
        "ls_spread_bps": 24.51
      },
      "rolling_ic_60d": {
        "window": 60,
        "n_windows": 166,
        "mean_ic": 0.076,
        "median_ic": 0.0825,
        "pct_positive": 0.7229,
        "min_ic": -0.1991,
        "max_ic": 0.3325,
        "std_ic": 0.1169
      },
      "rolling_ic_120d": {
        "window": 120,
        "n_windows": 106,
        "mean_ic": 0.0684,
        "median_ic": 0.0839,
        "pct_positive": 0.7925,
        "min_ic": -0.0344,
        "max_ic": 0.1496,
        "std_ic": 0.0514
      },
      "walk_forward": {
        "n_folds": 10,
        "fold_ics": [
          -0.3789,
          -0.0169,
          0.2011,
          0.1269,
          -0.0912,
          -0.1993,
          0.1943,
          0.2678,
          0.1815,
          0.1279
        ],
        "mean_ic": 0.0413,
        "pct_positive": 0.6
      },
      "is_oos_split": {
        "is_ic": -0.1545,
        "is_p": 0.0736,
        "is_n": 135,
        "oos_ic": -0.1521,
        "oos_p": 0.15,
        "oos_n": 91,
        "consistent": "True"
      },
      "active_signal_correlations": {
        "VIX_TS": {
          "correlation": 0.1561,
          "p_value": 0.0206,
          "n_overlap": 220
        },
        "GapFade": {
          "correlation": -0.0378,
          "p_value": 0.5721,
          "n_overlap": 226
        }
      },
      "promotion": {
        "eligible": false,
        "checks": {
          "min_days": {
            "required": 20,
            "actual": 226,
            "passed": true
          },
          "min_ic": {
            "required": 0.08,
            "actual": 0.1556,
            "passed": true
          },
          "min_hit_rate": {
            "required": 0.52,
            "actual": 0,
            "passed": false
          },
          "min_walk_fwd_pct": {
            "required": 0.6,
            "actual": 0.6,
            "passed": true
          },
          "max_correlation": {
            "required": 0.4,
            "actual": 0.1561,
            "passed": true
          }
        },
        "recommendation": "KEEP as CONTEXT"
      },
      "recent_30d": {
        "ic": -0.2914,
        "p_value": 0.1182,
        "n": 30
      }
    },
    {
      "name": "VIX_TermStructure",
      "description": "VIX1D/VIX ratio + VRP (contango = bullish)",
      "status": "ACTIVE",
      "backtest_ic": null,
      "note": "OOS Sharpe 2.58, weight 0.22. Core signal #1.",
      "n_observations": 221,
      "date_range": "2025-01-06 to 2026-02-20",
      "full_ic": {
        "ic": -0.0323,
        "p_value": 0.633,
        "target": "next_return_pct"
      },
      "pearson": {
        "r": 0.0788,
        "p_value": 0.2431
      },
      "directional_hit_rate": 0.4706,
      "directional_n": 221,
      "quintiles": {
        "quintiles": {
          "0": {
            "mean_return": 7.92,
            "median_return": 22.28,
            "win_rate": 0.6,
            "count": 45,
            "mean_signal": -1.06
          },
          "1": {
            "mean_return": -4.01,
            "median_return": -12.27,
            "win_rate": 0.39,
            "count": 44,
            "mean_signal": -0.87
          },
          "2": {
            "mean_return": -4.55,
            "median_return": -0.17,
            "win_rate": 0.5,
            "count": 44,
            "mean_signal": -0.75
          },
          "3": {
            "mean_return": 0.84,
            "median_return": 11.63,
            "win_rate": 0.64,
            "count": 44,
            "mean_signal": -0.67
          },
          "4": {
            "mean_return": 1.0,
            "median_return": -0.18,
            "win_rate": 0.5,
            "count": 44,
            "mean_signal": -0.58
          }
        },
        "monotonic": false,
        "monotonic_direction": "none",
        "ls_spread_bps": -6.91
      },
      "rolling_ic_60d": {
        "window": 60,
        "n_windows": 161,
        "mean_ic": -0.0989,
        "median_ic": -0.1005,
        "pct_positive": 0.4037,
        "min_ic": -0.4208,
        "max_ic": 0.1826,
        "std_ic": 0.1728
      },
      "rolling_ic_120d": {
        "window": 120,
        "n_windows": 101,
        "mean_ic": -0.0679,
        "median_ic": -0.0993,
        "pct_positive": 0.2772,
        "min_ic": -0.2018,
        "max_ic": 0.1046,
        "std_ic": 0.0978
      },
      "walk_forward": {
        "n_folds": 10,
        "fold_ics": [
          -0.0423,
          0.0423,
          -0.2388,
          0.2298,
          0.1112,
          -0.2976,
          -0.3665,
          -0.2208,
          -0.3518,
          -0.0079
        ],
        "mean_ic": -0.1142,
        "pct_positive": 0.3
      },
      "is_oos_split": {
        "is_ic": 0.0589,
        "is_p": 0.5022,
        "is_n": 132,
        "oos_ic": -0.1893,
        "oos_p": 0.0755,
        "oos_n": 89,
        "consistent": "False"
      },
      "recent_30d": {
        "ic": -0.0131,
        "p_value": 0.9451,
        "n": 30
      }
    },
    {
      "name": "GapFade",
      "description": "Overnight gap mean-reversion (fade the gap)",
      "status": "ACTIVE",
      "backtest_ic": null,
      "note": "OOS Sharpe 2.33, weight 0.15. Core signal #4.",
      "n_observations": 289,
      "date_range": "2025-01-05 to 2026-03-02",
      "full_ic": {
        "ic": 0.0017,
        "p_value": 0.977,
        "target": "next_return_pct"
      },
      "pearson": {
        "r": 0.0503,
        "p_value": 0.3943
      },
      "directional_hit_rate": 0.4745,
      "directional_n": 196,
      "conditional_returns": {
        "signal_positive": {
          "mean_bps": 12.3,
          "win_rate": 0.5435,
          "n": 92
        },
        "signal_negative": {
          "mean_bps": 4.52,
          "win_rate": 0.5769,
          "n": 104
        },
        "spread_bps": 7.78
      },
      "quintiles": {
        "quintiles": {
          "0": {
            "mean_return": 8.99,
            "median_return": 14.28,
            "win_rate": 0.57,
            "count": 58,
            "mean_signal": -0.67
          },
          "1": {
            "mean_return": -1.22,
            "median_return": 3.59,
            "win_rate": 0.53,
            "count": 139,
            "mean_signal": -0.0
          },
          "2": {
            "mean_return": 9.31,
            "median_return": 7.76,
            "win_rate": 0.59,
            "count": 34,
            "mean_signal": 0.0
          },
          "3": {
            "mean_return": 14.06,
            "median_return": 8.78,
            "win_rate": 0.52,
            "count": 58,
            "mean_signal": 0.48
          }
        },
        "monotonic": false,
        "monotonic_direction": "none",
        "ls_spread_bps": 5.07
      },
      "rolling_ic_60d": {
        "window": 60,
        "n_windows": 229,
        "mean_ic": -0.0276,
        "median_ic": 0.0267,
        "pct_positive": 0.5153,
        "min_ic": -0.3151,
        "max_ic": 0.2276,
        "std_ic": 0.1501
      },
      "rolling_ic_120d": {
        "window": 120,
        "n_windows": 169,
        "mean_ic": -0.0139,
        "median_ic": 0.0016,
        "pct_positive": 0.5148,
        "min_ic": -0.2156,
        "max_ic": 0.1588,
        "std_ic": 0.1051
      },
      "walk_forward": {
        "n_folds": 10,
        "fold_ics": [
          0.1159,
          0.1752,
          -0.0761,
          0.1026,
          0.3242,
          -0.1365,
          -0.1809,
          -0.2295,
          -0.0424,
          -0.0313
        ],
        "mean_ic": 0.0021,
        "pct_positive": 0.4
      },
      "is_oos_split": {
        "is_ic": 0.0983,
        "is_p": 0.1983,
        "is_n": 173,
        "oos_ic": -0.1705,
        "oos_p": 0.0673,
        "oos_n": 116,
        "consistent": "False"
      },
      "recent_30d": {
        "ic": 0.0363,
        "p_value": 0.8491,
        "n": 30
      }
    }
  ],
  "composite": {
    "n_days": 1,
    "note": "insufficient matched data"
  }
}