TradingAgents/0323.md

142 lines
9.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Polymarket 預測市場 Agent 完整流程
整個系統用 LangGraph 建構成一個 state machine每一步是一個 LLM agent node。流程如下
┌─────────────────────────────────────────────────────┐
│ 輸入 │
│ market_id + trade_date + market_question │
└────────────────────┬────────────────────────────────┘
┌──────────▼──────────┐
│ Phase 1: 分析團隊 │ (4 個 Analyst依序執行)
└──────────┬──────────┘
┌────────────────┼────────────────┐
▼ ▼ ▼ ▼
┌─────────┐ ┌───────────┐ ┌─────────────┐ ┌───────────┐
│ Event │ │ Odds │ │ Information │ │ Sentiment │
│ Analyst │→ │ Analyst │→ │ Analyst │→ │ Analyst │
└─────────┘ └───────────┘ └─────────────┘ └───────────┘
│ │ │ │
│ 可多次呼叫 toolsloop until done
▼ ▼ ▼ ▼
event_report odds_report information_report sentiment_report
┌──────────▼──────────┐
│ Phase 2: 研究辯論 │ (YES vs NO Researcher)
└──────────┬──────────┘
┌──────┴──────┐
▼ ▼
┌──────────┐ ┌──────────┐
│ YES │◄►│ NO │ ← 來回辯論 N 輪
│Researcher│ │Researcher│ (max_debate_rounds)
└──────────┘ └──────────┘
│ │
└──────┬──────┘
┌─────────────────┐
│Research Manager │ ← 綜合正反方,寫出投資計劃
│ (Judge) │ (用 deep_think_llm)
└────────┬────────┘
┌──────────▼──────────┐
│ Phase 3: 交易決策 │
└──────────┬──────────┘
┌────────────┐
│ PM Trader │ ← 計算 edge、Kelly Criterion
│ │ 輸出 BUY_YES / BUY_NO / PASS
└──────┬─────┘
┌──────────▼──────────┐
│ Phase 4: 風險管理 │ (3 人辯論)
└──────────┬──────────┘
┌───────────────┼───────────────┐
▼ ▼ ▼
┌───────────┐ ┌──────────────┐ ┌─────────┐
│Aggressive │◄►│Conservative │◄►│ Neutral │ ← 三方辯論 N 輪
│ Analyst │ │ Analyst │ │ Analyst │
└───────────┘ └──────────────┘ └─────────┘
┌──────────────┐
│ Risk Judge │ ← 最終裁決
│ │ (用 deep_think_llm)
└──────┬───────┘
┌─────────────────┐
│ Signal Processor│ ← 把結果轉成結構化 JSON
└────────┬────────┘
最終輸出 JSON
各階段詳解
Phase 1 — 四個 Analyst用 quick_think_llm
┌─────────────┬────────────────────────────────────────────────────────────────┬────────────────────────────────────────────────────┐
│ Analyst │ 工具 │ 職責 │
├─────────────┼────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Event │ get_market_info, get_resolution_criteria, get_event_context │ 分析事件本身:在預測什麼?解析條件是否清楚? │
├─────────────┼────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Odds │ get_market_info, get_market_price_history, get_order_book │ 分析市場微結構價格、流動性、order book、定價效率 │
├─────────────┼────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Information │ get_news, get_global_news, get_related_markets, search_markets │ 搜尋尚未被 price in 的資訊、相關市場 │
├─────────────┼────────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────┤
│ Sentiment │ get_news, get_global_news │ 輿論和社群情緒分析 │
└─────────────┴────────────────────────────────────────────────────────────────┴────────────────────────────────────────────────────┘
每個 Analyst 可以多次呼叫工具tool loop直到它不再需要更多資料為止。
Phase 2 — YES/NO Researcher 辯論
- YES Researcher建立「事件會發生」的論點
- NO Researcher建立「事件不會發生」的論點
- 兩人來回辯論 max_debate_rounds 輪
- 都有 BM25 記憶系統,可以參考過去類似市場的分析經驗
- Research Manager用 deep_think_llm綜合正反方產出 investment_plan
Phase 3 — PM Trader
- 收到所有報告 + 投資計劃
- 估計真實機率 vs 市場價格
- 計算 edge差距
- 用 0.25x Kelly Criterion 算部位大小
- 如果 edge < 5% PASS
- 也會查詢過去的記憶來學習
Phase 4 風險管理三方辯論
- Aggressive Analyst支持交易強調 edge 和上行空間
- Conservative Analyst反對交易強調風險
- Neutral Analyst平衡觀點
- 三人辯論 max_risk_discuss_rounds
- Risk Judge deep_think_llm做最終裁決
最後 Signal Processing
LLM Risk Judge 的自然語言輸出轉成結構化 JSON
{
"signal": "BUY_YES | BUY_NO | PASS",
"estimated_probability": 0.65,
"market_price": 0.50,
"edge": 0.15,
"position_size": 0.03,
"confidence": "medium"
}
額外機制反思學習Reflection
跑完交易後可以呼叫 pm.reflect_and_remember(returns)系統會
- 回顧每個 agent 的決策是否正確
- BM25 把學到的教訓存入記憶
- 下次遇到類似市場時agent 會自動參考過去的經驗
資料來源
全部來自 Polymarket Gamma API公開免費不需 auth包括市場資訊價格歷史order book 新聞工具則沿用股票版的 yfinance
news所以政治類新聞通常搜不到)。