← Smart-Money Radar

Methodology

Every signal type is scored against its own out-of-sample walk-forward history before this site calls it validated. This page is the full policy: the thresholds, the exact configuration a run hashes, and where each signal type stands today.

Validation policy

  • ValidatedOut-of-sample n ≥ 100, cluster-bootstrap 95% CI lower bound positive, Benjamini-Hochberg q ≤ 0.10, and a positive mean excess return in at least two chronological test folds.
  • Rejectedn ≥ 50 and the cluster-bootstrap 95% CI upper bound is non-positive.
  • Promisingn ≥ 30 and a positive mean (not yet validated).
  • UnprovenNone of the above — insufficient or inconclusive evidence.

Methodology version & configuration

Current methodology version: v2-next-session-adjusted. Every completed evidence run hashes exactly this configuration (its config_hash); a methodology change that would alter results always ships as a new version, never a silent edit to an old one.

{
  "methodology_version": "v2-next-session-adjusted",
  "horizons": [
    5,
    21,
    63
  ],
  "benchmark": "SPY",
  "sector_benchmark": "sector-etf-map-v1",
  "folds": 3,
  "bootstrap": "cluster-by-entry-date",
  "bootstrap_draws": 5000,
  "bootstrap_seed": 1729,
  "p_value": "null-centered-two-sided",
  "overlap_rule": "one event per ticker/type/horizon",
  "winsorization": "train-bounds-applied-to-test-1pct"
}

Evidence-program progress

Live counts below are from the latest completed evidence run (data as of 2026-08-22), at the 21-trading-day horizon.

There is no evidence-run cron wired up yet: runs are triggered on demand (python -m trading_assistant.evidence_run), not on a fixed schedule — so "next scheduled run" below is honestly "not yet scheduled" rather than a made-up date.

Signal typen so farNeeded to validateNext runTime to evidence
New institutional positionn=0 of ≥100n≥100, CI lower > 0, q≤0.10, ≥2 positive foldsnot yet scheduledFast once Task 19's historical backfill lands — sourced from filings with years of retroactive history available.
Institution added to positionn=0 of ≥100n≥100, CI lower > 0, q≤0.10, ≥2 positive foldsnot yet scheduledFast once Task 19's historical backfill lands — sourced from filings with years of retroactive history available.
Now a top-10 holdingn=0 of ≥100n≥100, CI lower > 0, q≤0.10, ≥2 positive foldsnot yet scheduledFast once Task 19's historical backfill lands — sourced from filings with years of retroactive history available.
Multiple funds accumulatingn=0 of ≥100n≥100, CI lower > 0, q≤0.10, ≥2 positive foldsnot yet scheduledFast once Task 19's historical backfill lands — sourced from filings with years of retroactive history available.
Activist stake (13D)n=601 of ≥100n≥100, CI lower > 0, q≤0.10, ≥2 positive foldsnot yet scheduledFast once Task 19's historical backfill lands — sourced from filings with years of retroactive history available.
Crossed 5% ownershipn=5346 of ≥100n≥100, CI lower > 0, q≤0.10, ≥2 positive foldsnot yet scheduledFast once Task 19's historical backfill lands — sourced from filings with years of retroactive history available.
Activist escalationn=0 of ≥100n≥100, CI lower > 0, q≤0.10, ≥2 positive foldsnot yet scheduledFast once Task 19's historical backfill lands — sourced from filings with years of retroactive history available.
Insider open-market buyn=5014 of ≥100n≥100, CI lower > 0, q≤0.10, ≥2 positive foldsnot yet scheduledFast once Task 19's historical backfill lands — sourced from filings with years of retroactive history available.
Insider buying clustern=424 of ≥100n≥100, CI lower > 0, q≤0.10, ≥2 positive foldsnot yet scheduledFast once Task 19's historical backfill lands — sourced from filings with years of retroactive history available.
Short interest shiftn=836 of ≥100n≥100, CI lower > 0, q≤0.10, ≥2 positive foldsnot yet scheduledQuarters away — this feed only has fetch-time-forward history (no retroactive archive to backfill), so n grows only as ingestion keeps running.
Short-squeeze setupn=620 of ≥100n≥100, CI lower > 0, q≤0.10, ≥2 positive foldsnot yet scheduledQuarters away — this feed only has fetch-time-forward history (no retroactive archive to backfill), so n grows only as ingestion keeps running.
Earnings surprisen=268 of ≥100n≥100, CI lower > 0, q≤0.10, ≥2 positive foldsnot yet scheduledFast once Task 19's historical backfill lands — sourced from filings with years of retroactive history available.
Dark-pool volume spiken=230 of ≥100n≥100, CI lower > 0, q≤0.10, ≥2 positive foldsnot yet scheduledQuarters away — this feed only has fetch-time-forward history (no retroactive archive to backfill), so n grows only as ingestion keeps running.
Failure-to-deliver spiken=336 of ≥100n≥100, CI lower > 0, q≤0.10, ≥2 positive foldsnot yet scheduledQuarters away — this feed only has fetch-time-forward history (no retroactive archive to backfill), so n grows only as ingestion keeps running.
Insider intent to sell (Form 144)n=9000 of ≥100n≥100, CI lower > 0, q≤0.10, ≥2 positive foldsnot yet scheduledFast once Task 19's historical backfill lands — sourced from filings with years of retroactive history available.
Hard to borrown=0 of ≥100n≥100, CI lower > 0, q≤0.10, ≥2 positive foldsnot yet scheduledQuarters away — this feed only has fetch-time-forward history (no retroactive archive to backfill), so n grows only as ingestion keeps running.
Congressional traden=130 of ≥100n≥100, CI lower > 0, q≤0.10, ≥2 positive foldsnot yet scheduledFast once Task 19's historical backfill lands — sourced from filings with years of retroactive history available.
Earnings reactionn=0 of ≥100n≥100, CI lower > 0, q≤0.10, ≥2 positive foldsnot yet scheduledFast once Task 19's historical backfill lands — sourced from filings with years of retroactive history available.