Commit 03c4c4b
asbestos22
feat(v10.5): paper trader — Track 1 simulator with live PancakeSwap quotes
Bridges NRI signals to simulated execution without touching real wallets.
Pure read-only PancakeSwap router quotes, no broadcasts, no private keys.
Architecture:
- paper_trader.py: 15-min decision cycle reads /api/live, applies
rotation rules, logs to data/paper_ledger.csv. State in
data/paper_state.json.
- Sizing: STRONG_LONG=30%, LONG=15% top + 10% #2, NEUTRAL/AVOID=cash
- DEFENSIVE_ROTATION trigger (RISK_OFF + top conviction <30) flattens
everything to cash. Working as designed: current snapshot is RISK_OFF
so no positions opened.
- Concentration: 30% single-token cap + first-come-first-served across
overlapping narrative buckets (e.g. SIREN appears in both Meme and
AI Agents, gets allocated only once at higher conviction).
- Filter: ASCII-only symbol guard (skips UTF-8 names with no DEX pair),
$1M minimum mcap, sort by 7d change descending (rotate-into-strength).
Endpoints (web/app.py):
- GET /api/paper state snapshot (bankroll, positions, PnL)
- GET /api/paper/ledger recent decisions
Dashboard panel:
- 4 stat cards (bankroll / cash / positions / realized PnL)
- Open positions table with live mark prices and PnL
- Recent decisions ledger (last 8)
Smoke test (TRANSITION regime, mock conviction):
Meme STRONG_LONG → SIREN $285 (28%)
AI Tokens LONG → SKYAI $95
AI Agents LONG → AIO $143
RWA LONG → BTX $143 + RWA $95
→ 5 BUYs, $762 deployed, $238 cash buffer
Cron nri-paper-trader runs every 15min, logs silently unless trades fire.1 parent 0a8a9e4 commit 03c4c4b
2 files changed
Lines changed: 716 additions & 0 deletions
0 commit comments