Logs · STOCK_SCORER
CT
stock_scorer.log last 150 lines Refresh
2026-08-06 13:47:35,905 | 44319 | 8469323136 | [open_context_base.py:410] _init_connect_sync: New connect ready: conn=7491203339247384748(5) context=<futu.quote.open_quote_context.OpenQuoteContext object at 0x111390a50> 2026-08-06 13:47:35,954 | 44319 | 6134247424 | [open_context_base.py:520] on_disconnect: Disconnected: conn=0(5) reason=CallClose 2026-08-06 13:47:36,136 | 44319 | 8469323136 | [open_context_base.py:410] _init_connect_sync: New connect ready: conn=7491203340219411169(6) context=<futu.trade.open_trade_context.OpenSecTradeContext object at 0x1166bec50> 2026-08-06 13:47:36,146 | 44319 | 6134247424 | [open_context_base.py:520] on_disconnect: Disconnected: conn=0(6) reason=CallClose 2026-08-06 13:47:36,147 | 44319 | 8469323136 | [open_context_base.py:410] _init_connect_sync: New connect ready: conn=7491203340263850522(7) context=<futu.trade.open_trade_context.OpenSecTradeContext object at 0x11a4ae790> 2026-08-06 13:47:36,252 [INFO] Moomoo: net_equity=$46,979.19 2026-08-06 13:47:36,253 | 44319 | 6134247424 | [open_context_base.py:520] on_disconnect: Disconnected: conn=0(7) reason=CallClose 2026-08-06 13:47:36,254 | 44319 | 8469323136 | [open_context_base.py:410] _init_connect_sync: New connect ready: conn=7491203340711546770(8) context=<futu.trade.open_trade_context.OpenSecTradeContext object at 0x116677a90> 2026-08-06 13:47:36,257 | 44319 | 6134247424 | [open_context_base.py:520] on_disconnect: Disconnected: conn=0(8) reason=CallClose 2026-08-06 13:47:36,258 | 44319 | 8469323136 | [open_context_base.py:410] _init_connect_sync: New connect ready: conn=7491203340734488115(9) context=<futu.trade.open_trade_context.OpenSecTradeContext object at 0x1162ee3d0> 2026-08-06 13:47:36,265 | 44319 | 6134247424 | [open_context_base.py:520] on_disconnect: Disconnected: conn=0(9) reason=CallClose 2026-08-06 13:47:36,279 [INFO] submit_signals: DELL BUY skipped — already queued today (2026-08-06) 2026-08-06 13:47:36,280 [INFO] submit_signals: TER BUY skipped — already queued today (2026-08-06) 2026-08-06 13:47:36,286 [INFO] submit_signals: 1 orders placed, 2 skipped (equity=$46,979) 2026-08-06 13:47:36,286 [INFO] Trade engine: 2 BUY + 1 SELL + 0 TRIM signals submitted 2026-08-06 13:47:38,375 [INFO] Saved: /Users/mvr113/QuantOS/reports/portfolio_20260806_1347.csv + report_20260806_1347.html 2026-08-06 13:47:38,420 [INFO] Wrote 237 latest_score rows to central_db (top 30 in last_scores legacy file) 2026-08-06 13:47:38,423 [INFO] Wrote last_scores.json (legacy fallback, top 30 tickers) 2026-08-06 13:47:38,426 [INFO] Wrote regime_history row to central_db (regime=BUY, session=regular) 2026-08-06 13:47:38,427 [INFO] Wrote regime_log.json (legacy fallback, regime=BUY) 2026-08-06 13:47:38,427 [INFO] Pipeline complete. [2026-08-06T14:45:30.493184] --- RUNNING /Users/mvr113/QuantOS/.venv/bin/python3 /Users/mvr113/QuantOS/engines/stock_scorer/brain.py --- --- Starting QuantOS Stock Scorer Brain --- ⚠️ Warning: Redis is not running natively. Falling back to in-memory dict for cache. 2026-08-06 14:45:34,932 [INFO] ============================================================ ALPHA SCORER v5.0 — MANUAL — 2026-08-06 14:45:34 CT ============================================================ 2026-08-06 14:45:34,933 [INFO] Market session: regular — Regular session (15:45 ET) 2026-08-06 14:45:34,937 [INFO] No live holdings found at broker — starting with empty portfolio. 2026-08-06 14:45:34,938 [INFO] Loading universe of stocks from shared_cache/universe.json... 2026-08-06 14:45:34,938 [INFO] ✓ Loaded 507 tickers from /Users/mvr113/QuantOS/engines/shared_cache/universe.json 2026-08-06 14:45:34,939 [INFO] Fetching 1y prices via data_provider for 501 tickers... [data_provider] DuckDB missing data for AIZ (has 0, needs 260). Falling back to Public... 2026-08-06 14:45:35,201 [INFO] [data_provider] DuckDB missing data for AIZ (has 0, needs 260). Falling back to Public... [data_provider] DuckDB missing data for ERIE (has 0, needs 260). Falling back to Public... 2026-08-06 14:45:39,547 [INFO] [data_provider] DuckDB missing data for ERIE (has 0, needs 260). Falling back to Public... [data_provider] DuckDB missing data for EVRG (has 0, needs 260). Falling back to Public... 2026-08-06 14:45:41,262 [INFO] [data_provider] DuckDB missing data for EVRG (has 0, needs 260). Falling back to Public... [data_provider] DuckDB missing data for FDXF (has 0, needs 260). Falling back to Public... 2026-08-06 14:45:43,150 [INFO] [data_provider] DuckDB missing data for FDXF (has 0, needs 260). Falling back to Public... [data_provider] DuckDB missing data for NDSN (has 0, needs 260). Falling back to Public... 2026-08-06 14:45:46,467 [INFO] [data_provider] DuckDB missing data for NDSN (has 0, needs 260). Falling back to Public... 2026-08-06 14:45:50,941 | 22434 | 8487869824 | [open_context_base.py:410] _init_connect_sync: New connect ready: conn=7491217998497174259(1) context=<futu.quote.open_quote_context.OpenQuoteContext object at 0x10fc96e90> 2026-08-06 14:45:50,963 | 22434 | 6210744320 | [open_context_base.py:520] on_disconnect: Disconnected: conn=0(1) reason=CallClose Webull snapshots: 451 quotes fetched 2026-08-06 14:46:12,242 [INFO] Webull snapshots: 451 quotes fetched 2026-08-06 14:46:20,583 [INFO] data_provider: 500/501 clean 2026-08-06 14:46:20,587 [INFO] Fetching live quotes... 2026-08-06 14:46:20,590 | 22434 | 8487869824 | [open_context_base.py:410] _init_connect_sync: New connect ready: conn=7491218122848604739(2) context=<futu.quote.open_quote_context.OpenQuoteContext object at 0x110ebb790> 2026-08-06 14:46:20,715 [INFO] broker live quotes: 500/500 [moomoo:49 | webull:451] 2026-08-06 14:46:20,723 | 22434 | 6210744320 | [open_context_base.py:520] on_disconnect: Disconnected: conn=0(2) reason=CallClose 2026-08-06 14:46:20,836 [INFO] Injected 500 live prices into historical data (real-time screens) 2026-08-06 14:46:20,836 [INFO] Fetching fundamentals (live, no local cache)... 2026-08-06 14:46:20,836 [INFO] Fetching fundamentals for 500 tickers (10 workers)... 2026-08-06 14:46:24,726 [INFO] Fundamentals: 50/500 2026-08-06 14:46:27,043 [INFO] Fundamentals: 100/500 2026-08-06 14:46:29,472 [INFO] Fundamentals: 150/500 2026-08-06 14:46:32,034 [INFO] Fundamentals: 200/500 2026-08-06 14:46:34,467 [INFO] Fundamentals: 250/500 2026-08-06 14:46:36,939 [INFO] Fundamentals: 300/500 2026-08-06 14:46:39,254 [INFO] Fundamentals: 350/500 2026-08-06 14:46:41,975 [INFO] Fundamentals: 400/500 2026-08-06 14:46:44,389 [INFO] Fundamentals: 450/500 2026-08-06 14:46:46,952 [INFO] Fundamentals: 500/500 2026-08-06 14:46:46,989 [INFO] 📅 Earnings guard: ABNB reports ~Aug 06 2026-08-06 14:46:46,989 [INFO] 📅 Earnings guard: AFL reports ~Aug 06 2026-08-06 14:46:46,990 [INFO] 📅 Earnings guard: AIG reports ~Aug 06 2026-08-06 14:46:46,990 [INFO] 📅 Earnings guard: AKAM reports ~Aug 06 2026-08-06 14:46:46,992 [INFO] 📅 Earnings guard: ED reports ~Aug 06 2026-08-06 14:46:46,993 [INFO] 📅 Earnings guard: GEN reports ~Aug 06 2026-08-06 14:46:46,995 [INFO] 📅 Earnings guard: MCHP reports ~Aug 06 2026-08-06 14:46:46,995 [INFO] 📅 Earnings guard: MNST reports ~Aug 06 2026-08-06 14:46:46,996 [INFO] 📅 Earnings guard: PPL reports ~Aug 07 2026-08-06 14:46:46,997 [INFO] 📅 Earnings guard: RMD reports ~Aug 06 2026-08-06 14:46:46,997 [INFO] 📅 Earnings guard: RSG reports ~Aug 06 2026-08-06 14:46:46,998 [INFO] 📅 Earnings guard: TTD reports ~Aug 06 2026-08-06 14:46:46,998 [INFO] 📅 Earnings guard: TTWO reports ~Aug 07 2026-08-06 14:46:46,998 [INFO] 📅 Earnings guard: VST reports ~Aug 07 2026-08-06 14:46:46,999 [INFO] Earnings guard: 14 tickers excluded (reporting within 2 days) 2026-08-06 14:46:47,000 [INFO] Applying pre-screens... 2026-08-06 14:46:57,379 [INFO] Screens: 234 passed | 266 filtered | 5 trim candidates 2026-08-06 14:46:57,379 [INFO] - RSI oversold: 81 2026-08-06 14:46:57,379 [INFO] - price below 50 EMA: 65 2026-08-06 14:46:57,379 [INFO] - price below 200 EMA: 38 2026-08-06 14:46:57,379 [INFO] - low current ratio: 34 2026-08-06 14:46:57,379 [INFO] - excessive D/E: 33 2026-08-06 14:46:57,381 [INFO] Universe after screening: 234 stocks 2026-08-06 14:46:57,381 [INFO] Checking market regime... 2026-08-06 14:46:57,398 | 22434 | 8487869824 | [open_context_base.py:410] _init_connect_sync: New connect ready: conn=7491218277231072219(3) context=<futu.quote.open_quote_context.OpenQuoteContext object at 0x111522f50> 2026-08-06 14:46:57,449 [INFO] get_regime: SPY via data_provider OK 2026-08-06 14:46:57,449 | 22434 | 6210744320 | [open_context_base.py:520] on_disconnect: Disconnected: conn=0(3) reason=CallClose 2026-08-06 14:46:58,448 [INFO] get_regime: VIX long history via data_provider OK 2026-08-06 14:46:58,470 [INFO] Regime: BUY | SPY $768.1 vs EMA20 $752.77 | VIX 15.33 (EMA50=17.4, RSI=43, spike=-3.0%) | Margin: 2.00× (alpha window) 2026-08-06 14:47:00,271 | 22434 | 8487869824 | [open_context_base.py:410] _init_connect_sync: New connect ready: conn=7491218289280220340(4) context=<futu.quote.open_quote_context.OpenQuoteContext object at 0x11160ff50> 2026-08-06 14:47:00,273 | 22434 | 6210744320 | [open_context_base.py:520] on_disconnect: Disconnected: conn=0(4) reason=CallClose 2026-08-06 14:47:01,104 | 22434 | 8487869824 | [open_context_base.py:410] _init_connect_sync: New connect ready: conn=7491218292776170799(5) context=<futu.quote.open_quote_context.OpenQuoteContext object at 0x10fcb5e90> 2026-08-06 14:47:01,166 | 22434 | 6210744320 | [open_context_base.py:520] on_disconnect: Disconnected: conn=0(5) reason=CallClose 2026-08-06 14:47:01,180 [INFO] Pulse: BULL [NORMAL] (score=+14.52) VIX=15.3 RSI=43 | SPY > SMA20 > SMA50 | IWM > SMA20 | Breadth=86% | CHOP=37.9 HV20=14.3% | HYG_ext=0.4% VIX3M=0.82 TLT < SMA20 UUP < SMA10 | bre_div=-16.0% | 10Y-3M=0.94% | DD=-0.4% mom20=2.2% vel5=3.6% | reversal=False 2026-08-06 14:47:01,208 [INFO] MarketPulse BULL → agg_mult=1.50, stop_tighten=0.60 2026-08-06 14:47:01,409 [INFO] Fetching real alpha signals for 234 tickers (live, no local cache)... 2026-08-06 14:47:04,925 [INFO] Alpha signals: 20/234 2026-08-06 14:47:06,101 [INFO] Alpha signals: 40/234 2026-08-06 14:47:07,913 [INFO] Alpha signals: 60/234 2026-08-06 14:47:09,167 [INFO] Alpha signals: 80/234 2026-08-06 14:47:09,880 [INFO] Alpha signals: 100/234 2026-08-06 14:47:10,462 [INFO] Alpha signals: 120/234 2026-08-06 14:47:11,125 [INFO] Alpha signals: 140/234 2026-08-06 14:47:12,069 [INFO] Alpha signals: 160/234 2026-08-06 14:47:12,623 [INFO] Alpha signals: 180/234 2026-08-06 14:47:13,312 [INFO] Alpha signals: 200/234 2026-08-06 14:47:14,279 [INFO] Alpha signals: 220/234 2026-08-06 14:47:29,063 [INFO] Alpha done. Avg total: 18.8pts | Cluster buys: 0 2026-08-06 14:47:29,063 [INFO] Building composite scores... 2026-08-06 14:47:29,341 [INFO] Scores: 28.5–134.5 | Avg alpha: 18.8pts | Regime weights: BUY 2026-08-06 14:47:29,382 | 22434 | 8487869824 | [open_context_base.py:410] _init_connect_sync: New connect ready: conn=7491218411383915761(6) context=<futu.quote.open_quote_context.OpenQuoteContext object at 0x110959d10> 2026-08-06 14:47:29,399 | 22434 | 6210744320 | [open_context_base.py:520] on_disconnect: Disconnected: conn=0(6) reason=CallClose Webull snapshots: 294 quotes fetched 2026-08-06 14:47:42,700 [INFO] Webull snapshots: 294 quotes fetched 2026-08-06 14:47:42,708 [INFO] Industry pulse gate: blocking new entries ['ABT', 'CDW', 'IP', 'JKHY', 'MPC', 'PKG', 'PSX', 'STE', 'VLO'] (industries: ['Information Technology Services', 'Medical Devices', 'Oil & Gas Refining & Marketing', 'Packaging & Containers']) 2026-08-06 14:47:42,716 [INFO] Industry cap removed 7: ['FTNT (sector cap: Technology)', 'HPE (sector cap: Technology)', 'LITE (sector cap: Technology)', 'COHR (sector cap: Technology)', 'ANET (sector cap: Technology)', 'NTAP (sector cap: Technology)', 'NVDA (sector cap: Technology)'] 2026-08-06 14:47:42,739 [INFO] Portfolio: 23 positions | Sells: 0 | Trim alerts: 5 | Stop-losses: 0 2026-08-06 14:47:43,075 | 22434 | 8487869824 | [open_context_base.py:410] _init_connect_sync: New connect ready: conn=7491218468816363754(7) context=<futu.quote.open_quote_context.OpenQuoteContext object at 0x11172a290> 2026-08-06 14:47:43,130 | 22434 | 6210744320 | [open_context_base.py:520] on_disconnect: Disconnected: conn=0(7) reason=CallClose 2026-08-06 14:47:43,305 | 22434 | 8487869824 | [open_context_base.py:410] _init_connect_sync: New connect ready: conn=7491218469783909677(8) context=<futu.trade.open_trade_context.OpenSecTradeContext object at 0x114ece310> 2026-08-06 14:47:43,309 | 22434 | 6210744320 | [open_context_base.py:520] on_disconnect: Disconnected: conn=0(8) reason=CallClose 2026-08-06 14:47:43,310 | 22434 | 8487869824 | [open_context_base.py:410] _init_connect_sync: New connect ready: conn=7491218469803150279(9) context=<futu.trade.open_trade_context.OpenSecTradeContext object at 0x1116b71d0> 2026-08-06 14:47:43,414 [INFO] Moomoo: net_equity=$47,175.18 2026-08-06 14:47:43,414 | 22434 | 6210744320 | [open_context_base.py:520] on_disconnect: Disconnected: conn=0(9) reason=CallClose 2026-08-06 14:47:43,415 | 22434 | 8487869824 | [open_context_base.py:410] _init_connect_sync: New connect ready: conn=7491218470242706170(10) context=<futu.trade.open_trade_context.OpenSecTradeContext object at 0x115d235d0> 2026-08-06 14:47:43,418 | 22434 | 6210744320 | [open_context_base.py:520] on_disconnect: Disconnected: conn=0(10) reason=CallClose 2026-08-06 14:47:43,419 | 22434 | 8487869824 | [open_context_base.py:410] _init_connect_sync: New connect ready: conn=7491218470264157737(11) context=<futu.trade.open_trade_context.OpenSecTradeContext object at 0x111759cd0> 2026-08-06 14:47:43,427 | 22434 | 6210744320 | [open_context_base.py:520] on_disconnect: Disconnected: conn=0(11) reason=CallClose 2026-08-06 14:47:43,442 [INFO] submit_signals: TER BUY skipped — already queued today (2026-08-06) 2026-08-06 14:47:43,443 [INFO] submit_signals: STX BUY skipped — already queued today (2026-08-06) 2026-08-06 14:47:43,444 [INFO] submit_signals: DELL BUY skipped — already queued today (2026-08-06) 2026-08-06 14:47:43,445 [INFO] submit_signals: AVGO BUY skipped — already queued today (2026-08-06) 2026-08-06 14:47:43,445 [INFO] submit_signals: 0 orders placed, 4 skipped (equity=$47,175) 2026-08-06 14:47:43,445 [INFO] Trade engine: 4 BUY + 0 SELL + 0 TRIM signals submitted 2026-08-06 14:47:44,283 | 22434 | 8487869824 | [open_context_base.py:410] _init_connect_sync: New connect ready: conn=7491218473884247436(12) context=<futu.quote.open_quote_context.OpenQuoteContext object at 0x115d22090> 2026-08-06 14:47:44,335 | 22434 | 6210744320 | [open_context_base.py:520] on_disconnect: Disconnected: conn=0(12) reason=CallClose 2026-08-06 14:47:45,551 [INFO] Saved: /Users/mvr113/QuantOS/reports/portfolio_20260806_1447.csv + report_20260806_1447.html 2026-08-06 14:47:45,588 [INFO] Wrote 234 latest_score rows to central_db (top 30 in last_scores legacy file) 2026-08-06 14:47:45,592 [INFO] Wrote last_scores.json (legacy fallback, top 30 tickers) 2026-08-06 14:47:45,593 [INFO] Wrote regime_history row to central_db (regime=BUY, session=regular) 2026-08-06 14:47:45,594 [INFO] Wrote regime_log.json (legacy fallback, regime=BUY) 2026-08-06 14:47:45,594 [INFO] Pipeline complete.