lo14, hi14 = lo.rolling(14).min(), h.rolling(14).max() ^ NameError: name 'h' is not defined. Did you mean: 'hi'? [RAM CAP] Uncapped -- running at max efficiency [MAX WORKERS] Hard cap: 16 concurrent threads | Applies to: feature rebuild, training, ThreadPoolExecutor [MODE] Trading mode: BOTH [MODE] Bidirectional -- longs AND shorts enabled 2026-04-27 03:21:23 [INFO] Daily DB: today=trading_data_20260427.db | history=10 older DB(s) 2026-04-27 03:21:23 [INFO] ============================================================ 2026-04-27 03:21:23 [INFO] ML Trading System v8 - Alpaca + Finnhub + Sentiment Intelligence 2026-04-27 03:21:23 [INFO] CPU cores : 32 2026-04-27 03:21:23 [INFO] Base agents : 16 2026-04-27 03:21:23 [INFO] Clone agents : 16 2026-04-27 03:21:23 [INFO] Total agents : 32 2026-04-27 03:21:23 [INFO] MetaLearner : trading as 33rd agent ($1,000 capital) 2026-04-27 03:21:23 [INFO] Retrain : every 15 min during market hours + EOD 2026-04-27 03:21:23 [INFO] Data sources : Alpaca WS (all IEX bars) + Finnhub (58/min) + AV + Polygon 2026-04-27 03:21:23 [INFO] Charts : charts/ hourly accuracy PNG 2026-04-27 03:21:23 [INFO] Trade CSV : logs/TRADE_LOG.csv 2026-04-27 03:21:23 [INFO] Alpaca : keys set, WebSocket will connect on start 2026-04-27 03:21:23 [INFO] ============================================================ 2026-04-27 03:21:23 [INFO] [RAM] startup baseline | 223 MB (uncapped) 2026-04-27 03:21:23 [INFO] Loading sector info (skipping ETFs)... [RAM CAP] Uncapped -- running at max efficiency [MAX WORKERS] Hard cap: 16 concurrent threads | Applies to: feature rebuild, training, ThreadPoolExecutor [MODE] Trading mode: BOTH [MODE] Bidirectional -- longs AND shorts enabled 2026-04-27 03:22:20 [INFO] Daily DB: today=trading_data_20260427.db | history=10 older DB(s) 2026-04-27 03:22:20 [INFO] ============================================================ 2026-04-27 03:22:20 [INFO] ML Trading System v8 - Alpaca + Finnhub + Sentiment Intelligence 2026-04-27 03:22:20 [INFO] CPU cores : 32 2026-04-27 03:22:20 [INFO] Base agents : 16 2026-04-27 03:22:20 [INFO] Clone agents : 16 2026-04-27 03:22:20 [INFO] Total agents : 32 2026-04-27 03:22:20 [INFO] MetaLearner : trading as 33rd agent ($1,000 capital) 2026-04-27 03:22:20 [INFO] Retrain : every 15 min during market hours + EOD 2026-04-27 03:22:20 [INFO] Data sources : Alpaca WS (all IEX bars) + Finnhub (58/min) + AV + Polygon 2026-04-27 03:22:20 [INFO] Charts : charts/ hourly accuracy PNG 2026-04-27 03:22:20 [INFO] Trade CSV : logs/TRADE_LOG.csv 2026-04-27 03:22:20 [INFO] Alpaca : keys set, WebSocket will connect on start 2026-04-27 03:22:20 [INFO] ============================================================ 2026-04-27 03:22:20 [INFO] [RAM] startup baseline | 223 MB (uncapped) 2026-04-27 03:22:20 [INFO] Loading sector info (skipping ETFs)... 2026-04-27 03:25:24 [INFO] Sectors loaded: 104 2026-04-27 03:25:24 [INFO] [RAM] after load_sectors | 226 MB (uncapped) 2026-04-27 03:25:24 [INFO] [RAM] before model load | 226 MB (uncapped) 2026-04-27 03:25:24 [INFO] [RAM] after model load (32 PKL files in memory) | 226 MB (uncapped) 2026-04-27 03:25:24 [INFO] No saved agent state — starting fresh. 2026-04-27 03:25:24 [INFO] [RAM] after agent state restore | 226 MB (uncapped) 2026-04-27 03:25:24 [INFO] [RAM] before rebuild_all_features | 226 MB (uncapped) Traceback (most recent call last): File "/opt/services/bots/trading_bot/Stock_Bot/StockTrading.py", line 7688, in File "/opt/services/bots/trading_bot/Stock_Bot/StockTrading.py", line 7395, in run File "/opt/services/bots/trading_bot/Stock_Bot/StockTrading.py", line 6592, in initialize File "/opt/services/bots/trading_bot/Stock_Bot/StockTrading.py", line 2846, in rebuild_all_features File "/opt/services/bots/trading_bot/Stock_Bot/StockTrading.py", line 2691, in rebuild_features_for File "/opt/services/bots/trading_bot/Stock_Bot/StockTrading.py", line 2391, in get_scores File "/opt/services/bots/trading_bot/Stock_Bot/StockTrading.py", line 1842, in get sqlite3.OperationalError: unable to open database file [RAM CAP] Uncapped -- running at max efficiency [MAX WORKERS] Hard cap: 16 concurrent threads | Applies to: feature rebuild, training, ThreadPoolExecutor [MODE] Trading mode: BOTH [MODE] Bidirectional -- longs AND shorts enabled 2026-04-27 03:59:20 [INFO] Daily DB: today=trading_data_20260427.db | history=10 older DB(s) 2026-04-27 03:59:20 [INFO] ============================================================ 2026-04-27 03:59:20 [INFO] ML Trading System v8 - Alpaca + Finnhub + Sentiment Intelligence 2026-04-27 03:59:20 [INFO] CPU cores : 32 2026-04-27 03:59:20 [INFO] Base agents : 16 2026-04-27 03:59:20 [INFO] Clone agents : 16 2026-04-27 03:59:20 [INFO] Total agents : 32 2026-04-27 03:59:20 [INFO] MetaLearner : trading as 33rd agent ($1,000 capital) 2026-04-27 03:59:20 [INFO] Retrain : every 15 min during market hours + EOD 2026-04-27 03:59:20 [INFO] Data sources : Alpaca WS (all IEX bars) + Finnhub (58/min) + AV + Polygon 2026-04-27 03:59:20 [INFO] Charts : charts/ hourly accuracy PNG 2026-04-27 03:59:20 [INFO] Trade CSV : logs/TRADE_LOG.csv 2026-04-27 03:59:20 [INFO] Alpaca : keys set, WebSocket will connect on start 2026-04-27 03:59:20 [INFO] ============================================================ 2026-04-27 03:59:20 [INFO] [RAM] startup baseline | 223 MB (uncapped) 2026-04-27 03:59:20 [INFO] Loading sector info (skipping ETFs)... 2026-04-27 04:02:24 [INFO] Sectors loaded: 173 2026-04-27 04:02:24 [INFO] [RAM] after load_sectors | 226 MB (uncapped) 2026-04-27 04:02:24 [INFO] [RAM] before model load | 226 MB (uncapped) 2026-04-27 04:02:24 [INFO] [RAM] after model load (32 PKL files in memory) | 226 MB (uncapped) 2026-04-27 04:02:24 [INFO] No saved agent state — starting fresh. 2026-04-27 04:02:24 [INFO] [RAM] after agent state restore | 226 MB (uncapped) 2026-04-27 04:02:24 [INFO] [RAM] before rebuild_all_features | 226 MB (uncapped) Traceback (most recent call last): File "/opt/services/bots/trading_bot/Stock_Bot/StockTrading.py", line 7688, in trading_mode=_args.mode).run() ~~~^^ File "/opt/services/bots/trading_bot/Stock_Bot/StockTrading.py", line 7395, in run if not self.initialize(): ~~~~~~~~~~~~~~~^^ File "/opt/services/bots/trading_bot/Stock_Bot/StockTrading.py", line 6592, in initialize n = self.dm.rebuild_all_features() File "/opt/services/bots/trading_bot/Stock_Bot/StockTrading.py", line 2846, in rebuild_all_features if self.rebuild_features_for(sym): ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^ File "/opt/services/bots/trading_bot/Stock_Bot/StockTrading.py", line 2706, in rebuild_features_for feat = build_features(df, self.velocity, sentiment_scores=sentiment) File "/opt/services/bots/trading_bot/Stock_Bot/StockTrading.py", line 1607, in build_features lo14, hi14 = lo.rolling(14).min(), h.rolling(14).max() ^ NameError: name 'h' is not defined. Did you mean: 'hi'? 2026-04-27 04:03:18 [INFO] Daily DB: today=trading_data_20260427.db | history=10 older DB(s) 2026-04-27 04:03:18 [INFO] ============================================================ 2026-04-27 04:03:18 [INFO] ML Trading System v8 - Alpaca + Finnhub + Sentiment Intelligence 2026-04-27 04:03:18 [INFO] CPU cores : 32 2026-04-27 04:03:18 [INFO] Base agents : 16 2026-04-27 04:03:18 [INFO] Clone agents : 16 2026-04-27 04:03:18 [INFO] Total agents : 32 2026-04-27 04:03:18 [INFO] MetaLearner : trading as 33rd agent ($1,000 capital) 2026-04-27 04:03:18 [INFO] Retrain : every 15 min during market hours + EOD 2026-04-27 04:03:18 [INFO] Data sources : Alpaca WS (all IEX bars) + Finnhub (58/min) + AV + Polygon 2026-04-27 04:03:18 [INFO] Charts : charts/ hourly accuracy PNG 2026-04-27 04:03:18 [INFO] Trade CSV : logs/TRADE_LOG.csv 2026-04-27 04:03:18 [INFO] Alpaca : keys set, WebSocket will connect on start 2026-04-27 04:03:18 [INFO] ============================================================ 2026-04-27 04:03:18 [INFO] [RAM] startup baseline | 223 MB (uncapped) 2026-04-27 04:03:18 [INFO] Loading sector info (skipping ETFs)... 2026-04-27 04:06:22 [INFO] Sectors loaded: 84 2026-04-27 04:06:22 [INFO] [RAM] after load_sectors | 226 MB (uncapped) 2026-04-27 04:06:22 [INFO] [RAM] before model load | 226 MB (uncapped) 2026-04-27 04:06:22 [INFO] [RAM] after model load (32 PKL files in memory) | 226 MB (uncapped) 2026-04-27 04:06:22 [INFO] No saved agent state — starting fresh. 2026-04-27 04:06:22 [INFO] [RAM] after agent state restore | 226 MB (uncapped) 2026-04-27 04:06:22 [INFO] [RAM] before rebuild_all_features | 226 MB (uncapped) [RAM CAP] Uncapped -- running at max efficiency [MAX WORKERS] Hard cap: 16 concurrent threads | Applies to: feature rebuild, training, ThreadPoolExecutor [MODE] Trading mode: BOTH [MODE] Bidirectional -- longs AND shorts enabled 2026-04-27 05:03:38 [INFO] Daily DB: today=trading_data_20260427.db | history=10 older DB(s) 2026-04-27 05:03:38 [INFO] ============================================================ 2026-04-27 05:03:38 [INFO] ML Trading System v8 - Alpaca + Finnhub + Sentiment Intelligence 2026-04-27 05:03:38 [INFO] CPU cores : 32 2026-04-27 05:03:38 [INFO] Base agents : 16 2026-04-27 05:03:38 [INFO] Clone agents : 16 2026-04-27 05:03:38 [INFO] Total agents : 32 2026-04-27 05:03:38 [INFO] MetaLearner : trading as 33rd agent ($1,000 capital) 2026-04-27 05:03:38 [INFO] Retrain : every 15 min during market hours + EOD 2026-04-27 05:03:38 [INFO] Data sources : Alpaca WS (all IEX bars) + Finnhub (58/min) + AV + Polygon 2026-04-27 05:03:38 [INFO] Charts : charts/ hourly accuracy PNG 2026-04-27 05:03:38 [INFO] Trade CSV : logs/TRADE_LOG.csv 2026-04-27 05:03:38 [INFO] Alpaca : keys set, WebSocket will connect on start 2026-04-27 05:03:38 [INFO] ============================================================ 2026-04-27 05:03:38 [INFO] [RAM] startup baseline | 223 MB (uncapped) 2026-04-27 05:03:38 [INFO] Loading sector info (skipping ETFs)... 2026-04-27 05:06:42 [INFO] Sectors loaded: 196 2026-04-27 05:06:42 [INFO] [RAM] after load_sectors | 226 MB (uncapped) 2026-04-27 05:06:42 [INFO] [RAM] before model load | 226 MB (uncapped) 2026-04-27 05:06:42 [INFO] [RAM] after model load (32 PKL files in memory) | 226 MB (uncapped) 2026-04-27 05:06:42 [INFO] No saved agent state — starting fresh. 2026-04-27 05:06:42 [INFO] [RAM] after agent state restore | 226 MB (uncapped) 2026-04-27 05:06:42 [INFO] [RAM] before rebuild_all_features | 226 MB (uncapped) 2026-04-27 06:08:23 [INFO] [RAM] rebuild_all_features complete | ok=4947/10720 | 2,575 MB (uncapped) 2026-04-27 06:08:23 [INFO] [RAM] after rebuild_all_features (4947 symbols) | 2,575 MB (uncapped) 2026-04-27 06:08:23 [INFO] Features built for 4947 symbols from existing DB data 2026-04-27 06:08:23 [INFO] [RAM] before _retrain | 2,575 MB (uncapped) 2026-04-27 06:09:44 [INFO] [RAM] rebuild_all_features complete | ok=4947/10720 | 2,661 MB (uncapped) 2026-04-27 06:09:44 [INFO] Agent state saved -> logs/agent_state.json 2026-04-27 06:09:44 [INFO] [RAM] after _retrain | 2,661 MB (uncapped) 2026-04-27 06:09:44 [INFO] DB: 4,458,624 quotes across 10720 symbols (+10 history DB(s)) 2026-04-27 06:09:44 [INFO] [RAM] before Alpaca WS start | 2,662 MB (uncapped) 2026-04-27 06:09:44 [INFO] Alpaca WS: connecting to wss://stream.data.alpaca.markets/v2/iex 2026-04-27 06:09:44 [INFO] Alpaca WebSocket thread started. 2026-04-27 06:09:44 [INFO] Sentiment engine started — news=ON | sec=ON | reddit=OFF(no key) | congress=ON | stocktwits=ON 2026-04-27 06:09:44 [INFO] Sentiment : engine started (news + SEC + reddit + congress) /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() 2026-04-27 06:09:44 [INFO] [RAM] after sentiment engine start | 2,663 MB (uncapped) 2026-04-27 06:09:44 [INFO] [RAM] fully initialized | 2,663 MB (uncapped) 2026-04-27 06:09:44 [INFO] Ready. 2026-04-27 06:09:44 [INFO] Main loop running. Ctrl+C to stop. 2026-04-27 06:09:44 [INFO] Finnhub fetch thread started (58 calls/min round-robin). 2026-04-27 06:09:44 [INFO] EOD training trigger: 07:09 ET | pre-market window 2026-04-27 06:09:44 [INFO] EOD training started at 2026-04-27 06:09:44 CST 2026-04-27 06:09:44 [INFO] [RAM] EOD train start | 2,663 MB (uncapped) 2026-04-27 06:09:44 [INFO] Writing pre-train report... 2026-04-27 06:09:44 [INFO] Human report -> logs/human_report.txt 2026-04-27 06:09:44 [INFO] HTML dashboard -> logs/bot_dashboard.html (39KB) 2026-04-27 06:09:44 [INFO] Claude handoff -> logs/claude_handoff.json 2026-04-27 06:09:44 [INFO] Pre-train report written. 2026-04-27 06:09:45 [INFO] Alpaca WS: connected, authenticating... 2026-04-27 06:09:45 [INFO] Alpaca WS: connection established 2026-04-27 06:09:45 [INFO] Alpaca WS: authenticated — subscribing to all bars (*) 2026-04-27 06:09:45 [INFO] Alpaca WS: subscribed — bars=1 (wildcard active) 2026-04-27 06:09:45 [INFO] Backup complete -> backup/ (20260427_060944 CST) /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() 2026-04-27 06:09:54 [INFO] GitHub daily push complete: 9 files → Stock_Bot/backup/ /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() 2026-04-27 06:11:04 [INFO] [RAM] rebuild_all_features complete | ok=4947/10720 | 3,126 MB (uncapped) 2026-04-27 06:11:04 [INFO] Features rebuilt: 4947 symbols 2026-04-27 06:11:04 [INFO] Saving today's feature file... /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() 2026-04-27 06:11:42 [INFO] Daily features saved -> features/daily/features_20260427.pkl.gz (858,954 rows, 4947 symbols) /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() 2026-04-27 06:11:48 [INFO] Training dataset: 858,954 rows across 4947 symbols 2026-04-27 06:11:48 [INFO] Training 32 agents | 16 workers | each worker: train → save → release → next | DAILY_TREES=50 2026-04-27 06:11:48 [INFO] [RAM] before worker-pool training (16 workers) | 3,946 MB (uncapped) /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() 2026-04-27 06:15:03 [INFO] [Clone_MeanReversion_5] FULL train=0.583 val=0.580 n=849,928 IC=0.000 /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() 2026-04-27 06:15:03 [INFO] [Clone_LowFreq_14] FULL train=0.583 val=0.580 n=849,928 IC=0.000 2026-04-27 06:15:04 [INFO] [Clone_LowFreq_14] Loaded (val=0.580 IC=0.000 train_count=1) 2026-04-27 06:15:04 [INFO] [9/32] Clone_LowFreq_14 | +50 trees | val=0.580 | IC=0.000 | 195.1s | released 2026-04-27 06:15:04 [INFO] [RAM] after Clone_LowFreq_14 released (1 done) | 20,538 MB (uncapped) 2026-04-27 06:15:04 [INFO] [Clone_MeanReversion_5] Loaded (val=0.580 IC=0.000 train_count=1) 2026-04-27 06:15:04 [INFO] [10/32] Clone_MeanReversion_5 | +50 trees | val=0.580 | IC=0.000 | 194.3s | released 2026-04-27 06:15:04 [INFO] [RAM] after Clone_MeanReversion_5 released (2 done) | 20,545 MB (uncapped) 2026-04-27 06:15:04 [INFO] [Aggressive] FULL train=0.583 val=0.580 n=849,928 IC=0.000 2026-04-27 06:15:05 [INFO] [Clone_Balanced_16] FULL train=0.583 val=0.580 n=849,928 IC=0.000 /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() 2026-04-27 06:15:07 [INFO] [Aggressive] Loaded (val=0.580 IC=0.000 train_count=1) 2026-04-27 06:15:07 [INFO] [1/32] Aggressive | +50 trees | val=0.580 | IC=0.000 | 196.3s | released 2026-04-27 06:15:07 [INFO] [RAM] after Aggressive released (3 done) | 19,202 MB (uncapped) 2026-04-27 06:15:07 [INFO] [Clone_ModerateDefens_3] FULL train=0.583 val=0.580 n=849,928 IC=0.000 2026-04-27 06:15:08 [INFO] [Clone_Balanced_16] Loaded (val=0.580 IC=0.000 train_count=1) 2026-04-27 06:15:08 [INFO] [4/32] Clone_Balanced_16 | +50 trees | val=0.580 | IC=0.000 | 197.4s | released 2026-04-27 06:15:08 [INFO] [RAM] after Clone_Balanced_16 released (4 done) | 17,847 MB (uncapped) 2026-04-27 06:15:08 [INFO] [Clone_ModerateDefens_3] Loaded (val=0.580 IC=0.000 train_count=1) 2026-04-27 06:15:08 [INFO] [12/32] Clone_ModerateDefens_3 | +50 trees | val=0.580 | IC=0.000 | 198.4s | released 2026-04-27 06:15:08 [INFO] [RAM] after Clone_ModerateDefens_3 released (5 done) | 17,500 MB (uncapped) 2026-04-27 06:15:09 [INFO] [Clone_Conservative_2] FULL train=0.585 val=0.581 n=849,928 IC=0.000 2026-04-27 06:15:10 [INFO] [Clone_HighFreq_15] FULL train=0.585 val=0.581 n=849,928 IC=0.000 /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() 2026-04-27 06:15:11 [INFO] [Clone_Conservative_2] Loaded (val=0.581 IC=0.000 train_count=1) 2026-04-27 06:15:11 [INFO] [5/32] Clone_Conservative_2 | +50 trees | val=0.581 | IC=0.000 | 201.0s | released 2026-04-27 06:15:11 [INFO] [RAM] after Clone_Conservative_2 released (6 done) | 15,812 MB (uncapped) 2026-04-27 06:15:11 [INFO] [Clone_HighFreq_15] Loaded (val=0.581 IC=0.000 train_count=1) 2026-04-27 06:15:11 [INFO] [Clone_ModerateAggr_7] FULL train=0.583 val=0.580 n=849,928 IC=0.000 2026-04-27 06:15:11 [INFO] [8/32] Clone_HighFreq_15 | +50 trees | val=0.581 | IC=0.000 | 201.7s | released 2026-04-27 06:15:11 [INFO] [RAM] after Clone_HighFreq_15 released (7 done) | 14,801 MB (uncapped) 2026-04-27 06:15:11 [INFO] [Balanced] FULL train=0.583 val=0.581 n=849,928 IC=0.000 2026-04-27 06:15:13 [INFO] [Clone_ModerateAggr_7] Loaded (val=0.580 IC=0.000 train_count=1) 2026-04-27 06:15:13 [INFO] [11/32] Clone_ModerateAggr_7 | +50 trees | val=0.580 | IC=0.000 | 202.9s | released 2026-04-27 06:15:13 [INFO] [RAM] after Clone_ModerateAggr_7 released (8 done) | 12,977 MB (uncapped) 2026-04-27 06:15:14 [INFO] [Balanced] Loaded (val=0.581 IC=0.000 train_count=1) 2026-04-27 06:15:14 [INFO] [2/32] Balanced | +50 trees | val=0.581 | IC=0.000 | 203.2s | released 2026-04-27 06:15:14 [INFO] [RAM] after Balanced released (9 done) | 12,981 MB (uncapped) /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() 2026-04-27 06:15:15 [INFO] [Clone_Moderate_4] FULL train=0.584 val=0.581 n=849,928 IC=0.000 2026-04-27 06:15:16 [INFO] [Clone_Momentum_6] FULL train=0.584 val=0.581 n=849,928 IC=0.000 2026-04-27 06:15:16 [INFO] [Clone_Moderate_4] Loaded (val=0.581 IC=0.000 train_count=1) 2026-04-27 06:15:16 [INFO] [13/32] Clone_Moderate_4 | +50 trees | val=0.581 | IC=0.000 | 206.4s | released 2026-04-27 06:15:16 [INFO] [Clone_UltraAggress_12] FULL train=0.587 val=0.582 n=849,928 IC=0.000 2026-04-27 06:15:16 [INFO] [RAM] after Clone_Moderate_4 released (10 done) | 10,765 MB (uncapped) /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() 2026-04-27 06:15:17 [INFO] [Clone_Contrarian_10] FULL train=0.584 val=0.581 n=849,928 IC=0.000 2026-04-27 06:15:17 [INFO] [Clone_SectorRotation_13] FULL train=0.585 val=0.581 n=849,928 IC=0.000 2026-04-27 06:15:18 [INFO] [Clone_HighConviction_9] FULL train=0.586 val=0.581 n=849,928 IC=0.000 2026-04-27 06:15:20 [INFO] [Clone_Momentum_6] Loaded (val=0.581 IC=0.000 train_count=1) 2026-04-27 06:15:20 [INFO] [14/32] Clone_Momentum_6 | +50 trees | val=0.581 | IC=0.000 | 207.7s | released 2026-04-27 06:15:20 [INFO] [RAM] after Clone_Momentum_6 released (11 done) | 5,757 MB (uncapped) 2026-04-27 06:15:20 [INFO] [Clone_Aggressive_8] FULL train=0.586 val=0.582 n=849,928 IC=0.000 2026-04-27 06:15:22 [INFO] [Clone_SectorRotation_13] Loaded (val=0.581 IC=0.000 train_count=1) 2026-04-27 06:15:22 [INFO] [15/32] Clone_SectorRotation_13 | +50 trees | val=0.581 | IC=0.000 | 209.3s | released 2026-04-27 06:15:22 [INFO] [RAM] after Clone_SectorRotation_13 released (12 done) | 4,212 MB (uncapped) 2026-04-27 06:15:22 [INFO] [Clone_UltraAggress_12] Loaded (val=0.582 IC=0.000 train_count=1) 2026-04-27 06:15:22 [INFO] [16/32] Clone_UltraAggress_12 | +50 trees | val=0.582 | IC=0.000 | 207.6s | released 2026-04-27 06:15:22 [INFO] [RAM] after Clone_UltraAggress_12 released (13 done) | 4,238 MB (uncapped) 2026-04-27 06:15:23 [INFO] [Clone_Contrarian_10] Loaded (val=0.581 IC=0.000 train_count=1) 2026-04-27 06:15:23 [INFO] [6/32] Clone_Contrarian_10 | +50 trees | val=0.581 | IC=0.000 | 209.1s | released 2026-04-27 06:15:23 [INFO] [RAM] after Clone_Contrarian_10 released (14 done) | 4,268 MB (uncapped) 2026-04-27 06:15:24 [INFO] [Clone_HighConviction_9] Loaded (val=0.581 IC=0.000 train_count=1) 2026-04-27 06:15:24 [INFO] [7/32] Clone_HighConviction_9 | +50 trees | val=0.581 | IC=0.000 | 209.7s | released 2026-04-27 06:15:24 [INFO] [RAM] after Clone_HighConviction_9 released (15 done) | 4,300 MB (uncapped) 2026-04-27 06:15:25 [INFO] [Clone_Aggressive_8] Loaded (val=0.582 IC=0.000 train_count=1) 2026-04-27 06:15:25 [INFO] [3/32] Clone_Aggressive_8 | +50 trees | val=0.582 | IC=0.000 | 211.9s | released 2026-04-27 06:15:25 [INFO] [RAM] after Clone_Aggressive_8 released (16 done) | 4,322 MB (uncapped) /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() 2026-04-27 06:18:30 [INFO] [Conservative] FULL train=0.583 val=0.580 n=849,928 IC=0.000 /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() 2026-04-27 06:18:31 [INFO] [Volatility] FULL train=0.583 val=0.580 n=849,928 IC=0.000 2026-04-27 06:18:31 [INFO] [Conservative] Loaded (val=0.580 IC=0.000 train_count=1) 2026-04-27 06:18:31 [INFO] [19/32] Conservative | +50 trees | val=0.580 | IC=0.000 | 204.4s | released 2026-04-27 06:18:31 [INFO] [RAM] after Conservative released (17 done) | 21,051 MB (uncapped) [RAM CAP] Uncapped -- running at max efficiency [MAX WORKERS] Hard cap: 16 concurrent threads | Applies to: feature rebuild, training, ThreadPoolExecutor [MODE] Trading mode: BOTH [MODE] Bidirectional -- longs AND shorts enabled 2026-04-27 07:03:55 [INFO] Daily DB: today=trading_data_20260427.db | history=10 older DB(s) 2026-04-27 07:03:55 [INFO] [CHECKPOINT] Resuming training from agent index 19 (crashed at Conservative) 2026-04-27 07:03:55 [INFO] ============================================================ 2026-04-27 07:03:55 [INFO] ML Trading System v8 - Alpaca + Finnhub + Sentiment Intelligence 2026-04-27 07:03:55 [INFO] CPU cores : 32 2026-04-27 07:03:55 [INFO] Base agents : 16 2026-04-27 07:03:55 [INFO] Clone agents : 16 2026-04-27 07:03:55 [INFO] Total agents : 32 2026-04-27 07:03:55 [INFO] MetaLearner : trading as 33rd agent ($1,000 capital) 2026-04-27 07:03:55 [INFO] Retrain : every 15 min during market hours + EOD 2026-04-27 07:03:55 [INFO] Data sources : Alpaca WS (all IEX bars) + Finnhub (58/min) + AV + Polygon 2026-04-27 07:03:55 [INFO] Charts : charts/ hourly accuracy PNG 2026-04-27 07:03:55 [INFO] Trade CSV : logs/TRADE_LOG.csv 2026-04-27 07:03:55 [INFO] Alpaca : keys set, WebSocket will connect on start 2026-04-27 07:03:55 [INFO] ============================================================ 2026-04-27 07:03:55 [INFO] [RAM] startup baseline | 223 MB (uncapped) 2026-04-27 07:03:55 [INFO] Loading sector info (skipping ETFs)... 2026-04-27 07:06:59 [INFO] Sectors loaded: 196 2026-04-27 07:06:59 [INFO] [RAM] after load_sectors | 226 MB (uncapped) 2026-04-27 07:06:59 [INFO] [RAM] before model load | 226 MB (uncapped) 2026-04-27 07:06:59 [INFO] [Conservative] Loaded (val=0.580 IC=0.000 train_count=1) 2026-04-27 07:06:59 [INFO] [Aggressive] Loaded (val=0.580 IC=0.000 train_count=1) 2026-04-27 07:06:59 [INFO] [Volatility] Loaded (val=0.580 IC=0.000 train_count=1) 2026-04-27 07:06:59 [INFO] [Balanced] Loaded (val=0.581 IC=0.000 train_count=1) 2026-04-27 07:06:59 [INFO] [Clone_Conservative_2] Loaded (val=0.581 IC=0.000 train_count=1) 2026-04-27 07:06:59 [INFO] [Clone_ModerateDefens_3] Loaded (val=0.580 IC=0.000 train_count=1) 2026-04-27 07:06:59 [INFO] [Clone_Moderate_4] Loaded (val=0.581 IC=0.000 train_count=1) 2026-04-27 07:06:59 [INFO] [Clone_MeanReversion_5] Loaded (val=0.580 IC=0.000 train_count=1) 2026-04-27 07:06:59 [INFO] [Clone_Momentum_6] Loaded (val=0.581 IC=0.000 train_count=1) 2026-04-27 07:06:59 [INFO] [Clone_ModerateAggr_7] Loaded (val=0.580 IC=0.000 train_count=1) 2026-04-27 07:06:59 [INFO] [Clone_Aggressive_8] Loaded (val=0.582 IC=0.000 train_count=1) 2026-04-27 07:06:59 [INFO] [Clone_HighConviction_9] Loaded (val=0.581 IC=0.000 train_count=1) 2026-04-27 07:06:59 [INFO] [Clone_Contrarian_10] Loaded (val=0.581 IC=0.000 train_count=1) 2026-04-27 07:06:59 [INFO] [Clone_UltraAggress_12] Loaded (val=0.582 IC=0.000 train_count=1) 2026-04-27 07:06:59 [INFO] [Clone_SectorRotation_13] Loaded (val=0.581 IC=0.000 train_count=1) 2026-04-27 07:06:59 [INFO] [Clone_LowFreq_14] Loaded (val=0.580 IC=0.000 train_count=1) 2026-04-27 07:06:59 [INFO] [Clone_HighFreq_15] Loaded (val=0.581 IC=0.000 train_count=1) 2026-04-27 07:06:59 [INFO] [Clone_Balanced_16] Loaded (val=0.580 IC=0.000 train_count=1) 2026-04-27 07:06:59 [INFO] [RAM] after model load (32 PKL files in memory) | 256 MB (uncapped) 2026-04-27 07:06:59 [INFO] [UltraConserv] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [Conservative] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [ModerateDefens] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [Moderate] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [MeanReversion] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [Momentum] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [ModerateAggr] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [Aggressive] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [HighConviction] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [Contrarian] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [Volatility] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [UltraAggress] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [SectorRotation] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [LowFreq] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [HighFreq] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [Balanced] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [Clone_UltraConserv_1] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [Clone_Conservative_2] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [Clone_ModerateDefens_3] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [Clone_Moderate_4] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [Clone_MeanReversion_5] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [Clone_Momentum_6] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [Clone_ModerateAggr_7] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [Clone_Aggressive_8] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [Clone_HighConviction_9] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [Clone_Contrarian_10] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [Clone_Volatility_11] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [Clone_UltraAggress_12] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [Clone_SectorRotation_13] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [Clone_LowFreq_14] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [Clone_HighFreq_15] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [Clone_Balanced_16] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] [MetaLearner] Restored: capital=$1000.00 pnl=$+0.00 2026-04-27 07:06:59 [INFO] Agent state loaded. 2026-04-27 07:06:59 [INFO] [RAM] after agent state restore | 256 MB (uncapped) 2026-04-27 07:06:59 [INFO] [RAM] before rebuild_all_features | 256 MB (uncapped) 2026-04-27 08:08:32 [INFO] [RAM] rebuild_all_features complete | ok=4947/10720 | 2,605 MB (uncapped) 2026-04-27 08:08:32 [INFO] [RAM] after rebuild_all_features (4947 symbols) | 2,605 MB (uncapped) 2026-04-27 08:08:32 [INFO] Features built for 4947 symbols from existing DB data 2026-04-27 08:08:32 [INFO] [RAM] before _retrain | 2,605 MB (uncapped) 2026-04-27 08:09:54 [INFO] [RAM] rebuild_all_features complete | ok=4947/10720 | 2,692 MB (uncapped) 2026-04-27 08:09:54 [INFO] Agent state saved -> logs/agent_state.json 2026-04-27 08:09:54 [INFO] [RAM] after _retrain | 2,692 MB (uncapped) 2026-04-27 08:09:55 [INFO] DB: 4,458,624 quotes across 10720 symbols (+10 history DB(s)) 2026-04-27 08:09:55 [INFO] [RAM] before Alpaca WS start | 2,693 MB (uncapped) 2026-04-27 08:09:55 [INFO] Alpaca WS: connecting to wss://stream.data.alpaca.markets/v2/iex 2026-04-27 08:09:55 [INFO] Alpaca WebSocket thread started. /opt/services/bots/trading_bot/Stock_Bot/StockTrading.py:2090: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC). now = datetime.utcnow() 2026-04-27 08:09:55 [INFO] Sentiment engine started — news=ON | sec=ON | reddit=OFF(no key) | congress=ON | stocktwits=ON 2026-04-27 08:09:55 [INFO] Sentiment : engine started (news + SEC + reddit + congress) 2026-04-27 08:09:55 [INFO] [RAM] after sentiment engine start | 2,693 MB (uncapped) 2026-04-27 08:09:55 [INFO] [RAM] fully initialized | 2,693 MB (uncapped) 2026-04-27 08:09:55 [INFO] Ready. 2026-04-27 08:09:55 [INFO] Main loop running. Ctrl+C to stop. 2026-04-27 08:09:55 [INFO] Finnhub fetch thread started (58 calls/min round-robin). 2026-04-27 08:09:55 [INFO] Alpaca WS: connected, authenticating... 2026-04-27 08:09:55 [INFO] Alpaca WS: connection established 2026-04-27 08:09:55 [INFO] Alpaca WS: authenticated — subscribing to all bars (*) 2026-04-27 08:09:55 [INFO] Alpaca WS: subscribed — bars=1 (wildcard active) 2026-04-27 08:09:59 [INFO] Backup complete -> backup/ (20260427_080955 CST)