scheduler
daemon
watchdog
alpha_rank
atlas
dual_momentum
dynamo
levetf
megahold
qbeater
retirement401k
sector_etf
sector_pulse
stock_scorer
trendrunner
qbeater.log
last 150 lines
Refresh
QBeater run complete — 2026-08-03 09:15 CT
2026-08-03 09:16:50,665 INFO [qbeater.run]
QBeater run complete — 2026-08-03 09:15 CT
[2026-08-04T09:15:00.236517] --- RUNNING /Users/mvr113/QuantOS/.venv/bin/python3 /Users/mvr113/QuantOS/engines/qbeater/brain.py --dry-run ---
--- Starting QuantOS QBeater Brain ---
2026-08-04 09:15:01,400 INFO [qbeater.run]
============================================================
2026-08-04 09:15:01,400 INFO [qbeater.run]
============================================================
2026-08-04 09:15:01,400 INFO [qbeater.run] QBeater run — 2026-08-04 09:15 CT
2026-08-04 09:15:01,400 INFO [qbeater.run] QBeater run — 2026-08-04 09:15 CT
2026-08-04 09:15:01,402 INFO [qbeater.run] Market Pulse: BULL [NORMAL] (score=+14.29) long_mult=1.00 aggressive_mult=1.00 stop_tighten=1.00 reversal=False
2026-08-04 09:15:01,402 INFO [qbeater.run] Market Pulse: BULL [NORMAL] (score=+14.29) long_mult=1.00 aggressive_mult=1.00 stop_tighten=1.00 reversal=False
2026-08-04 09:15:01,409 INFO [qbeater.run] Running signals (Layer 1 + Layer 2)...
2026-08-04 09:15:01,409 INFO [qbeater.run] Running signals (Layer 1 + Layer 2)...
2026-08-04 09:15:01,409 INFO [qbeater.signals] Using cached Nasdaq-100 scan for week of 2026-08-03 (28 candidates)
2026-08-04 09:15:01,409 INFO [qbeater.signals] Using cached Nasdaq-100 scan for week of 2026-08-03 (28 candidates)
[data_provider] DuckDB missing data for SPCX (has 35, needs 130). Falling back to Public...
2026-08-04 09:15:03,303 INFO [quantos_data_hub] [data_provider] DuckDB missing data for SPCX (has 35, needs 130). Falling back to Public...
2026-08-04 09:15:03,303 INFO [quantos_data_hub] [data_provider] DuckDB missing data for SPCX (has 35, needs 130). Falling back to Public...
2026-08-04 09:15:11,024 | 9163 | 8469323136 | [open_context_base.py:410] _init_connect_sync: New connect ready: conn=7490410008119178556(1) context=<futu.quote.open_quote_context.OpenQuoteContext object at 0x114a67490>
2026-08-04 09:15:11,137 | 9163 | 6131298304 | [open_context_base.py:520] on_disconnect: Disconnected: conn=0(1) reason=CallClose
Webull snapshots: 453 quotes fetched
2026-08-04 09:15:32,528 INFO [quantos_data_hub] Webull snapshots: 453 quotes fetched
2026-08-04 09:15:32,528 INFO [quantos_data_hub] Webull snapshots: 453 quotes fetched
2026-08-04 09:15:32,623 INFO [qbeater.signals] Nasdaq-100 scan: 28 candidates (capped at 15 by allocator) | Top: AMZN
2026-08-04 09:15:32,623 INFO [qbeater.signals] Nasdaq-100 scan: 28 candidates (capped at 15 by allocator) | Top: AMZN
2026-08-04 09:15:32,624 INFO [qbeater.run] Regime: SCAN | VIX=16.0 | Spike=False | Top: AMZN
2026-08-04 09:15:32,624 INFO [qbeater.run] Regime: SCAN | VIX=16.0 | Spike=False | Top: AMZN
2026-08-04 09:15:32,626 INFO [qbeater.run] Paper portfolio: mid-week, holding 15 positions
2026-08-04 09:15:32,626 INFO [qbeater.run] Paper portfolio: mid-week, holding 15 positions
2026-08-04 09:15:32,628 INFO [qbeater.run] Paper portfolio: equity=$98423.35 | Daily 0.75% | Weekly 0.75% | since inception (2026-07-29) -1.58%
2026-08-04 09:15:32,628 INFO [qbeater.run] Paper portfolio: equity=$98423.35 | Daily 0.75% | Weekly 0.75% | since inception (2026-07-29) -1.58%
2026-08-04 09:15:32,629 INFO [qbeater.run] Account webull_rollover_ira disabled — skipping
2026-08-04 09:15:32,629 INFO [qbeater.run] Account webull_rollover_ira disabled — skipping
2026-08-04 09:15:32,629 INFO [qbeater.run] Account tos_roth_ira disabled — skipping
2026-08-04 09:15:32,629 INFO [qbeater.run] Account tos_roth_ira disabled — skipping
2026-08-04 09:15:32,629 INFO [qbeater.run] Account schwab_humana disabled — skipping
2026-08-04 09:15:32,629 INFO [qbeater.run] Account schwab_humana disabled — skipping
2026-08-04 09:15:32,630 INFO [qbeater.report] Report saved: /Users/mvr113/QuantOS/reports/qbeater_2026-08-04_09-15_CT.html
2026-08-04 09:15:32,630 INFO [qbeater.report] Report saved: /Users/mvr113/QuantOS/reports/qbeater_2026-08-04_09-15_CT.html
2026-08-04 09:15:32,630 INFO [qbeater.run] Report: /Users/mvr113/QuantOS/reports/qbeater_2026-08-04_09-15_CT.html
2026-08-04 09:15:32,630 INFO [qbeater.run] Report: /Users/mvr113/QuantOS/reports/qbeater_2026-08-04_09-15_CT.html
2026-08-04 09:15:32,630 INFO [qbeater.report] Email disabled (EMAIL_ENABLED=0)
2026-08-04 09:15:32,630 INFO [qbeater.report] Email disabled (EMAIL_ENABLED=0)
2026-08-04 09:15:32,630 INFO [qbeater.run]
QBeater run complete — 2026-08-04 09:15 CT
2026-08-04 09:15:32,630 INFO [qbeater.run]
QBeater run complete — 2026-08-04 09:15 CT
[2026-08-05T09:15:00.096875] --- RUNNING /Users/mvr113/QuantOS/.venv/bin/python3 /Users/mvr113/QuantOS/engines/qbeater/brain.py --dry-run ---
--- Starting QuantOS QBeater Brain ---
2026-08-05 09:15:01,113 INFO [qbeater.run]
============================================================
2026-08-05 09:15:01,113 INFO [qbeater.run]
============================================================
2026-08-05 09:15:01,113 INFO [qbeater.run] QBeater run — 2026-08-05 09:15 CT
2026-08-05 09:15:01,113 INFO [qbeater.run] QBeater run — 2026-08-05 09:15 CT
2026-08-05 09:15:03,628 | 521 | 8469323136 | [open_context_base.py:410] _init_connect_sync: New connect ready: conn=7490772364961835234(1) context=<futu.quote.open_quote_context.OpenQuoteContext object at 0x112195150>
2026-08-05 09:15:03,631 | 521 | 6174388224 | [open_context_base.py:520] on_disconnect: Disconnected: conn=0(1) reason=CallClose
2026-08-05 09:15:05,117 INFO [market_pulse] Pulse: BULL [NORMAL] (score=+14.43) VIX=17.1 RSI=49 | SPY > SMA20 > SMA50 | IWM > SMA20 | Breadth=86% | CHOP=38.9 HV20=14.5% | HYG_ext=0.5% VIX3M=0.88 TLT < SMA20 UUP < SMA10 | bre_div=-12.0% | 10Y-3M=0.90% | DD=0.0% mom20=4.2% vel5=6.4% | reversal=False
2026-08-05 09:15:05,117 INFO [market_pulse] Pulse: BULL [NORMAL] (score=+14.43) VIX=17.1 RSI=49 | SPY > SMA20 > SMA50 | IWM > SMA20 | Breadth=86% | CHOP=38.9 HV20=14.5% | HYG_ext=0.5% VIX3M=0.88 TLT < SMA20 UUP < SMA10 | bre_div=-12.0% | 10Y-3M=0.90% | DD=0.0% mom20=4.2% vel5=6.4% | reversal=False
2026-08-05 09:15:05,157 INFO [qbeater.run] Market Pulse: BULL [NORMAL] (score=+14.43) long_mult=1.00 aggressive_mult=1.00 stop_tighten=1.00 reversal=False
2026-08-05 09:15:05,157 INFO [qbeater.run] Market Pulse: BULL [NORMAL] (score=+14.43) long_mult=1.00 aggressive_mult=1.00 stop_tighten=1.00 reversal=False
2026-08-05 09:15:05,164 INFO [qbeater.run] Running signals (Layer 1 + Layer 2)...
2026-08-05 09:15:05,164 INFO [qbeater.run] Running signals (Layer 1 + Layer 2)...
2026-08-05 09:15:05,164 INFO [qbeater.signals] Using cached Nasdaq-100 scan for week of 2026-08-03 (28 candidates)
2026-08-05 09:15:05,164 INFO [qbeater.signals] Using cached Nasdaq-100 scan for week of 2026-08-03 (28 candidates)
2026-08-05 09:15:13,425 | 521 | 8469323136 | [open_context_base.py:410] _init_connect_sync: New connect ready: conn=7490772406019618190(2) context=<futu.quote.open_quote_context.OpenQuoteContext object at 0x112b2ba50>
2026-08-05 09:15:13,500 | 521 | 6174388224 | [open_context_base.py:520] on_disconnect: Disconnected: conn=0(2) reason=CallClose
Webull snapshots: 403 quotes fetched
2026-08-05 09:15:35,029 INFO [quantos_data_hub] Webull snapshots: 403 quotes fetched
2026-08-05 09:15:35,029 INFO [quantos_data_hub] Webull snapshots: 403 quotes fetched
2026-08-05 09:15:35,107 INFO [qbeater.signals] Nasdaq-100 scan: 28 candidates (capped at 15 by allocator) | Top: AMZN
2026-08-05 09:15:35,107 INFO [qbeater.signals] Nasdaq-100 scan: 28 candidates (capped at 15 by allocator) | Top: AMZN
2026-08-05 09:15:35,108 INFO [qbeater.run] Regime: SCAN | VIX=17.1 | Spike=False | Top: AMZN
2026-08-05 09:15:35,108 INFO [qbeater.run] Regime: SCAN | VIX=17.1 | Spike=False | Top: AMZN
2026-08-05 09:15:35,112 | 521 | 8469323136 | [open_context_base.py:410] _init_connect_sync: New connect ready: conn=7490772497010667519(3) context=<futu.quote.open_quote_context.OpenQuoteContext object at 0x112aa7d10>
2026-08-05 09:15:35,167 | 521 | 6174388224 | [open_context_base.py:520] on_disconnect: Disconnected: conn=0(3) reason=CallClose
2026-08-05 09:15:35,168 INFO [qbeater.run] Paper portfolio: mid-week, holding 15 positions
2026-08-05 09:15:35,168 INFO [qbeater.run] Paper portfolio: mid-week, holding 15 positions
2026-08-05 09:15:35,170 INFO [qbeater.run] Paper portfolio: equity=$99646.18 | Daily 1.24% | Weekly 2.0% | since inception (2026-07-29) -0.35%
2026-08-05 09:15:35,170 INFO [qbeater.run] Paper portfolio: equity=$99646.18 | Daily 1.24% | Weekly 2.0% | since inception (2026-07-29) -0.35%
2026-08-05 09:15:35,171 INFO [qbeater.run] Account webull_rollover_ira disabled — skipping
2026-08-05 09:15:35,171 INFO [qbeater.run] Account webull_rollover_ira disabled — skipping
2026-08-05 09:15:35,171 INFO [qbeater.run] Account tos_roth_ira disabled — skipping
2026-08-05 09:15:35,171 INFO [qbeater.run] Account tos_roth_ira disabled — skipping
2026-08-05 09:15:35,171 INFO [qbeater.run] Account schwab_humana disabled — skipping
2026-08-05 09:15:35,171 INFO [qbeater.run] Account schwab_humana disabled — skipping
2026-08-05 09:15:35,172 INFO [qbeater.report] Report saved: /Users/mvr113/QuantOS/reports/qbeater_2026-08-05_09-15_CT.html
2026-08-05 09:15:35,172 INFO [qbeater.report] Report saved: /Users/mvr113/QuantOS/reports/qbeater_2026-08-05_09-15_CT.html
2026-08-05 09:15:35,172 INFO [qbeater.run] Report: /Users/mvr113/QuantOS/reports/qbeater_2026-08-05_09-15_CT.html
2026-08-05 09:15:35,172 INFO [qbeater.run] Report: /Users/mvr113/QuantOS/reports/qbeater_2026-08-05_09-15_CT.html
2026-08-05 09:15:35,172 INFO [qbeater.report] Email disabled (EMAIL_ENABLED=0)
2026-08-05 09:15:35,172 INFO [qbeater.report] Email disabled (EMAIL_ENABLED=0)
2026-08-05 09:15:35,172 INFO [qbeater.run]
QBeater run complete — 2026-08-05 09:15 CT
2026-08-05 09:15:35,172 INFO [qbeater.run]
QBeater run complete — 2026-08-05 09:15 CT
[2026-08-06T09:15:00.175056] --- RUNNING /Users/mvr113/QuantOS/.venv/bin/python3 /Users/mvr113/QuantOS/engines/qbeater/brain.py --dry-run ---
--- Starting QuantOS QBeater Brain ---
2026-08-06 09:15:01,108 INFO [qbeater.run]
============================================================
2026-08-06 09:15:01,108 INFO [qbeater.run]
============================================================
2026-08-06 09:15:01,109 INFO [qbeater.run] QBeater run — 2026-08-06 09:15 CT
2026-08-06 09:15:01,109 INFO [qbeater.run] QBeater run — 2026-08-06 09:15 CT
2026-08-06 09:15:03,539 | 17202 | 8469323136 | [open_context_base.py:410] _init_connect_sync: New connect ready: conn=7491134752454404615(1) context=<futu.quote.open_quote_context.OpenQuoteContext object at 0x111e8b990>
2026-08-06 09:15:03,542 | 17202 | 6177796096 | [open_context_base.py:520] on_disconnect: Disconnected: conn=0(1) reason=CallClose
2026-08-06 09:15:04,860 INFO [market_pulse] Pulse: BULL [NORMAL] (score=+14.54) VIX=15.9 RSI=45 | SPY > SMA20 > SMA50 | IWM > SMA20 | Breadth=86% | CHOP=39.5 HV20=14.5% | HYG_ext=0.5% VIX3M=0.77 TLT < SMA20 UUP < SMA10 | bre_div=-24.0% | 10Y-3M=0.89% | DD=0.0% mom20=3.5% vel5=5.8% | reversal=False
2026-08-06 09:15:04,860 INFO [market_pulse] Pulse: BULL [NORMAL] (score=+14.54) VIX=15.9 RSI=45 | SPY > SMA20 > SMA50 | IWM > SMA20 | Breadth=86% | CHOP=39.5 HV20=14.5% | HYG_ext=0.5% VIX3M=0.77 TLT < SMA20 UUP < SMA10 | bre_div=-24.0% | 10Y-3M=0.89% | DD=0.0% mom20=3.5% vel5=5.8% | reversal=False
2026-08-06 09:15:04,896 INFO [qbeater.run] Market Pulse: BULL [NORMAL] (score=+14.54) long_mult=1.00 aggressive_mult=1.00 stop_tighten=1.00 reversal=False
2026-08-06 09:15:04,896 INFO [qbeater.run] Market Pulse: BULL [NORMAL] (score=+14.54) long_mult=1.00 aggressive_mult=1.00 stop_tighten=1.00 reversal=False
2026-08-06 09:15:04,904 INFO [qbeater.run] Running signals (Layer 1 + Layer 2)...
2026-08-06 09:15:04,904 INFO [qbeater.run] Running signals (Layer 1 + Layer 2)...
2026-08-06 09:15:04,904 INFO [qbeater.signals] Using cached Nasdaq-100 scan for week of 2026-08-03 (28 candidates)
2026-08-06 09:15:04,904 INFO [qbeater.signals] Using cached Nasdaq-100 scan for week of 2026-08-03 (28 candidates)
2026-08-06 09:15:12,653 | 17202 | 8469323136 | [open_context_base.py:410] _init_connect_sync: New connect ready: conn=7491134790681390210(2) context=<futu.quote.open_quote_context.OpenQuoteContext object at 0x1127f7090>
2026-08-06 09:15:12,727 | 17202 | 6177796096 | [open_context_base.py:520] on_disconnect: Disconnected: conn=0(2) reason=CallClose
Webull snapshots: 403 quotes fetched
2026-08-06 09:15:34,130 INFO [quantos_data_hub] Webull snapshots: 403 quotes fetched
2026-08-06 09:15:34,130 INFO [quantos_data_hub] Webull snapshots: 403 quotes fetched
2026-08-06 09:15:34,204 INFO [qbeater.signals] Nasdaq-100 scan: 28 candidates (capped at 15 by allocator) | Top: AMZN
2026-08-06 09:15:34,204 INFO [qbeater.signals] Nasdaq-100 scan: 28 candidates (capped at 15 by allocator) | Top: AMZN
2026-08-06 09:15:34,205 INFO [qbeater.run] Regime: SCAN | VIX=15.8 | Spike=False | Top: AMZN
2026-08-06 09:15:34,205 INFO [qbeater.run] Regime: SCAN | VIX=15.8 | Spike=False | Top: AMZN
2026-08-06 09:15:34,209 | 17202 | 8469323136 | [open_context_base.py:410] _init_connect_sync: New connect ready: conn=7491134881089345183(3) context=<futu.quote.open_quote_context.OpenQuoteContext object at 0x11275b710>
2026-08-06 09:15:34,295 | 17202 | 6177796096 | [open_context_base.py:520] on_disconnect: Disconnected: conn=0(3) reason=CallClose
2026-08-06 09:15:34,297 INFO [qbeater.run] Paper portfolio: mid-week, holding 15 positions
2026-08-06 09:15:34,297 INFO [qbeater.run] Paper portfolio: mid-week, holding 15 positions
2026-08-06 09:15:34,298 INFO [qbeater.run] Paper portfolio: equity=$97420.32 | Daily -2.23% | Weekly -0.28% | since inception (2026-07-29) -2.58%
2026-08-06 09:15:34,298 INFO [qbeater.run] Paper portfolio: equity=$97420.32 | Daily -2.23% | Weekly -0.28% | since inception (2026-07-29) -2.58%
2026-08-06 09:15:34,299 INFO [qbeater.run] Account webull_rollover_ira disabled — skipping
2026-08-06 09:15:34,299 INFO [qbeater.run] Account webull_rollover_ira disabled — skipping
2026-08-06 09:15:34,299 INFO [qbeater.run] Account tos_roth_ira disabled — skipping
2026-08-06 09:15:34,299 INFO [qbeater.run] Account tos_roth_ira disabled — skipping
2026-08-06 09:15:34,299 INFO [qbeater.run] Account schwab_humana disabled — skipping
2026-08-06 09:15:34,299 INFO [qbeater.run] Account schwab_humana disabled — skipping
2026-08-06 09:15:34,300 INFO [qbeater.report] Report saved: /Users/mvr113/QuantOS/reports/qbeater_2026-08-06_09-15_CT.html
2026-08-06 09:15:34,300 INFO [qbeater.report] Report saved: /Users/mvr113/QuantOS/reports/qbeater_2026-08-06_09-15_CT.html
2026-08-06 09:15:34,300 INFO [qbeater.run] Report: /Users/mvr113/QuantOS/reports/qbeater_2026-08-06_09-15_CT.html
2026-08-06 09:15:34,300 INFO [qbeater.run] Report: /Users/mvr113/QuantOS/reports/qbeater_2026-08-06_09-15_CT.html
2026-08-06 09:15:34,300 INFO [qbeater.report] Email disabled (EMAIL_ENABLED=0)
2026-08-06 09:15:34,300 INFO [qbeater.report] Email disabled (EMAIL_ENABLED=0)
2026-08-06 09:15:34,300 INFO [qbeater.run]
QBeater run complete — 2026-08-06 09:15 CT
2026-08-06 09:15:34,300 INFO [qbeater.run]
QBeater run complete — 2026-08-06 09:15 CT