{
  "updated": "2026-09-23",
  "title": "NQ IB Walk-Forward \u2014 Confluence vs V9 T5/S50",
  "status": "staged_research_not_promote",
  "public_url_after_publish": "https://datasystemsglobal.com/nq-ib-walk-forward.html",
  "design": {
    "method": "rolling_walk_forward_time_based",
    "shuffle": false,
    "is_len_trading_days": 120,
    "oos_len_trading_days": 40,
    "step_trading_days": 40,
    "n_folds": 3,
    "n_feature_days": 267,
    "session_date_start": "2025-07-01",
    "session_date_end": "2026-09-11",
    "features_dir": "/workspace/nq-attachments/out_features_real",
    "data_paths": [
      "/workspace/setuphunter_py/data/nq0925_last.txt",
      "/workspace/setuphunter_py/data/nq1225_last.txt",
      "/workspace/setuphunter_py/data/nq0326_last.txt",
      "/workspace/setuphunter_py/data/nq0626_last.txt",
      "/workspace/setuphunter_py/data/nq0926_last.txt"
    ],
    "confluence_matrix_targets": [
      10,
      15,
      20,
      30
    ],
    "confluence_matrix_stops": [
      10,
      15,
      20,
      30
    ],
    "v9_management": {
      "target": 5,
      "stop": 50
    },
    "v9_filter_grid": {
      "ib_range_max": [
        40,
        50,
        60,
        75
      ],
      "break_before_hour": [
        10,
        11,
        12
      ]
    },
    "v9_arm": "A",
    "ranking": "expectancy then net_points then profit_factor",
    "window_winner_primary": "net_points (tie-break PF then expectancy)",
    "promote": false,
    "note": "Staged research only \u2014 not a live promote. V9 must not be promoted from IS alone (spec 08)."
  },
  "overall_oos": {
    "nq_ib_confluence": {
      "cell_id": "nq_ib_confluence",
      "trade_count": 66,
      "skip_count": 0,
      "win_rate_pct": 45.45,
      "expectancy_points": -1.1364,
      "net_points": -75.0,
      "profit_factor": 0.8913,
      "max_drawdown_points": -225.0,
      "exit_reason_counts": {
        "stop": 36,
        "target": 30
      }
    },
    "nq_ib_v9_t5s50": {
      "cell_id": "nq_ib_v9_t5s50",
      "trade_count": 18,
      "skip_count": 0,
      "win_rate_pct": 94.44,
      "expectancy_points": 1.9444,
      "net_points": 35.0,
      "profit_factor": 1.7,
      "max_drawdown_points": -50.0,
      "exit_reason_counts": {
        "target": 17,
        "stop": 1
      }
    },
    "winner": "nq_ib_v9_t5s50"
  },
  "window_win_counts": {
    "nq_ib_confluence": 1,
    "nq_ib_v9_t5s50": 2,
    "tie": 0
  },
  "folds_brief": [
    {
      "fold_id": 0,
      "oos_date_start": "2026-01-06",
      "oos_date_end": "2026-03-02",
      "confluence_net": 35.0,
      "v9_net": 5.0,
      "winner": "nq_ib_confluence",
      "confluence_locked": {
        "target": 15,
        "stop": 10
      },
      "v9_locked": {
        "target": 5,
        "stop": 50,
        "ib_range_max": 75,
        "break_before_hour": 11
      }
    },
    {
      "fold_id": 1,
      "oos_date_start": "2026-03-03",
      "oos_date_end": "2026-04-27",
      "confluence_net": -50.0,
      "v9_net": 15.0,
      "winner": "nq_ib_v9_t5s50",
      "confluence_locked": {
        "target": 30,
        "stop": 20
      },
      "v9_locked": {
        "target": 5,
        "stop": 50,
        "ib_range_max": 60,
        "break_before_hour": 11
      }
    },
    {
      "fold_id": 2,
      "oos_date_start": "2026-04-28",
      "oos_date_end": "2026-06-22",
      "confluence_net": -60.0,
      "v9_net": 15.0,
      "winner": "nq_ib_v9_t5s50",
      "confluence_locked": {
        "target": 20,
        "stop": 30
      },
      "v9_locked": {
        "target": 5,
        "stop": 50,
        "ib_range_max": 60,
        "break_before_hour": 11
      }
    }
  ],
  "folds": [
    {
      "fold_id": 0,
      "is_start_idx": 0,
      "is_end_idx": 120,
      "oos_start_idx": 120,
      "oos_end_idx": 160,
      "is_date_start": "2025-07-01",
      "is_date_end": "2026-01-05",
      "oos_date_start": "2026-01-06",
      "oos_date_end": "2026-03-02",
      "is_day_count": 120,
      "oos_day_count": 40,
      "confluence": {
        "locked_params": {
          "target": 15,
          "stop": 10
        },
        "is_fit": {
          "target": 15,
          "stop": 10,
          "fit_source": "matrix_side_all",
          "is_metrics": {
            "target": 15,
            "stop": 10,
            "side": "all",
            "events": 69,
            "wins": 31,
            "losses": 38,
            "unresolved": 0,
            "win_rate_pct": 44.93,
            "expectancy_points": 1.23,
            "net_points": 85.0,
            "profit_factor": 1.2237
          },
          "candidates_considered": 16,
          "top3": [
            {
              "target": 15,
              "stop": 10,
              "side": "all",
              "events": 69,
              "wins": 31,
              "losses": 38,
              "unresolved": 0,
              "win_rate_pct": 44.93,
              "expectancy_points": 1.23,
              "net_points": 85.0,
              "profit_factor": 1.2237
            },
            {
              "target": 15,
              "stop": 15,
              "side": "all",
              "events": 69,
              "wins": 36,
              "losses": 33,
              "unresolved": 0,
              "win_rate_pct": 52.17,
              "expectancy_points": 0.65,
              "net_points": 45.0,
              "profit_factor": 1.0909
            },
            {
              "target": 10,
              "stop": 10,
              "side": "all",
              "events": 69,
              "wins": 36,
              "losses": 33,
              "unresolved": 0,
              "win_rate_pct": 52.17,
              "expectancy_points": 0.43,
              "net_points": 30.0,
              "profit_factor": 1.0909
            }
          ]
        },
        "oos_metrics": {
          "cell_id": "nq_ib_confluence",
          "trade_count": 24,
          "skip_count": 16,
          "win_rate_pct": 45.83,
          "expectancy_points": 1.4583,
          "net_points": 35.0,
          "profit_factor": 1.2692,
          "max_drawdown_points": -40.0,
          "exit_reason_counts": {
            "stop": 13,
            "target": 11
          }
        }
      },
      "v9": {
        "locked_params": {
          "target": 5,
          "stop": 50,
          "ib_range_max": 75,
          "break_before_hour": 11
        },
        "is_fit": {
          "ib_range_max": 75,
          "break_before_hour": 11,
          "target": 5,
          "stop": 50,
          "fit_source": "filter_grid",
          "is_metrics": {
            "trade_count": 48,
            "win_rate_pct": 95.83,
            "expectancy_points": 2.7083,
            "net_points": 130.0,
            "profit_factor": 2.3,
            "max_drawdown_points": -50.0
          },
          "candidates_considered": 12,
          "eligible_count": 8,
          "top3": [
            {
              "ib_range_max": 75,
              "break_before_hour": 11,
              "trade_count": 48,
              "expectancy_points": 2.7083,
              "net_points": 130.0,
              "profit_factor": 2.3
            },
            {
              "ib_range_max": 60,
              "break_before_hour": 11,
              "trade_count": 45,
              "expectancy_points": 2.5556,
              "net_points": 115.0,
              "profit_factor": 2.15
            },
            {
              "ib_range_max": 50,
              "break_before_hour": 11,
              "trade_count": 34,
              "expectancy_points": 1.7647,
              "net_points": 60.0,
              "profit_factor": 1.6
            }
          ]
        },
        "oos_metrics": {
          "cell_id": "nq_ib_v9_t5s50",
          "trade_count": 12,
          "skip_count": 28,
          "win_rate_pct": 91.67,
          "expectancy_points": 0.4167,
          "net_points": 5.0,
          "profit_factor": 1.1,
          "max_drawdown_points": -50.0,
          "exit_reason_counts": {
            "target": 11,
            "stop": 1
          }
        }
      },
      "window_winner": "nq_ib_confluence"
    },
    {
      "fold_id": 1,
      "is_start_idx": 40,
      "is_end_idx": 160,
      "oos_start_idx": 160,
      "oos_end_idx": 200,
      "is_date_start": "2025-08-26",
      "is_date_end": "2026-03-02",
      "oos_date_start": "2026-03-03",
      "oos_date_end": "2026-04-27",
      "is_day_count": 120,
      "oos_day_count": 40,
      "confluence": {
        "locked_params": {
          "target": 30,
          "stop": 20
        },
        "is_fit": {
          "target": 30,
          "stop": 20,
          "fit_source": "matrix_side_all",
          "is_metrics": {
            "target": 30,
            "stop": 20,
            "side": "all",
            "events": 70,
            "wins": 29,
            "losses": 40,
            "unresolved": 1,
            "win_rate_pct": 41.43,
            "expectancy_points": 1.0,
            "net_points": 70.0,
            "profit_factor": 1.0875
          },
          "candidates_considered": 16,
          "top3": [
            {
              "target": 30,
              "stop": 20,
              "side": "all",
              "events": 70,
              "wins": 29,
              "losses": 40,
              "unresolved": 1,
              "win_rate_pct": 41.43,
              "expectancy_points": 1.0,
              "net_points": 70.0,
              "profit_factor": 1.0875
            },
            {
              "target": 20,
              "stop": 20,
              "side": "all",
              "events": 70,
              "wins": 36,
              "losses": 33,
              "unresolved": 1,
              "win_rate_pct": 51.43,
              "expectancy_points": 0.86,
              "net_points": 60.0,
              "profit_factor": 1.0909
            },
            {
              "target": 15,
              "stop": 10,
              "side": "all",
              "events": 70,
              "wins": 30,
              "losses": 40,
              "unresolved": 0,
              "win_rate_pct": 42.86,
              "expectancy_points": 0.71,
              "net_points": 50.0,
              "profit_factor": 1.125
            }
          ]
        },
        "oos_metrics": {
          "cell_id": "nq_ib_confluence",
          "trade_count": 20,
          "skip_count": 20,
          "win_rate_pct": 35.0,
          "expectancy_points": -2.5,
          "net_points": -50.0,
          "profit_factor": 0.8077,
          "max_drawdown_points": -110.0,
          "exit_reason_counts": {
            "stop": 13,
            "target": 7
          }
        }
      },
      "v9": {
        "locked_params": {
          "target": 5,
          "stop": 50,
          "ib_range_max": 60,
          "break_before_hour": 11
        },
        "is_fit": {
          "ib_range_max": 60,
          "break_before_hour": 11,
          "target": 5,
          "stop": 50,
          "fit_source": "filter_grid",
          "is_metrics": {
            "trade_count": 36,
            "win_rate_pct": 97.22,
            "expectancy_points": 3.4722,
            "net_points": 125.0,
            "profit_factor": 3.5,
            "max_drawdown_points": -50.0
          },
          "candidates_considered": 12,
          "eligible_count": 8,
          "top3": [
            {
              "ib_range_max": 60,
              "break_before_hour": 11,
              "trade_count": 36,
              "expectancy_points": 3.4722,
              "net_points": 125.0,
              "profit_factor": 3.5
            },
            {
              "ib_range_max": 50,
              "break_before_hour": 11,
              "trade_count": 26,
              "expectancy_points": 2.8846,
              "net_points": 75.0,
              "profit_factor": 2.5
            },
            {
              "ib_range_max": 40,
              "break_before_hour": 11,
              "trade_count": 22,
              "expectancy_points": 2.5,
              "net_points": 55.0,
              "profit_factor": 2.1
            }
          ]
        },
        "oos_metrics": {
          "cell_id": "nq_ib_v9_t5s50",
          "trade_count": 3,
          "skip_count": 37,
          "win_rate_pct": 100.0,
          "expectancy_points": 5.0,
          "net_points": 15.0,
          "profit_factor": null,
          "max_drawdown_points": 0.0,
          "exit_reason_counts": {
            "target": 3
          }
        }
      },
      "window_winner": "nq_ib_v9_t5s50"
    },
    {
      "fold_id": 2,
      "is_start_idx": 80,
      "is_end_idx": 200,
      "oos_start_idx": 200,
      "oos_end_idx": 240,
      "is_date_start": "2025-11-06",
      "is_date_end": "2026-04-27",
      "oos_date_start": "2026-04-28",
      "oos_date_end": "2026-06-22",
      "is_day_count": 120,
      "oos_day_count": 40,
      "confluence": {
        "locked_params": {
          "target": 20,
          "stop": 30
        },
        "is_fit": {
          "target": 20,
          "stop": 30,
          "fit_source": "matrix_side_all",
          "is_metrics": {
            "target": 20,
            "stop": 30,
            "side": "all",
            "events": 70,
            "wins": 45,
            "losses": 24,
            "unresolved": 1,
            "win_rate_pct": 64.29,
            "expectancy_points": 2.57,
            "net_points": 180.0,
            "profit_factor": 1.25
          },
          "candidates_considered": 16,
          "top3": [
            {
              "target": 20,
              "stop": 30,
              "side": "all",
              "events": 70,
              "wins": 45,
              "losses": 24,
              "unresolved": 1,
              "win_rate_pct": 64.29,
              "expectancy_points": 2.57,
              "net_points": 180.0,
              "profit_factor": 1.25
            },
            {
              "target": 20,
              "stop": 20,
              "side": "all",
              "events": 70,
              "wins": 37,
              "losses": 32,
              "unresolved": 1,
              "win_rate_pct": 52.86,
              "expectancy_points": 1.43,
              "net_points": 100.0,
              "profit_factor": 1.1562
            },
            {
              "target": 15,
              "stop": 30,
              "side": "all",
              "events": 70,
              "wins": 48,
              "losses": 21,
              "unresolved": 1,
              "win_rate_pct": 68.57,
              "expectancy_points": 1.29,
              "net_points": 90.0,
              "profit_factor": 1.1429
            }
          ]
        },
        "oos_metrics": {
          "cell_id": "nq_ib_confluence",
          "trade_count": 22,
          "skip_count": 18,
          "win_rate_pct": 54.55,
          "expectancy_points": -2.7273,
          "net_points": -60.0,
          "profit_factor": 0.8,
          "max_drawdown_points": -160.0,
          "exit_reason_counts": {
            "target": 12,
            "stop": 10
          }
        }
      },
      "v9": {
        "locked_params": {
          "target": 5,
          "stop": 50,
          "ib_range_max": 60,
          "break_before_hour": 11
        },
        "is_fit": {
          "ib_range_max": 60,
          "break_before_hour": 11,
          "target": 5,
          "stop": 50,
          "fit_source": "filter_grid",
          "is_metrics": {
            "trade_count": 24,
            "win_rate_pct": 100.0,
            "expectancy_points": 5.0,
            "net_points": 120.0,
            "profit_factor": null,
            "max_drawdown_points": 0.0
          },
          "candidates_considered": 12,
          "eligible_count": 8,
          "top3": [
            {
              "ib_range_max": 60,
              "break_before_hour": 11,
              "trade_count": 24,
              "expectancy_points": 5.0,
              "net_points": 120.0,
              "profit_factor": null
            },
            {
              "ib_range_max": 50,
              "break_before_hour": 11,
              "trade_count": 14,
              "expectancy_points": 5.0,
              "net_points": 70.0,
              "profit_factor": null
            },
            {
              "ib_range_max": 40,
              "break_before_hour": 11,
              "trade_count": 9,
              "expectancy_points": 5.0,
              "net_points": 45.0,
              "profit_factor": null
            }
          ]
        },
        "oos_metrics": {
          "cell_id": "nq_ib_v9_t5s50",
          "trade_count": 3,
          "skip_count": 37,
          "win_rate_pct": 100.0,
          "expectancy_points": 5.0,
          "net_points": 15.0,
          "profit_factor": null,
          "max_drawdown_points": 0.0,
          "exit_reason_counts": {
            "target": 3
          }
        }
      },
      "window_winner": "nq_ib_v9_t5s50"
    }
  ],
  "caveats": [
    "nq_ib_confluence pooled OOS trade_count=66 < farm gate \u2265100 \u2014 underpowered for promote.",
    "nq_ib_v9_t5s50 pooled OOS trade_count=18 < farm gate \u2265100 \u2014 underpowered for promote.",
    "Neither cell is promoted from this run (staged research only).",
    "V9 fragile R:R (T5/S50) \u2014 IS metrics must not drive promotion."
  ]
}