{
  "experiment": {
    "alloc": {
      "labels": [
        "2025-08",
        "2025-09",
        "2025-10",
        "2025-11",
        "2025-12",
        "2026-01",
        "2026-02",
        "2026-03",
        "2026-04",
        "2026-05",
        "2026-06",
        "2026-07"
      ],
      "series": [
        {
          "name": "SPY",
          "values": [
            0.6,
            0.6,
            0.6,
            0.6,
            0.6,
            0.6,
            0.6,
            0.6,
            0.6,
            0.6,
            0.6,
            0.6
          ]
        },
        {
          "name": "CASH",
          "values": [
            0.4,
            0.4,
            0.4,
            0.4,
            0.4,
            0.4,
            0.4,
            0.4,
            0.4,
            0.4,
            0.4,
            0.4
          ]
        }
      ]
    },
    "alloc_as": null,
    "alloc_monthly_as": null,
    "alloc_monthly_ours": {
      "labels": [
        "2025-08",
        "2025-09",
        "2025-10",
        "2025-11",
        "2025-12",
        "2026-01",
        "2026-02",
        "2026-03",
        "2026-04",
        "2026-05",
        "2026-06",
        "2026-07"
      ],
      "series": [
        {
          "name": "SPY",
          "values": [
            0.6,
            0.6,
            0.6,
            0.6,
            0.6,
            0.6,
            0.6,
            0.6,
            0.6,
            0.6,
            0.6,
            0.6
          ]
        },
        {
          "name": "CASH",
          "values": [
            0.4,
            0.4,
            0.4,
            0.4,
            0.4,
            0.4,
            0.4,
            0.4,
            0.4,
            0.4,
            0.4,
            0.4
          ]
        }
      ]
    },
    "alloc_ours": {
      "labels": [
        "2025-08",
        "2025-09",
        "2025-10",
        "2025-11",
        "2025-12",
        "2026-01",
        "2026-02",
        "2026-03",
        "2026-04",
        "2026-05",
        "2026-06",
        "2026-07"
      ],
      "series": [
        {
          "name": "SPY",
          "values": [
            0.6,
            0.6,
            0.6,
            0.6,
            0.6,
            0.6,
            0.6,
            0.6,
            0.6,
            0.6,
            0.6,
            0.6
          ]
        },
        {
          "name": "CASH",
          "values": [
            0.4,
            0.4,
            0.4,
            0.4,
            0.4,
            0.4,
            0.4,
            0.4,
            0.4,
            0.4,
            0.4,
            0.4
          ]
        }
      ]
    },
    "alloc_yearly_as": null,
    "alloc_yearly_ours": {
      "labels": [
        "2025"
      ],
      "series": [
        {
          "name": "SPY",
          "values": [
            0.6
          ]
        },
        {
          "name": "CASH",
          "values": [
            0.4
          ]
        }
      ]
    },
    "analysis_page": null,
    "answer": " TL;DR Net new highs minus new lows (NH-NL) breadth SMA50<0 as SPY risk-off (cash/SH) was tested as daily nextclose +10bps sleeve. After maximal TV ingest (INDEX:HIGN/INDEX:LOWN 2001-06-05→2026-08-11, 6331/6312 rows) plus synthetic 52-week high/low reconstruction from 9 sector SPDRs (1999-12-21→2026-08-04, daily corr 0.65 to native — fails 0.90 gate, frozen NO-GO), the anchor SMA50(net)<0",
    "bead_ids": [
      "qm-4bx.16"
    ],
    "cost_variants": {},
    "coverage": {
      "alloc_monthly_labels_n": 12,
      "alloc_yearly_labels_n": 0,
      "as_alloc_rows": 0,
      "as_history_start_year": null,
      "as_returns_n": 0,
      "as_yearly_alloc_rows": 0,
      "coverage_generated_at": "2026-07T00:00:00Z",
      "db_path": "data/market.sqlite",
      "db_warm": true,
      "gap_years": null,
      "limiting": {
        "effective_start": "2001-06-05",
        "id": "INDEX:HIGN",
        "kind": "ohlcv",
        "native_start": "2001-06-05",
        "proxied": false,
        "proxy_chain": [],
        "span_basis": "db"
      },
      "macro_meta": [],
      "macros": [],
      "monthly_labels_n": 120,
      "ours_alloc_rows": 120,
      "ours_returns_n": 120,
      "ticker_meta": [
        {
          "end": "2026-08-11",
          "n_rows": 6331,
          "start": "2001-06-05",
          "ticker": "INDEX:HIGN"
        },
        {
          "end": "2026-08-11",
          "n_rows": 6312,
          "start": "2001-06-05",
          "ticker": "INDEX:LOWN"
        },
        {
          "end": "2026-08-17",
          "n_rows": 5440,
          "start": "2005-01-03",
          "ticker": "INDEX:MAHX"
        },
        {
          "end": "2026-08-17",
          "n_rows": 5440,
          "start": "2005-01-03",
          "ticker": "INDEX:MALX"
        },
        {
          "end": "2026-07-24",
          "n_rows": 8428,
          "start": "1993-01-29",
          "ticker": "SPY"
        }
      ],
      "tickers": [
        "INDEX:HIGN",
        "INDEX:LOWN",
        "INDEX:MAHX",
        "INDEX:MALX",
        "SPY"
      ]
    },
    "date": "2026-08-12",
    "disposition": "# NH-NL Breadth Risk-Off Sleeve — SMA50(HIGN-LOWN)<0 (qm-4bx.16) **Decision:** `NO-SHIP frozen` — investigate-only; do not admit to catalog/Meta. **Commit:** `7aee6c37` · **Date:** 2026-08-12 · **Payload:** `research/findings/nhnl-breadth-qm-4bx.16.json` · **Repro:** `python -m research.scripts.audit_nhnl_breadth --write` ## TL;DR Net new highs minus new lows (NH-NL) breadth SMA50<0 as SPY risk-off (cash/SH) was tested as daily `next_close` +10bps sleeve. After maximal TV ingest (`INDEX:HIGN`/`INDEX:LOWN` 2001-06-05→2026-08-11, 6331/6312 rows) plus synthetic 52-week high/low reconstruction",
    "equity": {
      "experiment": [
        1.0,
        0.9658,
        0.9448,
        0.9161,
        0.9,
        0.9318,
        0.908,
        0.8929,
        0.8831,
        0.8603,
        0.841,
        0.8616,
        0.8468,
        0.8232,
        0.8491,
        0.8353,
        0.8627,
        0.8865,
        0.8496,
        0.8657,
        0.883,
        0.8936,
        0.912,
        0.9153,
        0.8757,
        0.846,
        0.8704,
        0.8752,
        0.8379,
        0.8406,
        0.7972,
        0.7624,
        0.7688,
        0.7838,
        0.7454,
        0.7197,
        0.7463,
        0.7651,
        0.7765,
        0.8109,
        0.8955,
        0.8715,
        0.8392,
        0.8137,
        0.8138,
        0.805,
        0.7937,
        0.7692,
        0.7822,
        0.7826,
        0.8035,
        0.8071,
        0.8272,
        0.8597,
        0.8648,
        0.8535,
        0.8815,
        0.8781,
        0.9082,
        0.8901,
        0.9242,
        0.9117,
        0.9326,
        0.9056,
        0.8981,
        0.8761,
        0.9074,
        0.8748,
        0.8808,
        0.8904,
        0.9185,
        0.9561,
        0.9048,
        0.8944,
        0.9285,
        0.9184,
        0.9201,
        0.919,
        0.9422,
        0.9386,
        0.9502,
        0.9273,
        0.9179,
        0.9438,
        0.8832,
        0.8818,
        0.919,
        0.9489,
        0.9687,
        0.9782,
        0.9916,
        0.9882,
        1.0516,
        1.1022,
        1.1253,
        1.1082,
        1.0899,
        1.0618,
        1.0686,
        1.0693,
        1.1006,
        1.0641,
        1.0031,
        0.9536,
        0.9707,
        0.9528,
        0.9267,
        0.9448,
        0.9482,
        0.9964,
        0.999,
        1.0523,
        1.0416,
        1.031,
        1.0536,
        1.0461,
        1.0174,
        1.0005,
        1.0188,
        1.0005
      ],
      "labels": [
        "2016-08",
        "2016-09",
        "2016-10",
        "2016-11",
        "2016-12",
        "2017-01",
        "2017-02",
        "2017-03",
        "2017-04",
        "2017-05",
        "2017-06",
        "2017-07",
        "2017-08",
        "2017-09",
        "2017-10",
        "2017-11",
        "2017-12",
        "2018-01",
        "2018-02",
        "2018-03",
        "2018-04",
        "2018-05",
        "2018-06",
        "2018-07",
        "2018-08",
        "2018-09",
        "2018-10",
        "2018-11",
        "2018-12",
        "2019-01",
        "2019-02",
        "2019-03",
        "2019-04",
        "2019-05",
        "2019-06",
        "2019-07",
        "2019-08",
        "2019-09",
        "2019-10",
        "2019-11",
        "2019-12",
        "2020-01",
        "2020-02",
        "2020-03",
        "2020-04",
        "2020-05",
        "2020-06",
        "2020-07",
        "2020-08",
        "2020-09",
        "2020-10",
        "2020-11",
        "2020-12",
        "2021-01",
        "2021-02",
        "2021-03",
        "2021-04",
        "2021-05",
        "2021-06",
        "2021-07",
        "2021-08",
        "2021-09",
        "2021-10",
        "2021-11",
        "2021-12",
        "2022-01",
        "2022-02",
        "2022-03",
        "2022-04",
        "2022-05",
        "2022-06",
        "2022-07",
        "2022-08",
        "2022-09",
        "2022-10",
        "2022-11",
        "2022-12",
        "2023-01",
        "2023-02",
        "2023-03",
        "2023-04",
        "2023-05",
        "2023-06",
        "2023-07",
        "2023-08",
        "2023-09",
        "2023-10",
        "2023-11",
        "2023-12",
        "2024-01",
        "2024-02",
        "2024-03",
        "2024-04",
        "2024-05",
        "2024-06",
        "2024-07",
        "2024-08",
        "2024-09",
        "2024-10",
        "2024-11",
        "2024-12",
        "2025-01",
        "2025-02",
        "2025-03",
        "2025-04",
        "2025-05",
        "2025-06",
        "2025-07",
        "2025-08",
        "2025-09",
        "2025-10",
        "2025-11",
        "2025-12",
        "2026-01",
        "2026-02",
        "2026-03",
        "2026-04",
        "2026-05",
        "2026-06",
        "2026-07"
      ],
      "spy": [
        1.0,
        1.0001,
        0.9827,
        1.0189,
        1.0396,
        1.0582,
        1.0998,
        1.1011,
        1.1121,
        1.1278,
        1.1349,
        1.1583,
        1.1617,
        1.1851,
        1.213,
        1.2501,
        1.2652,
        1.3365,
        1.2879,
        1.2526,
        1.2591,
        1.2897,
        1.2971,
        1.3452,
        1.3881,
        1.3964,
        1.2999,
        1.324,
        1.2074,
        1.3041,
        1.3464,
        1.3707,
        1.4267,
        1.3357,
        1.4287,
        1.4503,
        1.426,
        1.4538,
        1.4859,
        1.5397,
        1.5844,
        1.5838,
        1.4584,
        1.2763,
        1.4383,
        1.5069,
        1.5336,
        1.6239,
        1.7373,
        1.6722,
        1.6305,
        1.8079,
        1.8749,
        1.8558,
        1.9074,
        1.994,
        2.0995,
        2.1132,
        2.1606,
        2.2134,
        2.2792,
        2.173,
        2.3255,
        2.3068,
        2.4135,
        2.2862,
        2.2187,
        2.3021,
        2.1001,
        2.1048,
        1.9312,
        2.1091,
        2.023,
        1.836,
        1.9852,
        2.0956,
        1.9748,
        2.099,
        2.0462,
        2.1221,
        2.156,
        2.166,
        2.3063,
        2.3818,
        2.3431,
        2.232,
        2.1835,
        2.383,
        2.4918,
        2.5314,
        2.6635,
        2.7507,
        2.6397,
        2.7733,
        2.8711,
        2.9059,
        2.9738,
        3.0362,
        3.0091,
        3.1886,
        3.1119,
        3.1954,
        3.1549,
        2.9791,
        2.9533,
        3.1389,
        3.3001,
        3.3762,
        3.4454,
        3.5682,
        3.6532,
        3.6603,
        3.6633,
        3.7172,
        3.6851,
        3.5032,
        3.8712,
        4.0749,
        4.0329,
        3.9906
      ],
      "spy_labels": [
        "2016-08",
        "2016-09",
        "2016-10",
        "2016-11",
        "2016-12",
        "2017-01",
        "2017-02",
        "2017-03",
        "2017-04",
        "2017-05",
        "2017-06",
        "2017-07",
        "2017-08",
        "2017-09",
        "2017-10",
        "2017-11",
        "2017-12",
        "2018-01",
        "2018-02",
        "2018-03",
        "2018-04",
        "2018-05",
        "2018-06",
        "2018-07",
        "2018-08",
        "2018-09",
        "2018-10",
        "2018-11",
        "2018-12",
        "2019-01",
        "2019-02",
        "2019-03",
        "2019-04",
        "2019-05",
        "2019-06",
        "2019-07",
        "2019-08",
        "2019-09",
        "2019-10",
        "2019-11",
        "2019-12",
        "2020-01",
        "2020-02",
        "2020-03",
        "2020-04",
        "2020-05",
        "2020-06",
        "2020-07",
        "2020-08",
        "2020-09",
        "2020-10",
        "2020-11",
        "2020-12",
        "2021-01",
        "2021-02",
        "2021-03",
        "2021-04",
        "2021-05",
        "2021-06",
        "2021-07",
        "2021-08",
        "2021-09",
        "2021-10",
        "2021-11",
        "2021-12",
        "2022-01",
        "2022-02",
        "2022-03",
        "2022-04",
        "2022-05",
        "2022-06",
        "2022-07",
        "2022-08",
        "2022-09",
        "2022-10",
        "2022-11",
        "2022-12",
        "2023-01",
        "2023-02",
        "2023-03",
        "2023-04",
        "2023-05",
        "2023-06",
        "2023-07",
        "2023-08",
        "2023-09",
        "2023-10",
        "2023-11",
        "2023-12",
        "2024-01",
        "2024-02",
        "2024-03",
        "2024-04",
        "2024-05",
        "2024-06",
        "2024-07",
        "2024-08",
        "2024-09",
        "2024-10",
        "2024-11",
        "2024-12",
        "2025-01",
        "2025-02",
        "2025-03",
        "2025-04",
        "2025-05",
        "2025-06",
        "2025-07",
        "2025-08",
        "2025-09",
        "2025-10",
        "2025-11",
        "2025-12",
        "2026-01",
        "2026-02",
        "2026-03",
        "2026-04",
        "2026-05",
        "2026-06",
        "2026-07"
      ]
    },
    "errors": "- Pre-register any hysteresis/buffer winner (hys2/buffer10) and test OOS before claim; do not use 60d window post-hoc best 5.53. - Do not use synthetic for history extension; correlation fails gate. - SH sleeve not modeled for borrow/expense/tracking; would need tradable SH history not synthetic proxy. - Alternative data: FRED/Quandl free daily NYSE highs pre-2001 not found; licensed NYSE archive would be needed for true extension. - Weekly vs daily not needed (NHNL is daily).",
    "follow_on": [
      {
        "status": "open",
        "title": "Pre-register any hysteresis/buffer winner (hys2/buffer10) and test OOS before claim; do not use 60d window post-hoc best 5.53."
      },
      {
        "status": "open",
        "title": "Do not use synthetic for history extension; correlation fails gate."
      },
      {
        "status": "open",
        "title": "SH sleeve not modeled for borrow/expense/tracking; would need tradable SH history not synthetic proxy."
      },
      {
        "status": "open",
        "title": "Alternative data: FRED/Quandl free daily NYSE highs pre-2001 not found; licensed NYSE archive would be needed for true extension."
      },
      {
        "status": "open",
        "title": "Weekly vs daily not needed (NHNL is daily)."
      }
    ],
    "followup_command": "gh issue create --title \"Follow-up NH-NL Breadth Risk-Off Sleeve  SMA50HIGN-LOWN0 qm-4bx16\" --body \"Follow-up to qm-4bx.16: Decision: NO-SHIP frozen — investigate-only; do not admit to catalog/Meta. Commi\" --label \"priority:p2\" --label \"pipeline:research\" --label \"agent:ready\"",
    "gh_command": "gh issue create --title \"Follow-up NH-NL Breadth Risk-Off Sleeve  SMA50HIGN-LOWN0 qm-4bx16\" --body \"Follow-up to qm-4bx.16: Decision: NO-SHIP frozen — investigate-only; do not admit to catalog/Meta. Commi\" --label \"priority:p2\" --label \"pipeline:research\" --label \"agent:ready\"",
    "id": "qm-4bx.16",
    "issue_ids": [
      "qm-4bx.16"
    ],
    "monthly": {
      "as": [
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null,
        null
      ],
      "labels": [
        "2016-08",
        "2016-09",
        "2016-10",
        "2016-11",
        "2016-12",
        "2017-01",
        "2017-02",
        "2017-03",
        "2017-04",
        "2017-05",
        "2017-06",
        "2017-07",
        "2017-08",
        "2017-09",
        "2017-10",
        "2017-11",
        "2017-12",
        "2018-01",
        "2018-02",
        "2018-03",
        "2018-04",
        "2018-05",
        "2018-06",
        "2018-07",
        "2018-08",
        "2018-09",
        "2018-10",
        "2018-11",
        "2018-12",
        "2019-01",
        "2019-02",
        "2019-03",
        "2019-04",
        "2019-05",
        "2019-06",
        "2019-07",
        "2019-08",
        "2019-09",
        "2019-10",
        "2019-11",
        "2019-12",
        "2020-01",
        "2020-02",
        "2020-03",
        "2020-04",
        "2020-05",
        "2020-06",
        "2020-07",
        "2020-08",
        "2020-09",
        "2020-10",
        "2020-11",
        "2020-12",
        "2021-01",
        "2021-02",
        "2021-03",
        "2021-04",
        "2021-05",
        "2021-06",
        "2021-07",
        "2021-08",
        "2021-09",
        "2021-10",
        "2021-11",
        "2021-12",
        "2022-01",
        "2022-02",
        "2022-03",
        "2022-04",
        "2022-05",
        "2022-06",
        "2022-07",
        "2022-08",
        "2022-09",
        "2022-10",
        "2022-11",
        "2022-12",
        "2023-01",
        "2023-02",
        "2023-03",
        "2023-04",
        "2023-05",
        "2023-06",
        "2023-07",
        "2023-08",
        "2023-09",
        "2023-10",
        "2023-11",
        "2023-12",
        "2024-01",
        "2024-02",
        "2024-03",
        "2024-04",
        "2024-05",
        "2024-06",
        "2024-07",
        "2024-08",
        "2024-09",
        "2024-10",
        "2024-11",
        "2024-12",
        "2025-01",
        "2025-02",
        "2025-03",
        "2025-04",
        "2025-05",
        "2025-06",
        "2025-07",
        "2025-08",
        "2025-09",
        "2025-10",
        "2025-11",
        "2025-12",
        "2026-01",
        "2026-02",
        "2026-03",
        "2026-04",
        "2026-05",
        "2026-06",
        "2026-07"
      ],
      "ours": [
        0.0,
        -0.0342,
        -0.021744,
        -0.030377,
        -0.017575,
        0.035333,
        -0.025542,
        -0.01663,
        -0.010975,
        -0.025818,
        -0.022434,
        0.024495,
        -0.017177,
        -0.02787,
        0.031463,
        -0.016253,
        0.032803,
        0.027588,
        -0.041624,
        0.01895,
        0.019984,
        0.012005,
        0.020591,
        0.003618,
        -0.043265,
        -0.033916,
        0.028842,
        0.005515,
        -0.042619,
        0.003222,
        -0.05163,
        -0.043653,
        0.008395,
        0.019511,
        -0.048992,
        -0.034478,
        0.03696,
        0.025191,
        0.0149,
        0.044301,
        0.104329,
        -0.026801,
        -0.037063,
        -0.030386,
        0.000123,
        -0.010813,
        -0.014037,
        -0.030868,
        0.016901,
        0.000511,
        0.026706,
        0.00448,
        0.024904,
        0.039289,
        0.005932,
        -0.013067,
        0.032806,
        -0.003857,
        0.034279,
        -0.01993,
        0.03831,
        -0.013525,
        0.022924,
        -0.028951,
        -0.008282,
        -0.024496,
        0.035727,
        -0.035927,
        0.006859,
        0.010899,
        0.031559,
        0.040936,
        -0.053655,
        -0.011494,
        0.038126,
        -0.010878,
        0.001851,
        -0.001196,
        0.025245,
        -0.003821,
        0.012359,
        -0.0241,
        -0.010137,
        0.028217,
        -0.064209,
        -0.001585,
        0.042186,
        0.032535,
        0.020866,
        0.009807,
        0.013699,
        -0.003429,
        0.064157,
        0.048117,
        0.020958,
        -0.015196,
        -0.016513,
        -0.025782,
        0.006404,
        0.000655,
        0.029271,
        -0.033164,
        -0.057325,
        -0.049347,
        0.017932,
        -0.01844,
        -0.027393,
        0.019532,
        0.003599,
        0.050833,
        0.002609,
        0.053353,
        -0.010168,
        -0.010177,
        0.02192,
        -0.007118,
        -0.027435,
        -0.016611,
        0.018291,
        -0.017962
      ]
    },
    "page": "experiments/qm-4bx-16-nh-nl-breadth-risk-off-sleeve-sma50-hi.html",
    "performance": {
      "cagr": 0.06387489946659963,
      "max_drawdown": -0.19011,
      "max_drawdown_fallback_rule": "Use daily backtest equity when available; otherwise compound published monthly returns and label the result monthly.",
      "max_drawdown_observation_frequency": "monthly",
      "sharpe": 0.5470108438503767,
      "sortino": 0.88934,
      "volatility": null
    },
    "provenance": {
      "artifact": "research/findings/nhnl-breadth-qm-4bx.16.json",
      "code": "research/findings",
      "finding": "research/findings/nhnl-breadth-qm-4bx.16.md",
      "site_data": "site-data/experiments/qm-4bx.16.json",
      "tearsheet": null
    },
    "question": "Decision: NO-SHIP frozen — investigate-only; do not admit to catalog/Meta. Commit: 7aee6c37 · Date: 2026-08-12 · Payload: research/findings/nhnl-breadth-qm-4bx.16.json · Repro: python -m research.scripts.auditnhnlbreadth --write",
    "safe_withdrawal": null,
    "signalSeries": {
      "active": [
        false,
        true,
        false,
        false,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        false,
        true,
        false,
        true,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        false,
        false,
        false,
        true,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false
      ],
      "driver": "NH-NL breadth SMA50",
      "entryValue": 0.0,
      "exitValue": 0.0,
      "inputs": [],
      "isDynamic": false,
      "isMulti": false,
      "labels": [
        "2016-08",
        "2016-09",
        "2016-10",
        "2016-11",
        "2016-12",
        "2017-01",
        "2017-02",
        "2017-03",
        "2017-04",
        "2017-05",
        "2017-06",
        "2017-07",
        "2017-08",
        "2017-09",
        "2017-10",
        "2017-11",
        "2017-12",
        "2018-01",
        "2018-02",
        "2018-03",
        "2018-04",
        "2018-05",
        "2018-06",
        "2018-07",
        "2018-08",
        "2018-09",
        "2018-10",
        "2018-11",
        "2018-12",
        "2019-01",
        "2019-02",
        "2019-03",
        "2019-04",
        "2019-05",
        "2019-06",
        "2019-07",
        "2019-08",
        "2019-09",
        "2019-10",
        "2019-11",
        "2019-12",
        "2020-01",
        "2020-02",
        "2020-03",
        "2020-04",
        "2020-05",
        "2020-06",
        "2020-07",
        "2020-08",
        "2020-09",
        "2020-10",
        "2020-11",
        "2020-12",
        "2021-01",
        "2021-02",
        "2021-03",
        "2021-04",
        "2021-05",
        "2021-06",
        "2021-07",
        "2021-08",
        "2021-09",
        "2021-10",
        "2021-11",
        "2021-12",
        "2022-01",
        "2022-02",
        "2022-03",
        "2022-04",
        "2022-05",
        "2022-06",
        "2022-07",
        "2022-08",
        "2022-09",
        "2022-10",
        "2022-11",
        "2022-12",
        "2023-01",
        "2023-02",
        "2023-03",
        "2023-04",
        "2023-05",
        "2023-06",
        "2023-07",
        "2023-08",
        "2023-09",
        "2023-10",
        "2023-11",
        "2023-12",
        "2024-01",
        "2024-02",
        "2024-03",
        "2024-04",
        "2024-05",
        "2024-06",
        "2024-07",
        "2024-08",
        "2024-09",
        "2024-10",
        "2024-11",
        "2024-12",
        "2025-01",
        "2025-02",
        "2025-03",
        "2025-04",
        "2025-05",
        "2025-06",
        "2025-07",
        "2025-08",
        "2025-09",
        "2025-10",
        "2025-11",
        "2025-12",
        "2026-01",
        "2026-02",
        "2026-03",
        "2026-04",
        "2026-05",
        "2026-06",
        "2026-07"
      ],
      "megaThreshold": null,
      "megaThresholdLabel": null,
      "threshold": 0.0,
      "thresholdKind": "fixed_zero",
      "thresholdLabel": "Entry 0.0net highs",
      "trigger": [
        false,
        true,
        true,
        false,
        true,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        true,
        true,
        true,
        true,
        true,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        true,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        true,
        false,
        false,
        true,
        true,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false
      ],
      "triggers": [
        "2016-09",
        "2016-10",
        "2016-12",
        "2018-11",
        "2018-12",
        "2019-01",
        "2019-02",
        "2019-03",
        "2021-10",
        "2024-02",
        "2024-05",
        "2024-06"
      ],
      "unit": "net highs",
      "values": [
        -0.013,
        0.162,
        -0.131,
        -0.001,
        0.15,
        0.615,
        0.662,
        0.461,
        0.464,
        0.404,
        0.718,
        0.868,
        0.861,
        0.647,
        0.886,
        0.507,
        0.7,
        0.859,
        0.489,
        0.725,
        0.407,
        0.538,
        0.443,
        0.4,
        0.253,
        0.368,
        0.383,
        -0.039,
        0.278,
        -0.132,
        0.015,
        -0.137,
        -0.273,
        -0.357,
        -0.567,
        -0.641,
        -0.735,
        -0.631,
        -0.327,
        -0.611,
        -0.628,
        -0.553,
        -0.863,
        -0.687,
        -0.787,
        -0.618,
        -1.018,
        -1.003,
        -0.946,
        -0.986,
        -0.567,
        -0.691,
        -0.391,
        -0.275,
        -0.422,
        -0.479,
        -0.138,
        -0.31,
        -0.377,
        -0.282,
        -0.032,
        -0.089,
        0.29,
        0.008,
        0.392,
        0.531,
        0.302,
        0.821,
        0.791,
        0.903,
        0.894,
        0.454,
        0.637,
        0.715,
        0.856,
        0.813,
        0.632,
        0.553,
        0.647,
        0.452,
        0.72,
        0.891,
        0.793,
        0.249,
        0.253,
        0.446,
        0.43,
        0.058,
        0.452,
        0.367,
        -0.015,
        -0.059,
        -0.036,
        0.041,
        -0.503,
        -0.549,
        -0.191,
        -0.602,
        -0.337,
        -0.743,
        -0.852,
        -0.548,
        -0.755,
        -0.817,
        -1.03,
        -0.86,
        -0.547,
        -0.701,
        -0.557,
        -0.953,
        -0.915,
        -0.74,
        -0.666,
        -0.501,
        -0.41,
        -0.545,
        -0.143,
        -0.11,
        -0.029,
        -0.073
      ],
      "yLabel": "SMA50(HIGN-LOWN) (net highs)"
    },
    "signals": [
      {
        "conditionId": "NH-NL breadth SMA50",
        "contributingConditions": [],
        "date": "2016-09",
        "driver": "NH-NL breadth SMA50",
        "entryExit": "entry",
        "index": 1,
        "indicatorValue": 0.162,
        "label": "signal 2016-09",
        "newState": "active",
        "priorState": "inactive",
        "thresholdKind": "fixed_zero",
        "thresholdType": "fixed",
        "thresholdValue": 0.0,
        "unit": "net highs"
      },
      {
        "conditionId": "NH-NL breadth SMA50",
        "contributingConditions": [],
        "date": "2016-10",
        "driver": "NH-NL breadth SMA50",
        "entryExit": "exit",
        "index": 2,
        "indicatorValue": -0.131,
        "label": "signal 2016-10",
        "newState": "inactive",
        "priorState": "active",
        "thresholdKind": "fixed_zero",
        "thresholdType": "fixed",
        "thresholdValue": 0.0,
        "unit": "net highs"
      }
    ],
    "slug": "qm-4bx-16-nh-nl-breadth-risk-off-sleeve-sma50-hi",
    "stats": {
      "cagr": 0.06387489946659963,
      "maxDD": -0.19011,
      "sharpe": 0.5470108438503767,
      "sortino": 0.88934
    },
    "status": "rejected",
    "status_chip": "Rejected",
    "tax_analysis": {
      "ltcg_pct": null,
      "note": "Experiment parity stub: no taxable wrapper; see strategy tax_analysis for methodology",
      "schema_id": "tax-analysis/v1",
      "stcg_pct": null
    },
    "taxable_stats": null,
    "title": "NH-NL Breadth Risk-Off Sleeve — SMA50(HIGN-LOWN)<0 (qm-4bx.16)",
    "trading_costs": {
      "avg_daily_turnover": 0.00663,
      "avg_yearly_fees": 0.001671,
      "basis": "daily_engine",
      "cost_bps_one_way": 10.0,
      "fee_bps": 10.0,
      "n_bars": 120,
      "schema_id": "trading-costs/v1",
      "slippage_bps": 0.0,
      "total_costs": 0.000796
    },
    "verify": {
      "as_cagr": null,
      "as_stats": null,
      "cagr_delta": null,
      "gates": null,
      "last_verify_at": null,
      "monthly_bias": null,
      "monthly_corr": null,
      "monthly_mae": null,
      "n_months": null,
      "ours_cagr": 0.06387489946659963,
      "ours_stats": {
        "ann_return": 0.06387489946659963,
        "sharpe": 0.5470108438503767,
        "sortino": 0.88934
      },
      "passed": null,
      "status": "not_applicable",
      "verify_status": null
    },
    "visualizations": [
      {
        "data": {
          "labels": [
            "2016-08",
            "2016-09",
            "2016-10",
            "2016-11",
            "2016-12",
            "2017-01"
          ],
          "note": "Aligned window, both rebased to 1.0 at start for fair comparison"
        },
        "title": "Equity vs S&P (aligned, rebased to 1.0)",
        "type": "equity_vs_spy"
      },
      {
        "data": {
          "grid": "ensemble_grid",
          "note": "Threshold / holding window grid"
        },
        "title": "Parameter grid: ensemble_grid",
        "type": "param_sweep"
      },
      {
        "data": {
          "note": "Triggers when overlay takes over base strategy"
        },
        "title": "Signal timeline (sparse triggers)",
        "type": "signal_timeline"
      }
    ]
  },
  "generated_at": "2026-09-17T04:12:25Z",
  "id": "qm-4bx.16",
  "schema_id": "experiments/v1",
  "schema_version": 1
}
