{
  "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 VIX term-structure backwardation (spot VIX > VIX3M) and a 4-point curve ensemble (VIX9D 9d, VIX 30d, VIX3M 93d, VXV 6M synthetic) are classic risk-off signals. After maximal Yahoo+TradingView ingest (1990-2026), OLS synthetic extension for VIX3M/VIX9D pre-history (R² 0.95/0.94), and daily nextclose +10 bps via runbacktest, the canonical spot-vs-3M sma10 quantile-0.80 risk-off slee",
    "bead_ids": [
      "qm-4bx.15"
    ],
    "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": "1990-01-02",
        "id": "^VIX",
        "kind": "ohlcv",
        "native_start": "1990-01-02",
        "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-04",
          "n_rows": 9215,
          "start": "1990-01-02",
          "ticker": "^VIX"
        }
      ],
      "tickers": [
        "^VIX",
        "INDEX:VIX3M",
        "INDEX:VIX9D"
      ]
    },
    "date": "2026-08-12",
    "disposition": "# VIX Backwardation Risk-Off Sleeve — Curve Ensemble, Smoothing, Short & Synthetic History (qm-4bx.15) **Decision:** `NO-SHIP frozen` — investigate-only, do not admit to catalog/Meta. **Commit:** `cef0c1d4` · **Date:** 2026-08-12 · **Payload:** `research/findings/vix-backwardation-qm-4bx.15.json` · **Repro:** `python -m research.scripts.audit_vix_backwardation --write` ## TL;DR VIX term-structure backwardation (spot VIX > VIX3M) and a 4-point curve ensemble (VIX9D 9d, VIX 30d, VIX3M 93d, VXV 6M synthetic) are classic risk-off signals. After maximal Yahoo+TradingView ingest (1990-2026), OLS",
    "equity": {
      "experiment": [
        1.0,
        1.0522,
        1.14,
        1.2486,
        1.323,
        1.296,
        1.1844,
        1.115,
        1.1149,
        1.0061,
        1.0065,
        1.0236,
        1.1274,
        1.1959,
        1.2358,
        1.2408,
        1.2064,
        1.4236,
        1.5196,
        1.4046,
        1.3391,
        1.3366,
        1.4102,
        1.4399,
        1.3387,
        1.3596,
        1.3327,
        1.2757,
        1.252,
        1.1799,
        1.2622,
        1.2608,
        1.2146,
        1.2943,
        1.2779,
        1.4193,
        1.3682,
        1.3994,
        1.3961,
        1.4841,
        1.5194,
        1.6242,
        1.7422,
        1.7895,
        1.9118,
        1.9112,
        1.7456,
        1.7157,
        1.6018,
        1.6081,
        1.7093,
        1.8269,
        1.9038,
        1.8106,
        1.8483,
        1.9221,
        2.0715,
        1.9868,
        1.8444,
        1.8859,
        1.9275,
        1.9079,
        2.0725,
        2.1924,
        2.117,
        2.003,
        2.1464,
        2.2006,
        2.2591,
        2.3062,
        2.2631,
        2.4525,
        2.6989,
        2.6165,
        2.8491,
        2.9007,
        3.0943,
        3.3792,
        3.542,
        3.4369,
        3.7796,
        3.7522,
        3.4972,
        3.6851,
        3.5369,
        3.7109,
        3.468,
        3.1677,
        3.0054,
        3.1238,
        3.2026,
        3.4879,
        3.4924,
        3.5046,
        3.1875,
        3.4946,
        3.5325,
        3.6341,
        3.8846,
        3.8407,
        3.7404,
        3.6636,
        3.5581,
        3.3267,
        3.5466,
        3.586,
        3.6502,
        3.3633,
        3.0549,
        3.2632,
        3.32,
        3.2197,
        2.999,
        2.9216,
        2.6687,
        2.8949,
        2.7467,
        2.5403,
        2.4445,
        2.2572
      ],
      "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": "- GARCH/Nelson–Siegel curve fitting rejected (OLS suffices to 1990; deeper than 1990 would need Shiller/CRSP variance-swap replication not validated). - VXV/VXMT native daily remains insufficient_history without licensed VIX futures curve (CBOE). - Alternative vehicles and levered variants not promoted; QQQ/IWM/TLT screens retained as notes.",
    "follow_on": [
      {
        "status": "open",
        "title": "GARCH/Nelson–Siegel curve fitting rejected (OLS suffices to 1990; deeper than 1990 would need Shiller/CRSP variance-swap replication not validated)."
      },
      {
        "status": "open",
        "title": "VXV/VXMT native daily remains insufficient_history without licensed VIX futures curve (CBOE)."
      },
      {
        "status": "open",
        "title": "Alternative vehicles and levered variants not promoted; QQQ/IWM/TLT screens retained as notes."
      }
    ],
    "followup_command": "gh issue create --title \"Follow-up VIX Backwardation Risk-Off Sleeve  Curve Ensemble Smoothing\" --body \"Follow-up to qm-4bx.15: 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 VIX Backwardation Risk-Off Sleeve  Curve Ensemble Smoothing\" --body \"Follow-up to qm-4bx.15: 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.15",
    "issue_ids": [
      "qm-4bx.15"
    ],
    "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.0522,
        0.083444,
        0.095263,
        0.059587,
        -0.020408,
        -0.086111,
        -0.058595,
        -9e-05,
        -0.097587,
        0.000398,
        0.01699,
        0.101407,
        0.060759,
        0.033364,
        0.004046,
        -0.027724,
        0.18004,
        0.067435,
        -0.075678,
        -0.046632,
        -0.001867,
        0.055065,
        0.021061,
        -0.070283,
        0.015612,
        -0.019785,
        -0.04277,
        -0.018578,
        -0.057588,
        0.069752,
        -0.001109,
        -0.036643,
        0.065618,
        -0.012671,
        0.11065,
        -0.036004,
        0.022804,
        -0.002358,
        0.063033,
        0.023785,
        0.068975,
        0.072651,
        0.02715,
        0.068343,
        -0.000314,
        -0.086647,
        -0.017129,
        -0.066387,
        0.003933,
        0.062931,
        0.0688,
        0.042093,
        -0.048955,
        0.020822,
        0.039929,
        0.077727,
        -0.040888,
        -0.071673,
        0.022501,
        0.022058,
        -0.010169,
        0.086273,
        0.057853,
        -0.034392,
        -0.05385,
        0.071593,
        0.025252,
        0.026584,
        0.020849,
        -0.018689,
        0.083691,
        0.100469,
        -0.030531,
        0.088897,
        0.018111,
        0.066743,
        0.092073,
        0.048177,
        -0.029673,
        0.099712,
        -0.007249,
        -0.06796,
        0.053729,
        -0.040216,
        0.049196,
        -0.065456,
        -0.086592,
        -0.051236,
        0.039396,
        0.025226,
        0.089084,
        0.00129,
        0.003493,
        -0.090481,
        0.096345,
        0.010845,
        0.028762,
        0.06893,
        -0.011301,
        -0.026115,
        -0.020533,
        -0.028797,
        -0.065035,
        0.066102,
        0.011109,
        0.017903,
        -0.078598,
        -0.091696,
        0.068186,
        0.017406,
        -0.030211,
        -0.068547,
        -0.025809,
        -0.086562,
        0.08476,
        -0.051193,
        -0.075145,
        -0.037712,
        -0.076621
      ]
    },
    "page": "experiments/qm-4bx-15-vix-backwardation-risk-off-sleeve-curv.html",
    "performance": {
      "cagr": 0.09784683938840089,
      "max_drawdown": -0.5518943153747866,
      "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.6150704981718841,
      "sortino": 0.8951,
      "volatility": null
    },
    "provenance": {
      "artifact": "research/findings/vix-backwardation-qm-4bx.15.json",
      "code": "research/findings",
      "finding": "research/findings/vix-backwardation-qm-4bx.15.md",
      "site_data": "site-data/experiments/qm-4bx.15.json",
      "tearsheet": null
    },
    "question": "Decision: NO-SHIP frozen — investigate-only, do not admit to catalog/Meta. Commit: cef0c1d4 · Date: 2026-08-12 · Payload: research/findings/vix-backwardation-qm-4bx.15.json · Repro: python -m research.scripts.auditvixbackwardation --write",
    "safe_withdrawal": null,
    "signalSeries": {
      "active": [
        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,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        false,
        true,
        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,
        true,
        true,
        true,
        true,
        true,
        true,
        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,
        false
      ],
      "driver": "VIX backwardation score",
      "entryValue": 0.7,
      "exitValue": 0.55,
      "inputs": [
        "VIX9D",
        "VIX",
        "VIX3M",
        "VXV"
      ],
      "isDynamic": true,
      "isMulti": true,
      "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": 0.55,
      "megaThresholdLabel": "Exit 0.55z-score",
      "threshold": 0.7,
      "thresholdKind": "dynamic_quantile",
      "thresholdLabel": "Entry 0.7z-score",
      "trigger": [
        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,
        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,
        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,
        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,
        false,
        false,
        false
      ],
      "triggers": [
        "2016-08",
        "2019-02",
        "2021-06",
        "2021-08",
        "2021-10",
        "2024-03",
        "2024-04",
        "2024-06"
      ],
      "unit": "z-score",
      "values": [
        0.984,
        0.905,
        1.023,
        1.106,
        0.947,
        0.993,
        1.181,
        1.208,
        1.242,
        1.633,
        1.446,
        1.267,
        1.504,
        1.601,
        1.461,
        1.416,
        1.621,
        1.719,
        1.222,
        1.66,
        1.213,
        1.323,
        1.569,
        0.942,
        0.948,
        0.882,
        0.855,
        0.657,
        0.644,
        0.971,
        0.529,
        0.45,
        0.594,
        0.473,
        0.228,
        0.365,
        0.344,
        0.455,
        0.02,
        0.216,
        -0.098,
        0.06,
        -0.008,
        0.102,
        -0.273,
        -0.08,
        0.108,
        0.029,
        -0.053,
        -0.27,
        -0.194,
        0.146,
        -0.124,
        0.251,
        0.254,
        0.165,
        0.442,
        0.355,
        0.827,
        0.653,
        0.445,
        0.63,
        0.851,
        1.083,
        0.841,
        0.929,
        1.136,
        1.298,
        1.362,
        1.184,
        1.286,
        1.286,
        1.413,
        1.632,
        1.231,
        1.633,
        1.577,
        1.298,
        1.542,
        1.559,
        1.481,
        1.344,
        1.067,
        1.065,
        0.903,
        1.285,
        1.083,
        0.894,
        0.889,
        0.717,
        0.725,
        0.547,
        0.789,
        0.656,
        0.275,
        0.245,
        0.085,
        -0.055,
        0.008,
        0.322,
        0.074,
        -0.27,
        -0.243,
        -0.11,
        -0.029,
        -0.136,
        -0.236,
        -0.368,
        -0.081,
        -0.074,
        0.173,
        -0.217,
        0.081,
        0.156,
        0.13,
        0.245,
        0.23,
        0.501,
        0.575,
        0.686
      ],
      "yLabel": "Backwardation score (ensemble)"
    },
    "signals": [
      {
        "conditionId": "VIX9D",
        "contributingConditions": [
          "VIX9D",
          "VIX",
          "VIX3M",
          "VXV"
        ],
        "date": "2016-08",
        "driver": "VIX backwardation score",
        "entryExit": "entry",
        "index": 0,
        "indicatorValue": 0.984,
        "label": "signal 2016-08",
        "newState": "active",
        "priorState": "inactive",
        "thresholdKind": "dynamic_quantile",
        "thresholdType": "dynamic",
        "thresholdValue": 0.7,
        "unit": "z-score"
      },
      {
        "conditionId": "VIX",
        "contributingConditions": [
          "VIX9D",
          "VIX",
          "VIX3M",
          "VXV"
        ],
        "date": "2019-02",
        "driver": "VIX backwardation score",
        "entryExit": "exit",
        "index": 30,
        "indicatorValue": 0.529,
        "label": "signal 2019-02",
        "newState": "inactive",
        "priorState": "active",
        "thresholdKind": "dynamic_quantile",
        "thresholdType": "dynamic",
        "thresholdValue": 0.7,
        "unit": "z-score"
      }
    ],
    "slug": "qm-4bx-15-vix-backwardation-risk-off-sleeve-curv",
    "stats": {
      "cagr": 0.09784683938840089,
      "maxDD": -0.5518943153747866,
      "sharpe": 0.6150704981718841,
      "sortino": 0.8951
    },
    "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": "VIX Backwardation Risk-Off Sleeve — Curve Ensemble, Smoothing, Short & Synthetic History (qm-4bx.15)",
    "trading_costs": {
      "avg_daily_turnover": 0.00695,
      "avg_yearly_fees": 0.001751,
      "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.000834
    },
    "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.09784683938840089,
      "ours_stats": {
        "ann_return": 0.09784683938840089,
        "sharpe": 0.6150704981718841,
        "sortino": 0.8951
      },
      "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": {
          "note": "Ensemble of VIX9D/VIX/VIX3M/VXV, quantile 0.7-0.85, window 5-20",
          "rows": [
            {
              "cagr": 0.07064569198857895,
              "equity_end": 12.151148246272006,
              "kind": "neighbor",
              "max_dd": -0.47515877086964386,
              "quantile": 0.7,
              "sharpe": 0.5578995224767417,
              "turnover": 4.537267080745341,
              "vol": 0.1400293616917695,
              "window": 5
            },
            {
              "cagr": 0.07730186006124828,
              "equity_end": 15.243799910596785,
              "kind": "neighbor",
              "max_dd": -0.47515877086964386,
              "quantile": 0.8,
              "sharpe": 0.5815923248572273,
              "turnover": 3.1706203696774673,
              "vol": 0.1466116456269871,
              "window": 5
            },
            {
              "cagr": 0.09492336875145435,
              "equity_end": 27.59872536514585,
              "kind": "neighbor",
              "max_dd": -0.47515877086964386,
              "quantile": 0.9,
              "sharpe": 0.6633973236974257,
              "turnover": 1.5306443163960188,
              "vol": 0.15490075380090843,
              "window": 5
            },
            {
              "cagr": 0.07956896957146387,
              "equity_end": 16.46249116935854,
              "kind": "neighbor",
              "max_dd": -0.47515877086964386,
              "quantile": 0.7,
              "sharpe": 0.6154928243905669,
              "turnover": 2.514629948364888,
              "vol": 0.14053934635072765,
              "window": 10
            },
            {
              "cagr": 0.09247945695445736,
              "equity_end": 25.432227210228557,
              "kind": "neighbor",
              "max_dd": -0.47515877086964386,
              "quantile": 0.8,
              "sharpe": 0.671931056751417,
              "turnover": 2.0226371323804533,
              "vol": 0.14805381308597104,
              "window": 10
            }
          ]
        },
        "title": "Curve ensemble quantile sweep (18 configs)",
        "type": "param_sweep"
      }
    ]
  },
  "generated_at": "2026-09-17T04:12:25Z",
  "id": "qm-4bx.15",
  "schema_id": "experiments/v1",
  "schema_version": 1
}
