Two independent bots — read the two sections below (tap a card to jump). Data as of 2026-11-10
🇺🇸 IBKR — US equities Phase 2 jump to Futu ↓
① 📈 Portfolio vs market
Indexed to 100 at the first trading day. S&P 500 proxied by SPY, Nasdaq by QQQ — topped up daily from Futu OpenD so the lines never lag a day. The final point is an intraday price while the US session is open.
② 🗓️ Daily P&L
③ 💼 Positions
| Symbol | Qty | Avg cost | Mark | Unrealised |
|---|---|---|---|---|
| QQQ | 120 | 703.43 | 675.42 | -$3,362 |
| SNOW | 200 | 302.77 | 293.66 | -$1,821 |
| NVDA | 120 | 211.10 | 168.90 | -$5,064 |
④ 📊 Bot statistics
By rule: momentum_breakout × 48, mean_reversion × 162
⑤ 🧠 Strategy & decision inputs
| Playbook | Entry conditions |
|---|---|
| Momentum breakout | 5-min EMA9 > EMA21, price > session VWAP, RSI14 crossing up 50, RSI < 75 |
| Mean reversion | 5-min RSI14 ≤ 30 and daily close > SMA200; entries only before 14:30 |
Both require the daily close above SMA200 (never long against the trend). Universe (5):
| Symbol | Role |
|---|---|
| ACN | |
| SPOT | |
| MCK | |
| TMO | |
| ABBV |
Each cycle reads: session gate (IB calendar) | NAV, cash, positions, orders today, realised P&L | 5-min indicators (price, EMA9, EMA21, VWAP, RSI14, ATR14, day high/low) | daily SMA200 and last close | AI risk review (deepseek-chat, EXECUTE/VETO only, veto needs confidence ≥ 0.7) | size = NAV × 0.5% ÷ (entry − stop), capped at 2000 shares and US$500,000 | exits: stop ATR×1.5, target ATR×2.5, momentum fade, flat by 15:50 ET
⑥ 🧾 Recent closed trades
| Time | Symbol | Qty | Price | P&L |
|---|---|---|---|---|
| 2026-11-10 13:59 | TMO | 270 | 717.99 | $135 |
| 2026-11-10 12:07 | SPOT | 216 | 600.71 | $896 |
| 2026-11-10 11:16 | ACN | 504 | 254.46 | $474 |
| 2026-11-09 11:55 | ACN | 487 | 257.46 | $599 |
| 2026-11-06 10:17 | MPC | 240 | 370.40 | -$1,670 |
| 2026-11-06 09:42 | CRWD | 561 | 225.91 | $904 |
| 2026-11-06 09:37 | ACN | 511 | 257.46 | -$434 |
| 2026-11-05 11:51 | LLY | 93 | 1,392.72 | -$2,305 |
| 2026-11-05 11:36 | CRWD | 429 | 222.11 | $1,995 |
| 2026-11-05 10:40 | CRWD | 478 | 219.46 | -$663 |
| 2026-11-04 10:58 | MPC | 289 | 390.04 | -$3,052 |
| 2026-11-04 09:47 | LLY | 110 | 1,426.98 | -$662 |
🇭🇰 Futu — HK equities Phase 2 back to IBKR ↑
① 📈 Portfolio vs HSI
② 🗓️ Daily P&L (last 7 trading days)
| Date | P&L |
|---|---|
| 2026-11-10 | -HK$ 532 |
| 2026-11-09 | -HK$ 2,896 |
| 2026-11-08 | HK$ 0 |
| 2026-11-07 | HK$ 0 |
| 2026-11-06 | -HK$ 7,027 |
| 2026-11-05 | HK$ 5,440 |
| 2026-11-04 | HK$ 10,779 |
The portfolio curve is reconstructed from order history + daily closes (起點 2026-06-08), anchored to the real total assets on the last day.
③ 💼 Positions
| Stock | Qty | Cost | Mark | Value | P&L |
|---|---|---|---|---|---|
| — | |||||
④ 📊 Bot statistics
⑤ 🧠 Strategy & decision inputs
| Playbook | Entry conditions (HK, 5-min bars) |
|---|---|
| Momentum breakout | 5-min EMA9 > EMA21, price > session VWAP, RSI14 crossing up 50, RSI < 75 |
| Mean reversion | 5-min RSI14 ≤ 35 and daily close > SMA200; entries only before 14:30 |
Shared preconditions: daily close > SMA200; no entries in the first 15 minutes or after 15:30 (HK lunch break 12:00–13:00). Universe (6 names):
| Symbol | Name |
|---|---|
| 02319 HK.02319 | — |
| 06160 HK.06160 | BeiGene |
| 00939 HK.00939 | — |
| 03328 HK.03328 | — |
| 01288 HK.01288 | — |
| 03988 HK.03988 | Bank of China |
Each 5-minute cycle reads: market gate | total assets, cash, positions, order count, realised P&L | 5-min indicators (price, EMA9, EMA21, VWAP, RSI14, ATR14) | daily SMA200 and closes | AI risk review (deepseek-chat, EXECUTE/VETO only) | Size = assets × 0.5% ÷ (entry − stop) × conviction (1.0 momentum / 0.6 MR), portfolio risk ≤ 2.0% of assets | Exits: ATR×1.5 stop (MR ×1.0), ATR×2.5 target, RSI ≥ 55, flatten 15:50
⑥ 🧾 Recent closed trades
| Time | Symbol | Qty | Price | P&L |
|---|---|---|---|---|
| 2026-11-10 13:22 | HK.01288 | 2,000 | 6.985 | -HK$ 60 |
| 2026-11-10 13:22 | HK.00939 | 50,000 | 10.660 | HK$ 500 |
| 2026-11-10 11:21 | HK.06160 | 1,200 | 250.800 | HK$ 0 |
| 2026-11-10 10:55 | HK.01288 | 50,000 | 7.015 | HK$ 2,500 |
| 2026-11-09 13:23 | HK.06160 | 1,300 | 248.000 | HK$ 1,040 |
| 2026-11-09 11:23 | HK.01288 | 50,000 | 6.900 | HK$ 0 |
| 2026-11-09 11:23 | HK.00939 | 50,000 | 10.590 | -HK$ 500 |
| 2026-11-06 10:46 | HK.00316 | 2,500 | 154.200 | HK$ 750 |
| 2026-11-06 10:15 | HK.03988 | 1,000 | 6.065 | -HK$ 30 |
| 2026-11-06 10:15 | HK.03328 | 50,000 | 8.550 | -HK$ 1,500 |
| 2026-11-06 10:10 | HK.02359 | 200 | 196.600 | -HK$ 480 |
| 2026-11-06 10:00 | HK.01288 | 50,000 | 6.800 | -HK$ 2,250 |
The portfolio curve is rebuilt day by day from 2026-06-08 (order history + daily closes), anchored to the real total assets on the last day; the HSI comparison is shown above.
🔍 Method & limitations
- IBKR figures are queried live from the IB Gateway (paper); Futu from OpenD (Futu paper/simulate account).
- **The IBKR portfolio curve uses the real daily NAV snapshots** (recorded since 2026-09-16, account base currency HKD) — it is not reconstructed from the trade journal.
- S&P 500 is proxied by SPY, Nasdaq by the Nasdaq Composite (closes from Nasdaq's public data; HSI from IB).
- No commissions beyond paper-account behaviour and no dividends are modelled, so the reconstructed curve can differ slightly from the real NAV.
- Bot statistics come from each bot's own journal (IBKR: trades_phase2.csv; Futu: trades_futu_phase2.csv) and use a different scope from account-level realised P&L.
- Both bots run on **paper (simulated) accounts** — not investment advice.
Last updated:2026-11-10(updated automatically by the daily summary crons)