打造會自我學習的交易分析系統:從查理芒格到動態 Agent 架構
前言
查理芒格最著名的投資哲學不是「買什麼」,而是「怎麼想」。他的多學科思維模型(Lattice of Mental Models)強調:根據問題的性質,選擇最適合的心智模型來分析。
我嘗試把這個哲學實作成一套自動化的交易分析系統。這篇文章記錄了從固定管線到動態 Agent 的演化過程,以及系統如何透過收集數據實現自我學習。
系統全景:從數據到決策
為什麼需要自我學習?
傳統的規則型分析系統有一個根本問題:規則是人寫的,但市場是動態的。
| 問題 | 傳統系統 | 自我學習系統 |
|---|---|---|
| CPI 超預期 | 固定權重反應 | 根據歷史「市場真的在意嗎?」動態調整 |
| 同一新聞報導 10 次 | 每次都觸發分析 | 聚類去重,判斷是否已 price-in |
| 預測連續錯誤 | 繼續用同樣邏輯 | 自動降低該來源權重 |
| 新的市場模式 | 等人手動更新規則 | 從失敗案例自動生成知識條目 |
數據收集:13 個外在因素
芒格的多學科思維強調從不同角度看同一個問題。系統收集 13 種不同類型的數據:
這 9 個流動性成分被綜合成一個流動性評分,透過兩個獨立機制影響最終的資產評分:
- Regime Dampener:流動性環境壓縮/放大事件信號(緊縮環境下,好消息的效果會被壓縮)
- Liquidity Push:流動性對各資產的直接方向性推力(每個資產有不同的 Beta)
動態 Agent:像芒格一樣思考
固定管線 vs 動態 Agent
舊系統是固定管線:不管什麼事件,都走 新聞 → LLM → 共識 → 評分 的路線。就像一個只會用錘子的人,看什麼都像釘子。
新的 Agent 架構讓 Router LLM 扮演查理芒格的角色,根據事件性質自主決定分析路徑:
關鍵差異:路徑是問題決定的,不是程式碼決定的。 FOMC 聲明需要查殖利率和 COT,地緣衝突需要查因果鏈和注意力信號。Agent 自主決定。
四個學習閉環
閉環 1:反應追蹤 → 準確率統計
LLM 每次分析後,對 8 個資產啟動獨立追蹤:
| 檢查點 | 時機 | 判斷方式 |
|---|---|---|
| 1h | 分析後 1 小時 | 延遲報價方向 vs 預測方向 |
| 4h | 分析後 4 小時 | 同上 |
| 24h | 分析後 24 小時 | 同上,最終結算 |
每 30 分鐘從 IB 記錄 8 資產延遲報價,用於比對預測。累積的準確率資料驅動後續的自動調權。
閉環 2:週回顧 → 知識生成
每週一自動觸發 LLM 回顧分析:
- 收集過去一週所有已完成的市場反應追蹤
- 統計各來源(經濟日曆 / Fed 政策 / 新聞場景)的準確率
- 識別失敗模式(哪些類型的事件預測最差?)
- 自動生成知識條目寫入知識庫
- 下次分析時,相關知識會被注入 LLM Prompt
閉環 3:自動調權
基於 14 天滑動窗口的準確率,自動調整各來源的權重:
| 條件 | 動作 | 限制 |
|---|---|---|
| 準確率 > 75% | SOURCE_AMPLIFIERS +5% | 單次最大 ±5% |
| 準確率 < 40% | SOURCE_AMPLIFIERS -5% | 累計最大 ±30% |
關鍵改進:調整後的權重存入 DB,重啟服務後從 DB 載入。不再像過去一樣重啟歸零。
閉環 4:知識反饋閉環
每次 LLM 分析時,Prompt 會注入相關的歷史知識。LLM 回傳時會標記每條知識是否仍然適用:
| 狀態 | 觸發條件 | 效果 |
|---|---|---|
validated | 知識與當前分析一致 | 累計 ≥ 5 次 → 升級為 trusted |
contradicted | 知識與當前分析矛盾 | 累計 ≥ 3 次 → 降級為 deprecated |
irrelevant | 知識與當前事件無關 | 不計數 |
新聞注意力信號
同一主題在一天內被多次報導,有兩種可能:真正重大事件或媒體炒作。
目前已實現 vs 未來展望
已實現
| 能力 | 狀態 | 說明 |
|---|---|---|
| 13 個數據來源收集 | ✅ | FRED / COT / RSS / 殖利率 / VIX / 經濟日曆 |
| 動態 Agent 分析 | ✅ | Router LLM + 10 工具 + 最多 5 輪推理 |
| 流動性 Regime | ✅ | 9 成分評分 + Dampener + Per-Asset Beta |
| 因果鏈傳導 | ✅ | BFS 5 層深度 + 153 個節點 |
| 多引擎共識 | ✅ | N 引擎投票(Gemini / Claude / Groq) |
| 調權持久化 | ✅ | 16 個權重存入 DB,重啟後不歸零 |
| 8 資產反應追蹤 | ✅ | 30 分鐘延遲報價 + 1h/4h/24h 驗證 |
| 知識反饋閉環 | ✅ | validated ≥ 5 → trusted / contradicted ≥ 3 → deprecated |
| 新聞注意力信號 | ✅ | 聚類去重 + 市場波動比對 |
| Agent fallback | ✅ | Router 失敗時自動切換傳統管線 |
未來展望
| 方向 | 優先級 | 說明 |
|---|---|---|
| 跨分析記憶 | 高 | Agent 能看到「上次同類事件的判斷和結果」 |
| Router Prompt 演化 | 高 | 週回顧自動分析工具使用模式,生成直覺補充 |
| A/B 比對驗證 | 高 | 前 30 天同時運行 Agent + 傳統管線,比對準確率 |
| Put/Call Ratio | 中 | 選擇權市場情緒指標 |
| 非美央行政策 | 中 | ECB / BOJ 獨立資料源 |
| 信貸市場 | 低 | IG 利差 / CLO / 商業不動產 |
| 投資者情緒 | 低 | AAII 調查 / Conference Board |
| 地緣政治指數 | 低 | GPR Index 量化指標 |
| LangGraph 遷移 | 備案 | 需要 streaming / human-in-the-loop 時 |
期望達成的目標
短期目標(1-3 個月)
- Agent 準確率 > 傳統管線 — 透過 A/B 比對驗證
- 知識庫品質穩定 — trusted 條目 > 50%,deprecated 自動清除
- 調權收斂 — 各來源權重在合理範圍內穩定
中期目標(3-6 個月)
- 跨分析記憶成熟 — Agent 能引用「上次 FOMC 的判斷」
- Router Prompt 自我演化 — 工具選擇直覺隨時間改善
- 覆蓋非美市場 — ECB / BOJ 政策納入分析
長期願景
一個能像查理芒格那樣思考的系統:不是知道最多,而是知道什麼時候該用什麼。根據問題的性質選擇最適合的分析工具,從每次預測的結果中學習,持續改進自己的判斷品質。
這不是要取代人的判斷,而是建立一個有經驗的分析助手 — 它記得過去的錯誤、知道自己的能力邊界、在不確定時會主動告訴你「這次超出我的能力範圍」。
技術架構摘要
系統採用混合架構 — 現有 API / 排程 / 前端不動,核心分析引擎替換為 Agent 模組:
| 元件 | 技術 |
|---|---|
| Agent Core | 自建 StateGraph(~300 行 Python) |
| Router LLM | Claude(可配置切換 Gemini / Groq) |
| 工具數量 | 10 個(可擴展,新增只需建檔 + 註冊) |
| 後端 | FastAPI + SQLAlchemy + PostgreSQL |
| 排程 | APScheduler(每小時新聞掃描 / 每日流動性 / 每週 COT) |
| 部署 | Docker Compose → VM (deploy-server) |
| 通知 | Telegram MCP + EventBus |
完整設計文件:docs/superpowers/specs/2026-03-28-munger-agent-upgrade-design.md