Polymarket News-Driven Trading Bot
Phase 2: Live paper trading with real market data, state persistence, analytics, and reporting.
News/Twitter ──→ Collectors ──→ SQLite ──→ Signal Analyzer ──→ Paper Engine
│ │ ↕ fallback │
│ LLM (primary) Risk Manager
│ Keyword (fallback) │
│ Settlement Check
↓ ↓
Analytics ←────────────────────────────── Feishu Reporter
(Sharpe, Calibration, Export) (Daily + Alerts)
pip install -r requirements.txt
cp .env.example .env # fill in LLM_API_URL, LLM_API_KEY, WEBHOOK_URL
python -m src.main --config config/default.yaml
cp .env.example .env # fill in secrets
docker-compose up -d
sudo cp polymarket-bot.service /etc/systemd/system/
sudo systemctl enable --now polymarket-bot
Module
Purpose
Collectors
News RSS (4 feeds) + Twitter (3 accounts via fxtwitter)
Signal Analyzer
LLM semantic analysis (DeepSeek V3.2) + keyword fallback
Paper Engine
Virtual portfolio, state persistence, trade journal
Risk Manager
Quarter Kelly sizing, daily loss limit, drawdown kill switch
Analytics
Sharpe ratio, confidence calibration, CSV/JSON export
Reporter
Feishu daily reports + critical alerts
Table
Purpose
news_items
Collected RSS articles
tweets
Collected tweets
signals
Generated signals (dedup by hash)
trades
All paper trades
trade_journal
Full trade context (news sources, LLM reasoning)
portfolio_state
Single-row portfolio snapshot
daily_metrics
Per-day performance metrics
Phase 1 ✅: Paper trading scaffold
Phase 2 ✅: State persistence, analytics, Feishu reports, Docker
Phase 3 : Small capital live trading