{
  "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 S&P 500 breadth washout (INDEX:S5FI % above 50dma) with HMA20 crossing up through 8.5% after washout or under 0% (mega washout) is a buy-only capitulation impulse that forces max long SPY for a holding window. After maximal TV ingest (2006-12-29→2026-08-11, 4956 rows) plus synthetic ETF-proxy breadth (1999-03-05, corr 0.93 to TV), daily nextclose +10bps, the HMA20 8.5/0 signal is spa",
    "bead_ids": [
      "qm-4bx.18"
    ],
    "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": "2006-12-29",
        "id": "INDEX:S5FI",
        "kind": "ohlcv",
        "native_start": "2006-12-29",
        "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": 4956,
          "start": "2006-12-29",
          "ticker": "INDEX:S5FI"
        },
        {
          "end": "2026-07-24",
          "n_rows": 8428,
          "start": "1993-01-29",
          "ticker": "SPY"
        }
      ],
      "tickers": [
        "INDEX:S5FI",
        "SPY"
      ]
    },
    "date": "2026-08-12",
    "disposition": "# S&P 500 Breadth Low Buy Overlay — S5FI HMA20 8.5/0 (qm-4bx.18) **Decision:** `NO-SHIP frozen` — investigate-only; do not admit to catalog/Meta. **Commit:** `032db993` · **Date:** 2026-08-12 · **Payload:** `research/findings/spx-breadth-low-qm-4bx.18.json` · **Repro:** `python -m research.scripts.audit_spx_breadth_low --write` ## TL;DR S&P 500 breadth washout (`INDEX:S5FI` % above 50dma) with HMA20 crossing up through 8.5% after washout or under 0% (mega washout) is a buy-only capitulation impulse that forces max long SPY for a holding window. After maximal TV ingest (2006-12-29→2026-08-1",
    "equity": {
      "experiment": [
        1.0,
        0.9611,
        0.9321,
        0.8936,
        0.8971,
        0.9148,
        0.8554,
        0.8696,
        0.8804,
        0.8754,
        0.8414,
        0.8659,
        0.8538,
        0.8604,
        0.8189,
        0.7855,
        0.8311,
        0.8833,
        0.848,
        0.8226,
        0.8833,
        0.9323,
        0.9446,
        0.9905,
        1.0197,
        0.9155,
        0.8706,
        0.9265,
        0.9102,
        0.8886,
        0.8801,
        0.8874,
        0.8607,
        0.8553,
        0.9041,
        0.9693,
        0.9541,
        0.9338,
        0.8768,
        0.8799,
        0.8473,
        0.891,
        0.8648,
        0.8263,
        0.9367,
        0.9725,
        0.9696,
        0.9378,
        0.9476,
        0.9346,
        0.9333,
        0.974,
        1.0522,
        1.0535,
        1.1187,
        1.0681,
        1.1235,
        1.0849,
        1.1055,
        1.1094,
        1.0984,
        1.0459,
        1.09,
        1.0595,
        1.0825,
        1.0126,
        1.0035,
        1.016,
        1.0443,
        1.0624,
        1.0029,
        0.9586,
        0.9264,
        0.8888,
        0.8588,
        0.8109,
        0.8433,
        0.798,
        0.854,
        0.8957,
        0.8589,
        0.8925,
        0.9412,
        0.8964,
        0.9642,
        1.0184,
        0.9848,
        1.0047,
        1.0448,
        0.9976,
        1.0622,
        1.0559,
        1.0562,
        1.0267,
        1.0457,
        1.0722,
        1.0872,
        1.1166,
        1.1404,
        1.1481,
        1.1733,
        1.1992,
        1.3829,
        1.4355,
        1.4426,
        1.4615,
        1.4809,
        1.5532,
        1.4677,
        1.3842,
        1.4135,
        1.3743,
        1.3641,
        1.3914,
        1.324,
        1.3035,
        1.247,
        1.2019,
        1.2417,
        1.3232
      ],
      "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 holding 20 fixed and overlay override vs SMA200+60/40 before OOS 60/36 Deflated Sharpe. - Try ensemble thresholds (5/8.5/10 voting) to reduce mega 0 brittleness. - If revived, do not use consensus — document as filtered too strict. - Do not invent pre-2006 S5FI without TV archive; ETF proxy is best available extension — full 500-stock point-in-time requires licensed constituent history. - Investigate why SMA/EMA fail — HMA lag reduction is edge; test Wilder with longer window. - Weekly vs daily not needed (S5FI is daily).",
    "follow_on": [
      {
        "status": "open",
        "title": "Pre-register holding 20 fixed and overlay override vs SMA200+60/40 before OOS 60/36 Deflated Sharpe."
      },
      {
        "status": "open",
        "title": "Try ensemble thresholds (5/8.5/10 voting) to reduce mega 0 brittleness."
      },
      {
        "status": "open",
        "title": "If revived, do not use consensus — document as filtered too strict."
      },
      {
        "status": "open",
        "title": "Do not invent pre-2006 S5FI without TV archive; ETF proxy is best available extension — full 500-stock point-in-time requires licensed constituent history."
      },
      {
        "status": "open",
        "title": "Investigate why SMA/EMA fail — HMA lag reduction is edge; test Wilder with longer window."
      }
    ],
    "followup_command": "gh issue create --title \"Follow-up SP 500 Breadth Low Buy Overlay  S5FI HMA20 850 qm-4bx18\" --body \"Follow-up to qm-4bx.18: 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 SP 500 Breadth Low Buy Overlay  S5FI HMA20 850 qm-4bx18\" --body \"Follow-up to qm-4bx.18: 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.18",
    "issue_ids": [
      "qm-4bx.18"
    ],
    "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.0389,
        -0.030174,
        -0.041305,
        0.003917,
        0.01973,
        -0.064932,
        0.0166,
        0.01242,
        -0.005679,
        -0.038839,
        0.029118,
        -0.013974,
        0.00773,
        -0.048233,
        -0.040786,
        0.058052,
        0.062808,
        -0.039964,
        -0.029953,
        0.07379,
        0.055474,
        0.013193,
        0.048592,
        0.02948,
        -0.102187,
        -0.049044,
        0.064209,
        -0.017593,
        -0.023731,
        -0.009566,
        0.008295,
        -0.030088,
        -0.006274,
        0.057056,
        0.072116,
        -0.015681,
        -0.021277,
        -0.061041,
        0.003536,
        -0.03705,
        0.051576,
        -0.029405,
        -0.044519,
        0.133608,
        0.038219,
        -0.002982,
        -0.032797,
        0.01045,
        -0.013719,
        -0.001391,
        0.043609,
        0.080287,
        0.001236,
        0.061889,
        -0.045231,
        0.051868,
        -0.034357,
        0.018988,
        0.003528,
        -0.009915,
        -0.047797,
        0.042165,
        -0.027982,
        0.021708,
        -0.064573,
        -0.008987,
        0.012456,
        0.027854,
        0.017332,
        -0.056005,
        -0.044172,
        -0.033591,
        -0.040587,
        -0.033753,
        -0.055776,
        0.039956,
        -0.053718,
        0.070175,
        0.048829,
        -0.041085,
        0.03912,
        0.054566,
        -0.047599,
        0.075636,
        0.056212,
        -0.032993,
        0.020207,
        0.039912,
        -0.045176,
        0.064755,
        -0.005931,
        0.000284,
        -0.02793,
        0.018506,
        0.025342,
        0.01399,
        0.027042,
        0.021315,
        0.006752,
        0.021949,
        0.022074,
        0.153185,
        0.038036,
        0.004946,
        0.013101,
        0.013274,
        0.048822,
        -0.055048,
        -0.056892,
        0.021167,
        -0.027733,
        -0.007422,
        0.020013,
        -0.04844,
        -0.015483,
        -0.043345,
        -0.036167,
        0.033114,
        0.065636
      ]
    },
    "page": "experiments/qm-4bx-18-s-p-500-breadth-low-buy-overlay-s5fi-h.html",
    "performance": {
      "cagr": 0.07606,
      "max_drawdown": -0.16947,
      "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.69212,
      "sortino": 1.01318,
      "volatility": null
    },
    "provenance": {
      "artifact": "research/findings/spx-breadth-low-qm-4bx.18.json",
      "code": "research/findings",
      "finding": "research/findings/spx-breadth-low-qm-4bx.18.md",
      "site_data": "site-data/experiments/qm-4bx.18.json",
      "tearsheet": null
    },
    "question": "Decision: NO-SHIP frozen — investigate-only; do not admit to catalog/Meta. Commit: 032db993 · Date: 2026-08-12 · Payload: research/findings/spx-breadth-low-qm-4bx.18.json · Repro: python -m research.scripts.auditspxbreadthlow --write",
    "safe_withdrawal": null,
    "signalSeries": {
      "active": [
        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,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        true,
        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,
        true
      ],
      "driver": "S5FI % above 50DMA (HMA20)",
      "entryValue": 8.5,
      "exitValue": 15.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": 15.0,
      "megaThresholdLabel": "Exit 15.0%",
      "threshold": 8.5,
      "thresholdKind": "fixed_hysteresis",
      "thresholdLabel": "Entry 8.5%",
      "trigger": [
        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,
        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,
        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,
        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
      ],
      "triggers": [
        "2019-03",
        "2022-10",
        "2024-03"
      ],
      "unit": "%",
      "values": [
        8.853,
        9.104,
        10.646,
        9.756,
        11.557,
        11.844,
        12.427,
        13.329,
        11.815,
        13.961,
        14.755,
        13.854,
        13.976,
        15.061,
        15.554,
        14.787,
        13.982,
        13.95,
        13.298,
        14.118,
        12.901,
        14.469,
        13.641,
        12.35,
        11.344,
        11.081,
        10.597,
        11.507,
        10.242,
        8.595,
        8.909,
        7.36,
        7.493,
        7.648,
        5.989,
        5.891,
        5.91,
        4.245,
        5.034,
        3.34,
        3.873,
        2.28,
        3.448,
        3.389,
        3.507,
        2.956,
        3.563,
        1.808,
        3.683,
        3.936,
        2.565,
        3.5,
        4.592,
        5.422,
        4.385,
        5.006,
        6.958,
        6.255,
        7.37,
        7.868,
        7.968,
        8.577,
        9.018,
        10.189,
        11.275,
        11.646,
        12.088,
        13.47,
        13.011,
        12.756,
        13.955,
        14.155,
        14.465,
        13.489,
        15.084,
        13.441,
        13.738,
        13.592,
        14.183,
        14.362,
        12.571,
        14.554,
        14.131,
        12.228,
        12.53,
        10.686,
        11.792,
        10.5,
        9.423,
        8.793,
        8.684,
        8.367,
        7.86,
        7.328,
        7.118,
        4.874,
        5.806,
        4.471,
        3.18,
        2.775,
        3.092,
        3.823,
        3.74,
        3.624,
        3.008,
        1.507,
        1.963,
        1.855,
        2.083,
        3.823,
        3.054,
        4.658,
        4.479,
        4.593,
        5.731,
        6.211,
        5.293,
        7.168,
        7.408,
        7.398
      ],
      "yLabel": "S5FI HMA20 (%)"
    },
    "signals": [
      {
        "conditionId": "S5FI % above 50DMA (HMA20)",
        "contributingConditions": [],
        "date": "2019-03",
        "driver": "S5FI % above 50DMA (HMA20)",
        "entryExit": "entry",
        "index": 31,
        "indicatorValue": 7.36,
        "label": "signal 2019-03",
        "newState": "active",
        "priorState": "inactive",
        "thresholdKind": "fixed_hysteresis",
        "thresholdType": "fixed",
        "thresholdValue": 8.5,
        "unit": "%"
      },
      {
        "conditionId": "S5FI % above 50DMA (HMA20)",
        "contributingConditions": [],
        "date": "2022-10",
        "driver": "S5FI % above 50DMA (HMA20)",
        "entryExit": "exit",
        "index": 74,
        "indicatorValue": 15.084,
        "label": "signal 2022-10",
        "newState": "inactive",
        "priorState": "active",
        "thresholdKind": "fixed_hysteresis",
        "thresholdType": "fixed",
        "thresholdValue": 8.5,
        "unit": "%"
      },
      {
        "conditionId": "S5FI % above 50DMA (HMA20)",
        "contributingConditions": [],
        "date": "2024-03",
        "driver": "S5FI % above 50DMA (HMA20)",
        "entryExit": "entry",
        "index": 91,
        "indicatorValue": 8.367,
        "label": "signal 2024-03",
        "newState": "active",
        "priorState": "inactive",
        "thresholdKind": "fixed_hysteresis",
        "thresholdType": "fixed",
        "thresholdValue": 8.5,
        "unit": "%"
      }
    ],
    "slug": "qm-4bx-18-s-p-500-breadth-low-buy-overlay-s5fi-h",
    "stats": {
      "cagr": 0.07606,
      "maxDD": -0.16947,
      "sharpe": 0.69212,
      "sortino": 1.01318
    },
    "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": "S&P 500 Breadth Low Buy Overlay — S5FI HMA20 8.5/0 (qm-4bx.18)",
    "trading_costs": {
      "avg_daily_turnover": 0.00851,
      "avg_yearly_fees": 0.002145,
      "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.001021
    },
    "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.07606,
      "ours_stats": {
        "ann_return": 0.07606,
        "sharpe": 0.69212,
        "sortino": 1.01318
      },
      "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": "grid_low_mega_hw20",
          "note": "Threshold / holding window grid"
        },
        "title": "Parameter grid: grid_low_mega_hw20",
        "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.18",
  "schema_id": "experiments/v1",
  "schema_version": 1
}
