AI paper-trading simulation · data snapshot Jul 10, 2026 · 1:20 PM ET

A self-driving $100k paper portfolio — scanned, scored, and stop-guarded on a market-day clock.

Stock.AI sweeps ~700 tickers daily, has Gemini score a 20-name shortlist, and trades a simulated account with four layered stop-losses. A built-in scheduler runs light sell-only checks all morning and the full pipeline each afternoon — no button-pressing required.

Dream scan universe
689 tickers
AI shortlist
20 scored / day
Gemini budget
~20 calls / day
Stop-loss layers
4 incl. daily-drop
Morning sell checks
5× before noon
Interactive tour

The four surfaces

A working mock of the app's tabs, populated with the real July 10 snapshot. Try the refresh button on the account.

TRADEAI ACCOUNT
AI-driven simulation · separate $100k account · prices 1:20 PM ET
TickerSharesPurchaseYest closeCurrentToday %Gain/Loss%
Cash balance
$1.06
Portfolio value
Total P&L

TODAY % is live price vs yesterday's official close — the signal that feeds the daily-drop stop. The scheduler refreshes it every 20 minutes all morning; the button refreshes it on demand (~6 Yahoo calls, ≈2s).

MARKET-DAY SCHEDULE
All times US-Eastern · weekends, NYSE holidays & early closes skipped · times editable in Admin
ENABLED
9:40 AMSell-only stop check …then 10:20, 10:40, 11:20, 11:40 — holdings prices refreshed, four stops evaluated, zero buys, zero GeminiSELL-ONLY
10:00 AMFull Recommend sells + buys from cached AI scores · again at 11:00TRADE
1:30 PMPrice refresh + Dream scan ~75 min sweep of 689 tickers — skipped if a scan ran <3h agoHEAVY
3:00 PMIdentify → Fetch → Analyze → Recommend Analyze skipped if it already ran today · Recommend lands ~3:15, on fresh afternoon prices, before the 4:00 closeTRADE

Why this shape: mornings are the noisiest window, so they get protection without new entries; buys happen in the afternoon, when the day's move is ~90% baked into the signals.

DREAM SCAN → 3-BUCKET SHORTLIST
689 scored this morning · top 20 split across strategies
scanned 9:43–10:57 AM
BucketPicksWhat it huntsExample signals
Momentum7Names already moving with volume behind themvolume ratio > 1.9 · RSI 50–65
Reversal7Oversold quality poised to bounceRSI < 30 · lower Bollinger touch
SmartMoney6Insider buys & institutional accumulationinsider purchases · inst. % rising

Each shortlisted name then gets a Gemini assessment (score, signal, trajectory, reasoning), blended with dream score, technicals, news and sector-diversity penalties into a 0–100 composite. Top composites fill up to 6 slots.

SCHEDULER — EDITABLE TIMES
Saved to config, picked up within 20 seconds — no restart
Sell-only checks
hours × minutes, market-open only
:
Full Recommend
sells + buys
Dream scan
price refresh + 75-min sweep
Afternoon chain
Identify → Fetch → Analyze → Recommend
PER-FILE PURGE
Each data store purges independently, dated before a chosen day
🗑 Transactions (trades_ai.json)
Buy/sell log of the simulation. Holdings and balance are kept.
🗑 Closed-trade outcomes (trade_outcomes.json)
Gain/loss %, SPY benchmark and buy-time factors — the scoring feedback loop.
🗑 Shadow snapshots (shadow_candidates.json)
Every scored candidate, graded against 5-day forward returns.
🗑 Signal forecasts (signal_forecasts.json)
Daily price-forecast ranges and their hit/miss grades.
Risk engine

Four layered stops on every position

Checked five times each morning and at every Recommend. First match wins; all fills modeled with liquidity-aware slippage.

−8%
Hard stop
vs purchase price. Unconditional exit — no score can save it.
NEW
−8%
Daily-drop stop
vs yesterday's close. Catches a single-day collapse the purchase-price stops can't see — even on a position still in profit.
−6%
Soft stop
vs purchase, only when the AI composite has also fallen below 50/100.
−10%
Trailing stop
vs peak since purchase, once in profit — locks in gains on a fade.
Daily pipeline

From 689 tickers to an executed trade

Measured stage timings from the July 10 run. Heavy data work happens early; the trading decision waits for fresh 3 PM prices.

Dream Scan
689 tickers scored on fundamentals + technicals
~75 min
Identify
3-bucket shortlist of 20
<1 min
Fetch
Deep detail on ~95 tickers
~20 s
AI Analyze
Gemini scores 20 names · skipped if already run today
~13 min
Recommend
Composite ranking → stops → buys with slippage
seconds
Prices refreshed — 6 tickers, 2.2s