{
 "methodology_version": "0.2",
 "live_since": "2026-10-26",
 "as_of": "2026-11-05 22:13",
 "status": "live",
 "readings_through": "2026-10-30",
 "scoreboard_through": "2026-11-06",
 "public_url": "https://thecryptocrat.github.io/algo-consistency-index/",
 "probe_index": {
  "date": "2026-10-30",
  "reading_variant": "pertrade",
  "symbols": 17,
  "label": "Hypothetical probe results on historical ticks with published costs; not investment performance",
  "families": {
   "TB": {
    "reading_z": 0.063,
    "percentile_2y": 70.0,
    "legs": 170,
    "trades_20d": 4095
   },
   "MR": {
    "reading_z": 0.055,
    "percentile_2y": 68.7,
    "legs": 136,
    "trades_20d": 4066,
    "caveat": "Does not represent the library mean-reversion family; descriptive (audit 2026-10-28, rule 4: the probes track neither the library nor the live MR panel; the reading is kept as v0.2)"
   },
   "SC": {
    "reading_z": -0.028,
    "percentile_2y": 59.3,
    "legs": 102,
    "trades_20d": 1018
   }
  },
  "cost_regime_R_per_trade": 0.2603
 },
 "scoreboard": {
  "label": "Coincident; live production accounts; lagging by construction",
  "as_of": "2026-11-05 22:03",
  "data_through": "2026-11-06",
  "tiers": [
   "P1"
  ],
  "trailing_sparse_days_dropped": [],
  "membership": "all Bachelier accounts with a family tag and >=10 trading days (decision 2026-10-27); active = first appearance to last trade + 10 business days",
  "dd_budget_placeholder": true,
  "sprt_calibration_fallback_accounts": 92,
  "families": {
   "TB": {
    "n_active": 20.0,
    "breadth": 0.3333,
    "mom_mean_z": -0.0991,
    "mom_se": 0.1055,
    "M": -0.9386,
    "S": 64.2857,
    "dd_load": 0.2988,
    "kill_count": 2.0,
    "kill_share": 0.1,
    "date": "2026-11-06",
    "accounts": 28,
    "S_history_days": 127,
    "S_note": "percentile over the family's own M history (expanding, spec: trailing 2 years once available)"
   },
   "MR": {
    "n_active": 13.0,
    "breadth": 0.3846,
    "mom_mean_z": -0.0964,
    "mom_se": 0.0558,
    "M": -1.7277,
    "S": 12.6354,
    "dd_load": 0.2712,
    "kill_count": 2.0,
    "kill_share": 0.1538,
    "date": "2026-11-06",
    "accounts": 28,
    "S_history_days": 278,
    "S_note": "percentile over the family's own M history (expanding, spec: trailing 2 years once available)"
   },
   "SC": {
    "n_active": 9.0,
    "breadth": 0.1,
    "mom_mean_z": -0.205,
    "mom_se": 0.1037,
    "M": -1.9757,
    "S": 14.6919,
    "dd_load": 0.4495,
    "kill_count": 4.0,
    "kill_share": 0.4444,
    "date": "2026-11-04",
    "accounts": 66,
    "S_history_days": 212,
    "S_note": "percentile over the family's own M history (expanding, spec: trailing 2 years once available)"
   }
  },
  "headline_S": 30.54
 },
 "pattern_integrity": {
  "label": "Leading candidate features; descriptive until T2 passes",
  "as_of": "2026-11-05 21:50",
  "reading_date": "2026-10-01",
  "data_through": {
   "XAUUSD": "2026-10-30",
   "US500": "2026-10-30",
   "EURUSD": "2026-10-30",
   "USDJPY": "2026-10-30",
   "AUDUSD": "2026-10-30",
   "AUDJPY": "2026-10-30",
   "GBPJPY": "2026-10-30",
   "US30": "2026-10-30",
   "USDCHF": "2026-10-30",
   "USTECH": "2026-10-30",
   "AUDNZD": "2026-10-30",
   "NZDUSD": "2026-10-30",
   "USDCAD": "2026-10-30",
   "GBPCHF": "2026-10-30",
   "RUSS2000": "2026-10-30",
   "ETHUSD": "2026-10-31",
   "GBPUSD": "2026-10-30",
   "EURJPY": "2026-10-30",
   "BTCUSD": "2026-10-31",
   "EURCHF": "2026-10-30",
   "CADJPY": "2026-10-01",
   "CHFJPY": "2026-10-01",
   "AUDCAD": "2026-10-30",
   "NZDJPY": "2026-10-30",
   "EURAUD": "2026-10-30"
  },
  "symbols": [
   "XAUUSD",
   "US500",
   "EURUSD",
   "USDJPY",
   "AUDUSD",
   "AUDJPY",
   "GBPJPY",
   "US30",
   "USDCHF",
   "USTECH",
   "AUDNZD",
   "NZDUSD",
   "USDCAD",
   "GBPCHF",
   "RUSS2000",
   "ETHUSD",
   "GBPUSD",
   "EURJPY",
   "BTCUSD",
   "EURCHF",
   "CADJPY",
   "CHFJPY",
   "AUDCAD",
   "NZDJPY",
   "EURAUD"
  ],
  "universe": 25,
  "weighting": "equal (exposure weights pending)",
  "features_z": {
   "vol_ratio": 0.913,
   "vol_of_vol": 0.268,
   "gap_atr": -0.228,
   "range_atr": 0.768,
   "er10": 0.267,
   "er20": 0.782,
   "ac15_5d": -0.259,
   "vr5": 0.637,
   "bo_follow": 0.18,
   "mr_hit": 0.125,
   "sess_fid": -0.518,
   "hl_time_dev": -0.002,
   "spread_rel": -0.051,
   "tick_rel": 1.285
  },
  "drift": 4.483,
  "drift_pct_vs_ref": 91.0,
  "family_drift": {
   "TB": 2.857,
   "MR": 2.943,
   "SC": 1.8
  },
  "family_drift_pct_vs_ref": {
   "TB": 52.7,
   "MR": 47.1,
   "SC": 15.4
  },
  "what_moved": [
   "The M15 return autocorrelation fell 0.9 sd over five days to the 28th percentile of 2021-2024 (favours MR; weighs on TB).",
   "The daily range vs ATR rose 0.7 sd over five days to the 87th percentile of 2021-2024.",
   "The timing of the daily high and low rose 0.6 sd over five days to the 42nd percentile of 2021-2024 (weighs on SC)."
  ]
 },
 "nowcast": {
  "published": false,
  "note": "No nowcast is published: T2 not passed, and the sizing output it was to feed was dropped on 2026-10-28; the Pattern Integrity features stay descriptive"
 },
 "multipliers": {
  "published": false,
  "dropped": "2026-10-28",
  "note": "Dropped from the product on 2026-10-28 (operator decision): T2, T5, T6B and T6C found no forecast value, no overlay value and no return persistence to size on, so the index publishes no sizing instruction. The only risk outputs are the Scoreboard's realised drawdown load and SPRT kill lines (coincident, account-level, lagging by construction).",
  "families": {}
 },
 "validation": {
  "T0": "not passed (low power)",
  "T1": "TB passes on 7 blocks under v0.2; MR and SC not; external panel (Collective2, descriptive, run 2026-11-04): TB FAIL, MR FAIL, SC FAIL",
  "T2": "not passed",
  "T3": "retired (2026-10-28): the sizing multiplier is dropped from the product; not run",
  "T4": "starts at the first live print",
  "T5": "not passed (2026-10-28): overlays on the raw readings do not beat same-window permutation nulls; trend uninformative (power 0.09-0.18), mean-reversion null, session-clock overlays cost what random halts cost; live pools net-negative",
  "T6": "not passed / no change (2026-10-28): no reading construction or learned weighting beats v0.2 out of sample; mean-reversion reading anti-tracks the library MR family (audited 2026-10-28: the control's cost-regime signal with the sign flipped; probes track nothing; reading kept with a caveat); no return persistence to size on; best-of-38 sizing rules inside search-aware nulls; no daily external trend panel obtainable"
 },
 "benchmark_relative": {
  "label": "Descriptive comparison of live production accounts with their family's probe reading; not a forecast, not a sizing instruction",
  "date": "2026-10-30",
  "definition": "alpha20 = mean of the account's daily z over the trailing 20 business days minus beta x the family probe reading z on the same date; beta = 1.0 for every family (fixed, not fitted); accounts active on the date with at least 15 of the 20 days active",
  "beta": {
   "TB": 1.0,
   "MR": 1.0,
   "SC": 1.0
  },
  "beta_fitted": false,
  "window_business_days": 20,
  "min_days_active": 15,
  "note": "Descriptive comparison of each live account with its family's probe reading; not a forecast, not a sizing instruction. The two sides are standardised differently (daily z of account returns against a two-year z of per-trade R), so alpha20 is a comparison, not a measured excess return.",
  "families": {
   "TB": {
    "reading_z": 0.0629,
    "n_scored": 20,
    "median_acct_z20": -0.1745,
    "median_alpha20": -0.2374,
    "alpha20_p25": -0.3387,
    "alpha20_p75": -0.1484,
    "share_above_benchmark": 0.1
   },
   "MR": {
    "reading_z": 0.055,
    "n_scored": 13,
    "median_acct_z20": -0.1528,
    "median_alpha20": -0.2079,
    "alpha20_p25": -0.2492,
    "alpha20_p75": -0.0728,
    "share_above_benchmark": 0.0769
   },
   "SC": {
    "reading_z": -0.0279,
    "n_scored": 22,
    "median_acct_z20": -0.1848,
    "median_alpha20": -0.1569,
    "alpha20_p25": -0.2301,
    "alpha20_p75": -0.0471,
    "share_above_benchmark": 0.1364
   }
  }
 },
 "external_panel": {
  "label": "Hypothetical model accounts; descriptive; not investment performance, not a forecast, not a sizing instruction",
  "date": "2026-11-04",
  "source": "Collective2 General API v4 (read-only)",
  "route": "daily",
  "commission_plan": 0,
  "embargo_days": null,
  "members": 255,
  "note": "Hypothetical model accounts on Collective2 (forex and futures strategies; simulated fills, default commission plan); each strategy's daily return is the change in its own end-of-day model-account equity. Non-subscribers see a manager's record only after that manager's publication delay, so the panel's last day can lag the print. Aggregates only; individual strategies are not shown. Of the 746 strategies in the 2022-01-03 snapshot, 172 are no longer served by the API, among them 49 of the 173 forex or futures strategies with 30 or more trades at that date, so the panel's 22 dead members understate attrition and the 2022 cohort is not survivorship-free; strategies created after 2022-01-03 that died before the pull are also missing. 156 of the 255 members have no defined standardised return in the last 20 weekdays (flat equity, a series that ended, or a dead strategy); the automation share of the members is not available from the API's details record.",
  "definition": "Per strategy: daily return standardised by its own trailing 120-day sd (clipped at +-6); family return = equal-weight mean over the family's members with at least 5 members that day; 20-day = mean of the last 20 days (at least 15). Family tags come from each strategy's closed trades (panel-internal terciles, frozen).",
  "attrition": {
   "n_snapshot": 746,
   "n_unserved_snapshot": 172,
   "n_cohort_fxfut30": 173,
   "n_cohort_unserved": 49,
   "n_members": 255,
   "n_members_dead": 22,
   "n_members_without_recent_z": 156,
   "recent_window_weekdays": 20,
   "automation_share": "not available (the details record has no such field)"
  },
  "sensitivity_cohort2022": {
   "label": "post hoc sensitivity, read after the pre-registered result; changes no verdict",
   "n_members": 175,
   "families": {
    "TB": {
     "verdict": "FAIL",
     "blocks": 61,
     "rho": -0.142
    },
    "MR": {
     "verdict": "FAIL",
     "blocks": 61,
     "rho": 0.025
    },
    "SC": {
     "verdict": "FAIL",
     "blocks": 47,
     "rho": -0.053
    }
   }
  },
  "tag_agreement": {
   "n_trade_tagged": 125,
   "n_desc_tagged": 44,
   "n_both_tagged": 21,
   "accuracy": 0.1905,
   "kappa": -0.0625
  },
  "families": {
   "TB": {
    "members": 2,
    "note": "fewer than 5 members on the as-of day",
    "days_with_ge5_members": 1262,
    "first_day_ge5_members": "2022-01-03"
   },
   "MR": {
    "members": 8,
    "z20": 0.028,
    "percentile_2y": 88.5,
    "date": "2026-11-04",
    "days_with_ge5_members": 1264,
    "first_day_ge5_members": "2022-01-03"
   },
   "SC": {
    "members": 8,
    "z20": 0.05,
    "percentile_2y": 75.8,
    "date": "2026-11-04",
    "days_with_ge5_members": 1263,
    "first_day_ge5_members": "2022-01-03"
   },
   "ALL": {
    "members": 23,
    "z20": -0.078,
    "percentile_2y": 24.0,
    "date": "2026-11-04",
    "days_with_ge5_members": 1264,
    "first_day_ge5_members": "2022-01-03"
   }
  },
  "t1_external": {
   "run_date": "2026-11-04",
   "probe_readings_through": "2026-10-01",
   "bar": "rho >= 0.40, 90% block interval above zero, +40d twin failing, shuffle 95th pct below the real rho; verdict FAIL needs >= 40 blocks",
   "shuffle_draws": 200,
   "families": {
    "TB": {
     "verdict": "FAIL",
     "blocks": 61,
     "power_rho040": 0.943,
     "rho": -0.136,
     "ci90": [
      -0.281,
      0.0
     ],
     "twin": 0.033,
     "shuffle_p95": 0.117
    },
    "MR": {
     "verdict": "FAIL",
     "blocks": 61,
     "power_rho040": 0.943,
     "rho": 0.118,
     "ci90": [
      -0.037,
      0.28
     ],
     "twin": 0.074,
     "shuffle_p95": 0.085
    },
    "SC": {
     "verdict": "FAIL",
     "blocks": 61,
     "power_rho040": 0.943,
     "rho": 0.053,
     "ci90": [
      -0.067,
      0.184
     ],
     "twin": -0.016,
     "shuffle_p95": 0.1
    }
   }
  },
  "history_csv": "data/external_panel_history.csv"
 },
 "disclaimer": "Not investment advice. No sizing instruction is published. Probe results are hypothetical; benchmark-relative figures are a comparison, not a forecast."
}