Agent 12 — Pre-Market Scalp
30-minute pre-market scalp on the morning_movers candidate list. Buys at 6:01 AM CT, flattens at 6:30 AM CT. $1,000 capped working capital, excess banks automatically.
- Universe and scan are shared with Agent XI (morning_movers). The shared 6:00 AM CT scan picks top movers and writes them to morning_movers_candidates. This agent reads those picks one minute later.
- Entry rule: top 3 picked candidates by distance_pct. Position size = 30% of NAV per pick. At $1,000 fresh, that's ~$300 × 3 = $900 deployed.
- Entry fill: candidate.close_price from the scan (paper-trade assumption that the late-pre-market print is achievable).
- Exit rule: 30 minutes after entry, full flatten. Exit fill = current Twelve Data /quote at 6:30 AM CT (pre-market quotes are sparser than regular session but still available for liquid names).
- Bank rule: working capital is capped at $1,000. Every flatten that produces excess cash triggers the existing bank sweep, moving the surplus to bank_balance. Bank is sequestered; never reinvested.
- Runtime profile: the agents.runtime_profile column is set to 'premarket_scalp' (migration 122). The standard morning-movers-trader function skips agents with this profile; the dedicated morning-mover-tfb-scalp edge function handles them. Future scalp-style agents can adopt this profile and join the same cron without code changes.
- Experimental question: does the strongest pre-market momentum carry the 30-min window after the scan reads it? Win condition is positive monthly bank accumulation over the trailing 21 trading days.
- Universe
- Same morning_movers candidate list (small/mid-caps, $1-$20, ≥100K avg volume)
- Starting capital
- $1,000 (capped — excess banks)