{
  "date": "2026-09-04",
  "timezone": "America/New_York (ET, UTC-4 on this date)",
  "symbol_universe_count": 145,
  "symbols": [
    "ABSI",
    "ACHR",
    "AEG",
    "AGNC",
    "AI",
    "ALHC",
    "ALMU",
    "ALOY",
    "APUR",
    "ARDT",
    "ASAN",
    "ATAI",
    "ATEC",
    "AVAH",
    "BB",
    "BBCP",
    "BETR",
    "BFLY",
    "BGC",
    "BLMN",
    "BTG",
    "BTGO",
    "CHPT",
    "CLF",
    "CLSK",
    "CLYM",
    "COMP",
    "COUR",
    "CRGY",
    "CRK",
    "CRML",
    "CRNC",
    "CXM",
    "DCH",
    "DFNS",
    "DNA",
    "DOLE",
    "DX",
    "DXC",
    "EMBC",
    "EOLS",
    "EQX",
    "EROC",
    "EXK",
    "F",
    "FCEL",
    "FLNC",
    "FSK",
    "FSM",
    "FUBO",
    "FWRG",
    "GDOT",
    "GFR",
    "GLAS",
    "GNW",
    "GO",
    "GPGI",
    "GSIT",
    "HAFN",
    "HAYW",
    "HELP",
    "HLIT",
    "HUN",
    "ICL",
    "IE",
    "IHS",
    "IMMX",
    "INFQ",
    "JOBY",
    "KLAR",
    "LAND",
    "LTRX",
    "LWLG",
    "LYG",
    "MARA",
    "MAT",
    "MBC",
    "MBLY",
    "MFA",
    "MNRO",
    "NAVI",
    "NOK",
    "NOMD",
    "NUVB",
    "NVAX",
    "NXE",
    "ONDS",
    "OWL",
    "PCG",
    "PD",
    "PGEN",
    "PRGO",
    "PSKY",
    "PSQL",
    "PUMP",
    "QDEL",
    "QS",
    "QUAD",
    "QUBT",
    "QXO",
    "RDW",
    "RIG",
    "RILY",
    "RKT",
    "RPD",
    "RUM",
    "RUN",
    "SB",
    "SBET",
    "SENS",
    "SG",
    "SGHC",
    "SMPL",
    "SMR",
    "SNAP",
    "SOUN",
    "SPT",
    "SSL",
    "STLA",
    "SWIM",
    "SXC",
    "TAL",
    "TGB",
    "TJGC",
    "TRBG",
    "TRIP",
    "TRLV",
    "TU",
    "UPWK",
    "USDE",
    "UUUU",
    "VELO",
    "VERX",
    "VFC",
    "VG",
    "VIPS",
    "VISN",
    "VSTM",
    "VYX",
    "WEN",
    "WSE",
    "WU",
    "XMAX",
    "YEXT",
    "YSS"
  ],
  "files": {
    "prices/<SYMBOL>.csv": "1-minute OHLCV bars for the full session (pre-market + regular + after-hours), timestamp_et column in ET.",
    "meta.json": "Per-symbol Yahoo Finance metadata: previous close, regular market open/high/low, currency, exchange, bar count and data coverage.",
    "scanner_selections.json": "The bot's 12 candidate-pool refreshes across the day (09:29 initial scan, then every 30 min through 15:00), each listing the symbols selected for that window ranked by score (highest first).",
    "health_transitions.csv": "Every intraday health-state transition the bot logged per symbol (state machine: HEALTHY/WATCH/STALE/UNHEALTHY), with score, price_slope, vwap_slope at the time of transition.",
    "confirmation_attempts.csv": "Every entry-confirmation check the bot ran per symbol (confirmed/not confirmed, confidence %, and the full raw reasoning string covering price/VWAP/momentum/volume conditions).",
    "entry_log_events.csv": "Raw [ENTRY] log lines: fill price, share count, and full entry reasoning text for every position actually opened.",
    "trades.jsonl": "Copy of the day's actual executed trades (entry/exit price, time, stop levels, MFE, P/L, exit reason) for the 13 symbols that were traded.",
    "trades_summary.json": "Copy of the day's trading summary stats."
  },
  "notes": [
    "Price data is sourced from Yahoo Finance (query1.finance.yahoo.com), 1-minute granularity, may differ slightly from the bot's live Alpaca SIP feed used for actual fills.",
    "health_transitions.csv and confirmation_attempts.csv only cover symbols that entered the bot's active shortlist ('premarket_20'/entry engine) at some point in the day -- not all 145 symbols were health-tracked or confirmation-checked, since most never advanced past the raw scanner ranking.",
    "Use prices/*.csv as the base dataset for backtesting any price-action strategy (VWAP, moving averages, breakout levels, RSI, etc. can all be derived from OHLCV). Use health_transitions.csv / confirmation_attempts.csv to compare a new strategy's decisions against what the live bot's logic actually saw and decided."
  ]
}