{
  "article": {
    "official_admission": false,
    "required_headings": [
      "Summary",
      "Source",
      "What the source claims",
      "Rules actually disclosed",
      "What had to be inferred",
      "Research questions",
      "Data",
      "Baseline implementation",
      "What the signal looks like",
      "Historical events",
      "State-space exploration",
      "Parameter sensitivity",
      "What worked",
      "What did not work",
      "Why the failures appear to happen",
      "Regime behavior",
      "Timing and cost sensitivity",
      "Combinations",
      "Candidate frontier",
      "Agent assessment",
      "Limitations",
      "What to try interactively",
      "Suggested next research",
      "Promotion status",
      "Trial ledger",
      "Validation protocol",
      "Portfolio contribution"
    ],
    "research_tags": [
      "data_limited",
      "fidelity_mismatch",
      "useful_as_portfolio_overlay",
      "needs_more_research",
      "regime_dependent"
    ],
    "sections": {
      "Agent assessment": [
        "Disposition exploratory_tested_proxy under Other/Research.",
        "Explicit NO-GO for playable Other/Indicators native PCT/Gen2/ST-ALGO promotion."
      ],
      "Baseline implementation": {
        "claim_kind": "inferred",
        "claim_role": "causal_primary",
        "exploratory": true,
        "family": "zigzag-x7-short-close-proxy",
        "id": "zz7_causal_lag1",
        "lag_bars": 1,
        "metrics": {
          "cagr": 0.04807630976714283,
          "end": "2026-07-31",
          "max_drawdown": -0.39583831927747315,
          "n_months": 402,
          "risk_off_events": 588,
          "risk_on_share": 0.55668358714044,
          "sharpe": 0.49312588510439503,
          "start": "1993-02-28",
          "vol": 0.10702989311702804
        },
        "parameters": {
          "lag_bars": 1,
          "lookback": 12,
          "threshold": 0.7,
          "x": 7
        }
      },
      "Candidate frontier": [
        {
          "category": "best_sharpe",
          "claim_role": "causal_primary",
          "family": "related-workbook-gen2-overlay",
          "id": "wb_medium_dir_lag1",
          "interpretation": "Exploratory best Sharpe among causal variants; off-row WeeklyData GEN-2 DIR overlay, not native PCT.",
          "metrics": {
            "cagr": 0.20141252652984987,
            "end": "2026-07-31",
            "max_drawdown": -0.10422515115670106,
            "n_months": 255,
            "risk_off_events": 1017,
            "risk_on_share": 0.7215686274509804,
            "sharpe": 1.7089200723634954,
            "start": "2005-05-31",
            "vol": 0.11178642215039082
          }
        },
        {
          "category": "best_return",
          "claim_role": "causal_primary",
          "family": "related-workbook-gen2-overlay",
          "id": "wb_medium_dir_lag1",
          "interpretation": "Exploratory best CAGR among causal variants; related workbook reconstruction.",
          "metrics": {
            "cagr": 0.20141252652984987,
            "end": "2026-07-31",
            "max_drawdown": -0.10422515115670106,
            "n_months": 255,
            "risk_off_events": 1017,
            "risk_on_share": 0.7215686274509804,
            "sharpe": 1.7089200723634954,
            "start": "2005-05-31",
            "vol": 0.11178642215039082
          }
        },
        {
          "category": "lowest_drawdown",
          "claim_role": "causal_primary",
          "family": "related-workbook-gen2-overlay",
          "id": "wb_medium_dir_lag1",
          "interpretation": "Exploratory least severe max drawdown among causal variants.",
          "metrics": {
            "cagr": 0.20141252652984987,
            "end": "2026-07-31",
            "max_drawdown": -0.10422515115670106,
            "n_months": 255,
            "risk_off_events": 1017,
            "risk_on_share": 0.7215686274509804,
            "sharpe": 1.7089200723634954,
            "start": "2005-05-31",
            "vol": 0.11178642215039082
          }
        },
        {
          "category": "best_source_fidelity",
          "claim_role": "causal_primary",
          "family": "zigzag-x72-macro-close-proxy",
          "id": "zz72_causal_lag1",
          "interpretation": "Closest documented-horizon close-only zig-zag (x=72 macro); still not native H/L look-ahead PCT.",
          "metrics": {
            "cagr": 0.10105716801054543,
            "end": "2026-07-31",
            "max_drawdown": -0.2219200646636469,
            "n_months": 402,
            "risk_off_events": 249,
            "risk_on_share": 0.6454622561492791,
            "sharpe": 0.9803372631219517,
            "start": "1993-02-28",
            "vol": 0.10408621393384411
          }
        },
        {
          "category": "best_long_history",
          "claim_role": "causal_primary",
          "family": "best-effort-neighbor-grid",
          "id": "be_spy_lb12_lag1_t0",
          "interpretation": "Longest SPY-era SMA best-effort neighbor; labeled inferred proxy.",
          "metrics": {
            "cagr": 0.11555697755473071,
            "end": "2026-07-31",
            "max_drawdown": -0.19336384497374537,
            "n_months": 391,
            "risk_off_events": 829,
            "risk_on_share": 0.782608695652174,
            "sharpe": 1.0313402234501794,
            "start": "1994-01-31",
            "vol": 0.11265445638344454
          }
        },
        {
          "category": "simplest_reasonable",
          "claim_role": "causal_primary",
          "family": "best-effort-neighbor-grid",
          "id": "be_spy_lb12_lag1_t0",
          "interpretation": "Simple SPY vs SMA12 lag-1 overlay; useful baseline, not product parity.",
          "metrics": {
            "cagr": 0.11555697755473071,
            "end": "2026-07-31",
            "max_drawdown": -0.19336384497374537,
            "n_months": 391,
            "risk_off_events": 829,
            "risk_on_share": 0.782608695652174,
            "sharpe": 1.0313402234501794,
            "start": "1994-01-31",
            "vol": 0.11265445638344454
          }
        }
      ],
      "Combinations": [
        {
          "families_tested": [
            "best-effort-neighbor-grid",
            "duration-gain-reversal-probability",
            "pct-expand-x-persist-trend",
            "related-workbook-gen2-overlay",
            "st-algo-causal-stop-proxy",
            "zigzag-x17-medium-close-proxy",
            "zigzag-x34-long-close-proxy",
            "zigzag-x7-short-close-proxy",
            "zigzag-x72-macro-close-proxy"
          ],
          "n_causal": 21,
          "n_control": 8,
          "n_trials": 29
        }
      ],
      "Data": {
        "database": "data/market.sqlite + data/recessionalert.sqlite read-only",
        "fetched_at": "2026-08-22T23:48:23Z",
        "linked_assets": 0,
        "page_sha256": "sha256:f62e3557bc157d890ec68a99a31d4a4898df9797a5d370b9dc56c3a629213cb1",
        "related_procharts_sha256": "sha256:9a828206a7af5e90f3ecac75b2e445167e90b15cd1310024f4499c22284384af",
        "related_workbook_sha256": "sha256:fc2be5f1fc2a2e38949ae566f6e8cb4699a95562975a498fb5a53510cc40d67c",
        "related_workbook_url": "https://recessionalert.com/download/?file=WeeklyData.xlsx"
      },
      "Historical events": [
        "Regime slices on zz72_causal_lag1: GFC/COVID/recent were exploratory-OK; 2022 was a large negative."
      ],
      "Limitations": [
        "Not native PCT/Gen2/ST-ALGO parity",
        "On-row assets=0; GIF SHA256 unavailable",
        "market.sqlite ohlcv is close-only; native uses H/L look-ahead",
        "WeeklyData GEN-2 overlay is off-row (page_url=/excel-data/), not PCT expand-x",
        "Publication lag unknown; causal default lag>=1",
        "Look-ahead and lag-0 variants are control_only and must not be claimed"
      ],
      "Parameter sensitivity": [
        "Look-ahead and lag-0 controls often inflate Sharpe versus causal lag>=1; claims use causal_primary only.",
        "Documented horizons x in {7,17,34,72}; PCT expand-x caps {12,17,21}; ST-ALGO lags {2,3,4}."
      ],
      "Portfolio contribution": {},
      "Promotion status": "Not promoted \u2014 Research Library only. Native fidelity NO-GO unless a human later promotes with on-row assets and disclosed rules.",
      "Regime behavior": [
        {
          "covid": {
            "cagr": 0.16322124530364945,
            "max_drawdown": -0.06144374529869623,
            "n_months": 12,
            "sharpe": 0.9353189699148272
          },
          "gfc": {
            "cagr": 0.08071143880231157,
            "max_drawdown": -0.1003687611990669,
            "n_months": 21,
            "sharpe": 0.6833794248892993
          },
          "inflation_2022": {
            "cagr": -0.20075559872555193,
            "max_drawdown": -0.17337031223904964,
            "n_months": 12,
            "sharpe": -2.1205702654261214
          },
          "recent": {
            "cagr": 0.1523699933646343,
            "max_drawdown": -0.08098002236037594,
            "n_months": 43,
            "sharpe": 1.4922939692066748
          }
        }
      ],
      "Research questions": [
        "Can labeled close-only public proxies and the related WeeklyData GEN-2 workbook extract any useful SPY/IEF market-timing overlay from the incomplete PCT/Gen2 page?"
      ],
      "Rules actually disclosed": [
        "Gen2 SP500 trough/peak probabilities on four zig-zag horizons using daily H/L and x-session look-ahead: short 7, medium 17, long 34, macro 72.",
        "Reversal likelihood averages P(trend lasts longer) and P(trend gains/loses more) versus ~30y catalog; PCT expands x by the minimum that preserves current trend; ST-ALGO uses 2\u20134 day lag and 1-day latch.",
        "Closed-form probability map, buy/sell thresholds, ST-ALGO stop formula, and on-row chart/xlsx SHA256 are absent on this page SHA."
      ],
      "Source": {
        "fetched_at": "2026-08-22T23:48:23Z",
        "kind": "recessionalert_page",
        "sha256": "sha256:f62e3557bc157d890ec68a99a31d4a4898df9797a5d370b9dc56c3a629213cb1",
        "title": "MODELS: Understanding SP500 Gen2 Persistent Current Trend (PCT) probability model | RecessionAlert",
        "url": "https://recessionalert.com/pctmodel/"
      },
      "State-space exploration": [
        "29 labeled variants across 9 families; negatives retained in the trial ledger."
      ],
      "Suggested next research": [
        "Can a future crawl attach on-row GIF/xlsx SHA256 for the PCT charts?",
        "Does PRO>SP500 Charts disclose executable PCT expand-x columns or ST-ALGO stop formulas?",
        "Would true daily H/L (not close-only) change zig-zag x=7/17/34/72 causal overlays?"
      ],
      "Summary": [
        "Twenty-nine labeled variants executed with lag>=1 causal_primary and lag-0/look-ahead control_only.",
        "Best causal Sharpe: wb_medium_dir_lag1 sharpe=1.709 (off-row workbook; not native PCT).",
        "Best documented-horizon close zig-zag: zz72_causal_lag1 sharpe=0.980.",
        "2022 regime on zz72 was sharply negative (Sharpe \u2248 -2.12); look-ahead/lag-0 controls inflate Sharpe.",
        "Native PCT/Gen2/ST-ALGO fidelity remains NO-GO; publication is Other/Research exploratory_tested_proxy."
      ],
      "Timing and cost sensitivity": [
        "Look-ahead and lag-0 controls often inflate Sharpe vs causal lag>=1; claims use causal_primary only.",
        "Overlay is month-end SPY/IEF without explicit trading-cost drag in this campaign."
      ],
      "Trial ledger": [
        {
          "iteration": 1,
          "note": "Initial exploratory PCT/Gen2 proxy campaign for issue 1547"
        }
      ],
      "Validation protocol": {},
      "What did not work": [
        "Short-horizon causal zig-zag x=7 lag1 underperformed (Sharpe \u2248 0.49).",
        "2022 inflation year destroyed zz72 overlay equity.",
        "Native look-ahead / lag-0 controls are non-tradable and must not be claimed."
      ],
      "What had to be inferred": [
        "Close-only ^GSPC/SPY zig-zag/PCT/ST-ALGO reconstructions and lagged WeeklyData GEN-2 DIR/P(TOP) overlays are exploratory stand-ins."
      ],
      "What the signal looks like": [
        "Month-end SPY/IEF overlay weights from lagged close-only zig-zag, PCT expand-x, ST-ALGO stop proxies, SMA neighbors, and off-row GEN-2 DIR/P(TOP) columns.",
        "DSL SignalSpecs are SMA stand-ins; executable primitives live in research/research_campaign/recessionalert_1547.py."
      ],
      "What the source claims": [
        "Gen2 SP500 trough/peak probabilities on four zig-zag horizons using daily H/L and x-session look-ahead: short 7, medium 17, long 34, macro 72.",
        "Reversal likelihood averages P(trend lasts longer) and P(trend gains/loses more) versus ~30y catalog; PCT expands x by the minimum that preserves current trend; ST-ALGO uses 2\u20134 day lag and 1-day latch.",
        "Closed-form probability map, buy/sell thresholds, ST-ALGO stop formula, and on-row chart/xlsx SHA256 are absent on this page SHA.",
        "Close-only ^GSPC/SPY zig-zag/PCT/ST-ALGO reconstructions and lagged WeeklyData GEN-2 DIR/P(TOP) overlays are exploratory stand-ins."
      ],
      "What to try interactively": [
        {
          "id": "lag_bars",
          "values": [
            0,
            1,
            2,
            3,
            4
          ]
        },
        {
          "id": "x_horizon",
          "values": [
            7,
            17,
            34,
            72
          ]
        },
        {
          "id": "lookback",
          "values": [
            6,
            7,
            12,
            17,
            21
          ]
        },
        {
          "id": "threshold",
          "values": [
            0.0,
            -0.5,
            0.5,
            0.7
          ]
        }
      ],
      "What worked": [
        "wb_medium_dir_lag1 (workbook GEN-2 medium DIR) and be_spy_lb12_lag1_t0 (SMA12) were the strongest causal overlays in-sample.",
        "zz72_causal_lag1 was the best long-history documented-horizon close zig-zag."
      ],
      "Why the failures appear to happen": [
        "Close-only bars cannot reproduce H/L zig-zag pivots; native look-ahead is non-causal.",
        "Probability mapping and ST-ALGO stop formula are undisclosed, so reconstructions are coarse."
      ]
    },
    "title": "MODELS: Understanding SP500 Gen2 Persistent Current Trend (PCT) probability model | RecessionAlert"
  },
  "campaign": {
    "campaign_id": "recessionalert-pct-gen2-1547",
    "iteration_number": 1,
    "research_tags": [
      "data_limited",
      "fidelity_mismatch",
      "useful_as_portfolio_overlay",
      "needs_more_research",
      "regime_dependent"
    ],
    "status": "published",
    "title": "MODELS: Understanding SP500 Gen2 Persistent Current Trend (PCT) probability model | RecessionAlert"
  },
  "candidate_frontier": [
    {
      "category": "best_sharpe",
      "claim_role": "causal_primary",
      "family": "related-workbook-gen2-overlay",
      "id": "wb_medium_dir_lag1",
      "interpretation": "Exploratory best Sharpe among causal variants; off-row WeeklyData GEN-2 DIR overlay, not native PCT.",
      "metrics": {
        "cagr": 0.20141252652984987,
        "end": "2026-07-31",
        "max_drawdown": -0.10422515115670106,
        "n_months": 255,
        "risk_off_events": 1017,
        "risk_on_share": 0.7215686274509804,
        "sharpe": 1.7089200723634954,
        "start": "2005-05-31",
        "vol": 0.11178642215039082
      }
    },
    {
      "category": "best_return",
      "claim_role": "causal_primary",
      "family": "related-workbook-gen2-overlay",
      "id": "wb_medium_dir_lag1",
      "interpretation": "Exploratory best CAGR among causal variants; related workbook reconstruction.",
      "metrics": {
        "cagr": 0.20141252652984987,
        "end": "2026-07-31",
        "max_drawdown": -0.10422515115670106,
        "n_months": 255,
        "risk_off_events": 1017,
        "risk_on_share": 0.7215686274509804,
        "sharpe": 1.7089200723634954,
        "start": "2005-05-31",
        "vol": 0.11178642215039082
      }
    },
    {
      "category": "lowest_drawdown",
      "claim_role": "causal_primary",
      "family": "related-workbook-gen2-overlay",
      "id": "wb_medium_dir_lag1",
      "interpretation": "Exploratory least severe max drawdown among causal variants.",
      "metrics": {
        "cagr": 0.20141252652984987,
        "end": "2026-07-31",
        "max_drawdown": -0.10422515115670106,
        "n_months": 255,
        "risk_off_events": 1017,
        "risk_on_share": 0.7215686274509804,
        "sharpe": 1.7089200723634954,
        "start": "2005-05-31",
        "vol": 0.11178642215039082
      }
    },
    {
      "category": "best_source_fidelity",
      "claim_role": "causal_primary",
      "family": "zigzag-x72-macro-close-proxy",
      "id": "zz72_causal_lag1",
      "interpretation": "Closest documented-horizon close-only zig-zag (x=72 macro); still not native H/L look-ahead PCT.",
      "metrics": {
        "cagr": 0.10105716801054543,
        "end": "2026-07-31",
        "max_drawdown": -0.2219200646636469,
        "n_months": 402,
        "risk_off_events": 249,
        "risk_on_share": 0.6454622561492791,
        "sharpe": 0.9803372631219517,
        "start": "1993-02-28",
        "vol": 0.10408621393384411
      }
    },
    {
      "category": "best_long_history",
      "claim_role": "causal_primary",
      "family": "best-effort-neighbor-grid",
      "id": "be_spy_lb12_lag1_t0",
      "interpretation": "Longest SPY-era SMA best-effort neighbor; labeled inferred proxy.",
      "metrics": {
        "cagr": 0.11555697755473071,
        "end": "2026-07-31",
        "max_drawdown": -0.19336384497374537,
        "n_months": 391,
        "risk_off_events": 829,
        "risk_on_share": 0.782608695652174,
        "sharpe": 1.0313402234501794,
        "start": "1994-01-31",
        "vol": 0.11265445638344454
      }
    },
    {
      "category": "simplest_reasonable",
      "claim_role": "causal_primary",
      "family": "best-effort-neighbor-grid",
      "id": "be_spy_lb12_lag1_t0",
      "interpretation": "Simple SPY vs SMA12 lag-1 overlay; useful baseline, not product parity.",
      "metrics": {
        "cagr": 0.11555697755473071,
        "end": "2026-07-31",
        "max_drawdown": -0.19336384497374537,
        "n_months": 391,
        "risk_off_events": 829,
        "risk_on_share": 0.782608695652174,
        "sharpe": 1.0313402234501794,
        "start": "1994-01-31",
        "vol": 0.11265445638344454
      }
    }
  ],
  "candidate_variants": [
    {
      "claim_kind": "inferred",
      "claim_role": "causal_primary",
      "exploratory": true,
      "family": "zigzag-x7-short-close-proxy",
      "id": "zz7_causal_lag1",
      "lag_bars": 1,
      "metrics": {
        "cagr": 0.04807630976714283,
        "end": "2026-07-31",
        "max_drawdown": -0.39583831927747315,
        "n_months": 402,
        "risk_off_events": 588,
        "risk_on_share": 0.55668358714044,
        "sharpe": 0.49312588510439503,
        "start": "1993-02-28",
        "vol": 0.10702989311702804
      },
      "parameters": {
        "lag_bars": 1,
        "lookback": 12,
        "threshold": 0.7,
        "x": 7
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "causal_primary",
      "exploratory": true,
      "family": "zigzag-x7-short-close-proxy",
      "id": "zz7_causal_lag2",
      "lag_bars": 2,
      "metrics": {
        "cagr": 0.07535401442500289,
        "end": "2026-07-31",
        "max_drawdown": -0.4294886181961213,
        "n_months": 402,
        "risk_off_events": 589,
        "risk_on_share": 0.5563082133784928,
        "sharpe": 0.6833380158447914,
        "start": "1993-02-28",
        "vol": 0.11666893035811661
      },
      "parameters": {
        "lag_bars": 2,
        "lookback": 12,
        "threshold": 0.7,
        "x": 7
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "control_only",
      "exploratory": true,
      "family": "zigzag-x7-short-close-proxy",
      "id": "zz7_lookahead_control",
      "lag_bars": 0,
      "metrics": {
        "cagr": 0.09019061823791796,
        "end": "2026-07-31",
        "max_drawdown": -0.2943570073285988,
        "n_months": 402,
        "risk_off_events": 538,
        "risk_on_share": 0.6272189349112426,
        "sharpe": 0.8175746849279654,
        "start": "1993-02-28",
        "vol": 0.11385414874752935
      },
      "parameters": {
        "lag_bars": 0,
        "lookback": 12,
        "threshold": 0.7,
        "x": 7
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "causal_primary",
      "exploratory": true,
      "family": "zigzag-x17-medium-close-proxy",
      "id": "zz17_causal_lag1",
      "lag_bars": 1,
      "metrics": {
        "cagr": 0.07941248826753844,
        "end": "2026-07-31",
        "max_drawdown": -0.3431080716849422,
        "n_months": 402,
        "risk_off_events": 603,
        "risk_on_share": 0.5651438240270727,
        "sharpe": 0.7941775277523346,
        "start": "1993-02-28",
        "vol": 0.10323386557814429
      },
      "parameters": {
        "lag_bars": 1,
        "lookback": 12,
        "threshold": 0.7,
        "x": 17
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "causal_primary",
      "exploratory": true,
      "family": "zigzag-x17-medium-close-proxy",
      "id": "zz17_causal_lag2",
      "lag_bars": 2,
      "metrics": {
        "cagr": 0.07132703015687047,
        "end": "2026-07-31",
        "max_drawdown": -0.2551759809367331,
        "n_months": 402,
        "risk_off_events": 603,
        "risk_on_share": 0.5656223539373413,
        "sharpe": 0.6811204100489165,
        "start": "1993-02-28",
        "vol": 0.11041610042589933
      },
      "parameters": {
        "lag_bars": 2,
        "lookback": 12,
        "threshold": 0.7,
        "x": 17
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "control_only",
      "exploratory": true,
      "family": "zigzag-x17-medium-close-proxy",
      "id": "zz17_lookahead_control",
      "lag_bars": 0,
      "metrics": {
        "cagr": 0.08709963555651123,
        "end": "2026-06-30",
        "max_drawdown": -0.24225287840571952,
        "n_months": 401,
        "risk_off_events": 540,
        "risk_on_share": 0.5981387478849408,
        "sharpe": 0.7441818910057179,
        "start": "1993-02-28",
        "vol": 0.12269692111232808
      },
      "parameters": {
        "lag_bars": 0,
        "lookback": 12,
        "threshold": 0.7,
        "x": 17
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "causal_primary",
      "exploratory": true,
      "family": "zigzag-x34-long-close-proxy",
      "id": "zz34_causal_lag1",
      "lag_bars": 1,
      "metrics": {
        "cagr": 0.06838771723272119,
        "end": "2026-07-31",
        "max_drawdown": -0.2763335968481262,
        "n_months": 402,
        "risk_off_events": 425,
        "risk_on_share": 0.6054191363251482,
        "sharpe": 0.6810219535002932,
        "start": "1993-02-28",
        "vol": 0.10564158984353089
      },
      "parameters": {
        "lag_bars": 1,
        "lookback": 12,
        "threshold": 0.7,
        "x": 34
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "control_only",
      "exploratory": true,
      "family": "zigzag-x34-long-close-proxy",
      "id": "zz34_lookahead_control",
      "lag_bars": 0,
      "metrics": {
        "cagr": 0.07665770641962255,
        "end": "2026-06-30",
        "max_drawdown": -0.3541572859749845,
        "n_months": 401,
        "risk_off_events": 408,
        "risk_on_share": 0.628595600676819,
        "sharpe": 0.6715262145206599,
        "start": "1993-02-28",
        "vol": 0.12129071539369388
      },
      "parameters": {
        "lag_bars": 0,
        "lookback": 12,
        "threshold": 0.7,
        "x": 34
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "causal_primary",
      "exploratory": true,
      "family": "zigzag-x72-macro-close-proxy",
      "id": "zz72_causal_lag1",
      "lag_bars": 1,
      "metrics": {
        "cagr": 0.10105716801054543,
        "end": "2026-07-31",
        "max_drawdown": -0.2219200646636469,
        "n_months": 402,
        "risk_off_events": 249,
        "risk_on_share": 0.6454622561492791,
        "sharpe": 0.9803372631219517,
        "start": "1993-02-28",
        "vol": 0.10408621393384411
      },
      "parameters": {
        "lag_bars": 1,
        "lookback": 12,
        "threshold": 0.7,
        "x": 72
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "control_only",
      "exploratory": true,
      "family": "zigzag-x72-macro-close-proxy",
      "id": "zz72_lookahead_control",
      "lag_bars": 0,
      "metrics": {
        "cagr": 0.08327265983136645,
        "end": "2026-04-30",
        "max_drawdown": -0.2939673349444355,
        "n_months": 399,
        "risk_off_events": 244,
        "risk_on_share": 0.6516949152542373,
        "sharpe": 0.6922031576979178,
        "start": "1993-02-28",
        "vol": 0.12769661212337044
      },
      "parameters": {
        "lag_bars": 0,
        "lookback": 12,
        "threshold": 0.7,
        "x": 72
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "causal_primary",
      "exploratory": true,
      "family": "pct-expand-x-persist-trend",
      "id": "pct_cap17_lag1",
      "lag_bars": 1,
      "metrics": {
        "cagr": 0.06423970642840815,
        "end": "2026-07-31",
        "max_drawdown": -0.3008595853230711,
        "n_months": 402,
        "risk_off_events": 617,
        "risk_on_share": 0.5465313028764806,
        "sharpe": 0.6401592029224288,
        "start": "1993-02-28",
        "vol": 0.10630916702789535
      },
      "parameters": {
        "lag_bars": 1,
        "lookback": 12,
        "threshold": 0.7,
        "x": 12
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "causal_primary",
      "exploratory": true,
      "family": "pct-expand-x-persist-trend",
      "id": "pct_cap12_lag1",
      "lag_bars": 1,
      "metrics": {
        "cagr": 0.06779081718159308,
        "end": "2026-07-31",
        "max_drawdown": -0.30085958532307133,
        "n_months": 402,
        "risk_off_events": 611,
        "risk_on_share": 0.5439932318104906,
        "sharpe": 0.6758249515844025,
        "start": "1993-02-28",
        "vol": 0.10552491044827614
      },
      "parameters": {
        "lag_bars": 1,
        "lookback": 12,
        "threshold": 0.7,
        "x": 12
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "causal_primary",
      "exploratory": true,
      "family": "pct-expand-x-persist-trend",
      "id": "pct_cap21_lag2",
      "lag_bars": 2,
      "metrics": {
        "cagr": 0.07564724671163936,
        "end": "2026-07-31",
        "max_drawdown": -0.39072412112047605,
        "n_months": 402,
        "risk_off_events": 625,
        "risk_on_share": 0.5486875529212532,
        "sharpe": 0.6855455414210652,
        "start": "1993-02-28",
        "vol": 0.11672853125372133
      },
      "parameters": {
        "lag_bars": 2,
        "lookback": 12,
        "threshold": 0.7,
        "x": 12
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "control_only",
      "exploratory": true,
      "family": "pct-expand-x-persist-trend",
      "id": "pct_cap17_lag0_control",
      "lag_bars": 0,
      "metrics": {
        "cagr": 0.21017988174055469,
        "end": "2026-07-31",
        "max_drawdown": -0.168268110443208,
        "n_months": 402,
        "risk_off_events": 616,
        "risk_on_share": 0.5460693153000845,
        "sharpe": 1.7752560704212539,
        "start": "1993-02-28",
        "vol": 0.11176922989293353
      },
      "parameters": {
        "lag_bars": 0,
        "lookback": 12,
        "threshold": 0.7,
        "x": 12
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "causal_primary",
      "exploratory": true,
      "family": "duration-gain-reversal-probability",
      "id": "pavg_x7_t07_lag1",
      "lag_bars": 1,
      "metrics": {
        "cagr": 0.0779423933471044,
        "end": "2026-07-31",
        "max_drawdown": -0.4998072673229004,
        "n_months": 402,
        "risk_off_events": 554,
        "risk_on_share": 0.6429780033840947,
        "sharpe": 0.6716550770567815,
        "start": "1993-02-28",
        "vol": 0.12350082228651703
      },
      "parameters": {
        "lag_bars": 1,
        "lookback": 12,
        "threshold": 0.7,
        "x": 7
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "causal_primary",
      "exploratory": true,
      "family": "duration-gain-reversal-probability",
      "id": "pavg_x7_t05_lag1",
      "lag_bars": 1,
      "metrics": {
        "cagr": 0.06562939253070499,
        "end": "2026-07-31",
        "max_drawdown": -0.36030713717698104,
        "n_months": 402,
        "risk_off_events": 540,
        "risk_on_share": 0.3587140439932318,
        "sharpe": 0.6896333191518538,
        "start": "1993-02-28",
        "vol": 0.09955588678841458
      },
      "parameters": {
        "lag_bars": 1,
        "lookback": 12,
        "threshold": 0.5,
        "x": 7
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "causal_primary",
      "exploratory": true,
      "family": "duration-gain-reversal-probability",
      "id": "pavg_x17_t07_lag2",
      "lag_bars": 2,
      "metrics": {
        "cagr": 0.05100158800113008,
        "end": "2026-07-31",
        "max_drawdown": -0.3407795445526677,
        "n_months": 402,
        "risk_off_events": 610,
        "risk_on_share": 0.4386113463166808,
        "sharpe": 0.5205498859937753,
        "start": "1993-02-28",
        "vol": 0.10680124499773096
      },
      "parameters": {
        "lag_bars": 2,
        "lookback": 12,
        "threshold": 0.7,
        "x": 17
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "control_only",
      "exploratory": true,
      "family": "duration-gain-reversal-probability",
      "id": "pavg_x7_t07_lag0_control",
      "lag_bars": 0,
      "metrics": {
        "cagr": 0.038923081862856534,
        "end": "2026-07-31",
        "max_drawdown": -0.3958915649845913,
        "n_months": 402,
        "risk_off_events": 553,
        "risk_on_share": 0.643279797125951,
        "sharpe": 0.3981160539423405,
        "start": "1993-02-28",
        "vol": 0.11201704072177743
      },
      "parameters": {
        "lag_bars": 0,
        "lookback": 12,
        "threshold": 0.7,
        "x": 7
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "causal_primary",
      "exploratory": true,
      "family": "st-algo-causal-stop-proxy",
      "id": "st_lb7_lag3_latch1",
      "lag_bars": 3,
      "metrics": {
        "cagr": 0.06201485254795758,
        "end": "2026-07-31",
        "max_drawdown": -0.4115809561385373,
        "n_months": 402,
        "risk_off_events": 350,
        "risk_on_share": 0.6177966101694915,
        "sharpe": 0.5504415048329409,
        "start": "1993-02-28",
        "vol": 0.12354399973330155
      },
      "parameters": {
        "lag_bars": 3,
        "lookback": 7,
        "threshold": 0.7,
        "x": 7
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "causal_primary",
      "exploratory": true,
      "family": "st-algo-causal-stop-proxy",
      "id": "st_lb7_lag2_latch1",
      "lag_bars": 2,
      "metrics": {
        "cagr": 0.05296317781416238,
        "end": "2026-07-31",
        "max_drawdown": -0.49230843722400897,
        "n_months": 402,
        "risk_off_events": 349,
        "risk_on_share": 0.6181202370872142,
        "sharpe": 0.48228025125995605,
        "start": "1993-02-28",
        "vol": 0.12312643504427152
      },
      "parameters": {
        "lag_bars": 2,
        "lookback": 7,
        "threshold": 0.7,
        "x": 7
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "causal_primary",
      "exploratory": true,
      "family": "st-algo-causal-stop-proxy",
      "id": "st_lb17_lag4_latch0",
      "lag_bars": 4,
      "metrics": {
        "cagr": 0.09691189782510135,
        "end": "2026-07-31",
        "max_drawdown": -0.21455392038901144,
        "n_months": 402,
        "risk_off_events": 504,
        "risk_on_share": 0.6632739609838847,
        "sharpe": 0.8373894769055549,
        "start": "1993-02-28",
        "vol": 0.11931497500814303
      },
      "parameters": {
        "lag_bars": 4,
        "lookback": 17,
        "threshold": 0.7,
        "x": 17
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "control_only",
      "exploratory": true,
      "family": "st-algo-causal-stop-proxy",
      "id": "st_lb7_lag0_control",
      "lag_bars": 0,
      "metrics": {
        "cagr": 0.19044146439929,
        "end": "2026-07-31",
        "max_drawdown": -0.24775196523687837,
        "n_months": 402,
        "risk_off_events": 347,
        "risk_on_share": 0.6187658495350803,
        "sharpe": 1.5416635177550921,
        "start": "1993-02-28",
        "vol": 0.11841467698967642
      },
      "parameters": {
        "lag_bars": 0,
        "lookback": 7,
        "threshold": 0.7,
        "x": 7
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "causal_primary",
      "exploratory": true,
      "family": "best-effort-neighbor-grid",
      "id": "be_spy_lb12_lag1_t0",
      "lag_bars": 1,
      "metrics": {
        "cagr": 0.11555697755473071,
        "end": "2026-07-31",
        "max_drawdown": -0.19336384497374537,
        "n_months": 391,
        "risk_off_events": 829,
        "risk_on_share": 0.782608695652174,
        "sharpe": 1.0313402234501794,
        "start": "1994-01-31",
        "vol": 0.11265445638344454
      },
      "parameters": {
        "lag_bars": 1,
        "lookback": 12,
        "threshold": 0.0,
        "x": 12
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "causal_primary",
      "exploratory": true,
      "family": "best-effort-neighbor-grid",
      "id": "be_spy_lb21_lag1_tneg05",
      "lag_bars": 1,
      "metrics": {
        "cagr": 0.11595018688974723,
        "end": "2026-07-31",
        "max_drawdown": -0.27559720301547364,
        "n_months": 382,
        "risk_off_events": 824,
        "risk_on_share": 0.8586387434554974,
        "sharpe": 0.9304776351880556,
        "start": "1994-10-31",
        "vol": 0.12714351717055858
      },
      "parameters": {
        "lag_bars": 1,
        "lookback": 21,
        "threshold": -0.5,
        "x": 21
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "causal_primary",
      "exploratory": true,
      "family": "best-effort-neighbor-grid",
      "id": "be_spy_lb6_lag2_t0",
      "lag_bars": 2,
      "metrics": {
        "cagr": 0.10924469467365627,
        "end": "2026-07-31",
        "max_drawdown": -0.21696774059409352,
        "n_months": 396,
        "risk_off_events": 860,
        "risk_on_share": 0.7272727272727273,
        "sharpe": 0.999445605256746,
        "start": "1993-08-31",
        "vol": 0.11025931117914987
      },
      "parameters": {
        "lag_bars": 2,
        "lookback": 6,
        "threshold": 0.0,
        "x": 6
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "causal_primary",
      "exploratory": true,
      "family": "related-workbook-gen2-overlay",
      "id": "wb_short_dir_lag1",
      "lag_bars": 1,
      "metrics": {
        "cagr": 0.12049686935543358,
        "end": "2026-07-31",
        "max_drawdown": -0.27145678615978486,
        "n_months": 255,
        "risk_off_events": 1043,
        "risk_on_share": 0.6980392156862745,
        "sharpe": 1.055975784619249,
        "start": "2005-05-31",
        "vol": 0.1143882346570791
      },
      "parameters": {
        "lag_bars": 1,
        "lookback": 12,
        "threshold": 0.0,
        "x": 12
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "causal_primary",
      "exploratory": true,
      "family": "related-workbook-gen2-overlay",
      "id": "wb_medium_dir_lag1",
      "lag_bars": 1,
      "metrics": {
        "cagr": 0.20141252652984987,
        "end": "2026-07-31",
        "max_drawdown": -0.10422515115670106,
        "n_months": 255,
        "risk_off_events": 1017,
        "risk_on_share": 0.7215686274509804,
        "sharpe": 1.7089200723634954,
        "start": "2005-05-31",
        "vol": 0.11178642215039082
      },
      "parameters": {
        "lag_bars": 1,
        "lookback": 12,
        "threshold": 0.0,
        "x": 12
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "causal_primary",
      "exploratory": true,
      "family": "related-workbook-gen2-overlay",
      "id": "wb_short_ptop_lt07_lag2",
      "lag_bars": 2,
      "metrics": {
        "cagr": 0.09008100361385907,
        "end": "2026-07-31",
        "max_drawdown": -0.5078480735726956,
        "n_months": 254,
        "risk_off_events": 989,
        "risk_on_share": 0.8188976377952756,
        "sharpe": 0.6879284365340522,
        "start": "2005-06-30",
        "vol": 0.14019439666001432
      },
      "parameters": {
        "lag_bars": 2,
        "lookback": 12,
        "threshold": 0.7,
        "x": 12
      }
    },
    {
      "claim_kind": "inferred",
      "claim_role": "control_only",
      "exploratory": true,
      "family": "related-workbook-gen2-overlay",
      "id": "wb_short_dir_lag0_control",
      "lag_bars": 0,
      "metrics": {
        "cagr": 0.15501078404940283,
        "end": "2026-07-31",
        "max_drawdown": -0.29041270899126737,
        "n_months": 256,
        "risk_off_events": 1043,
        "risk_on_share": 0.6953125,
        "sharpe": 1.2180815830730645,
        "start": "2005-04-30",
        "vol": 0.1254934420044028
      },
      "parameters": {
        "lag_bars": 0,
        "lookback": 12,
        "threshold": 0.0,
        "x": 12
      }
    }
  ],
  "event_tables": [],
  "evidence": {},
  "execution_assumptions": {},
  "interactive_specs": [
    {
      "id": "lag_bars",
      "values": [
        0,
        1,
        2,
        3,
        4
      ]
    },
    {
      "id": "x_horizon",
      "values": [
        7,
        17,
        34,
        72
      ]
    },
    {
      "id": "lookback",
      "values": [
        6,
        7,
        12,
        17,
        21
      ]
    },
    {
      "id": "threshold",
      "values": [
        0.0,
        -0.5,
        0.5,
        0.7
      ]
    }
  ],
  "limitations": [
    "Not native PCT/Gen2/ST-ALGO parity",
    "On-row assets=0; GIF SHA256 unavailable",
    "market.sqlite ohlcv is close-only; native uses H/L look-ahead",
    "WeeklyData GEN-2 overlay is off-row (page_url=/excel-data/), not PCT expand-x",
    "Publication lag unknown; causal default lag>=1",
    "Look-ahead and lag-0 variants are control_only and must not be claimed"
  ],
  "parameter_grids": [],
  "provenance": {
    "database": "data/market.sqlite + data/recessionalert.sqlite read-only",
    "fetched_at": "2026-08-22T23:48:23Z",
    "linked_assets": 0,
    "page_sha256": "sha256:f62e3557bc157d890ec68a99a31d4a4898df9797a5d370b9dc56c3a629213cb1",
    "related_procharts_sha256": "sha256:9a828206a7af5e90f3ecac75b2e445167e90b15cd1310024f4499c22284384af",
    "related_workbook_sha256": "sha256:fc2be5f1fc2a2e38949ae566f6e8cb4699a95562975a498fb5a53510cc40d67c",
    "related_workbook_url": "https://recessionalert.com/download/?file=WeeklyData.xlsx"
  },
  "regime_tables": [],
  "schema_version": "research-publication/v1",
  "series": {
    "availability": "unavailable",
    "dates": [],
    "reason": "No reproducible underlying price and signal-input series are published for this expression."
  },
  "signals": {
    "spec": null,
    "specs": []
  },
  "trial_ledger": []
}
