打造一個真正能用的日內交易 AI Agent,核心不在於「串接 LLM」這件事本身,而在於選對架構、選對資料來源、做好風險控管,並誠實面對 backtest 與 live trading 之間的巨大落差。以下整理目前最主流的設計方法、相關開源 repo,以及實戰上必須知道的所有細節。
主流設計方法
目前業界大致分成三種主流架構,各有不同的取捨。
多 Agent LLM 辯論框架(Multi-Agent LLM Framework)
這類系統模擬真實交易公司的組織結構,把任務拆給不同角色的 LLM Agent:基本面分析師、情緒分析師、新聞分析師、技術分析師先各自產出報告,再由多空研究員進行結構化辯論,最後交易員 Agent 綜合意見做決策,風控與投資組合經理再做最終審批 。這種設計的優點是能降低單一 LLM 的偏誤,缺點是 API 呼叫次數多、延遲高、成本也高——單次分析單一標的的成本可能落在 0.30 到 0.50 美元(以 GPT-5 等級模型計算),若每天對 20 支股票跑一次,成本並不便宜 。
投資人人格模擬框架(Investor Persona Framework)
另一種思路不是用通用角色分工,而是讓多個 Agent 分別扮演巴菲特、蒙格、麥可·貝瑞(Michael Burry)、凱西·伍德等知名投資人的思維風格,各自產出對同一標的的看法,再由投資組合經理 Agent 綜合裁決 。這種設計的優勢是可解釋性強,你能追溯每個判斷背後的「哲學來源」;缺點是每個人格本質上只是對公開言論的近似模擬,對於覆蓋率不高的中小型股或非美股,資料稀缺會讓輸出品質明顯下滑。
深度強化學習框架(Deep Reinforcement Learning, DRL)
這類系統完全不用自然語言推理,而是讓模型在模擬市場環境中透過試錯學習交易策略,常用演算法包含 A2C、DDPG、PPO、TD3、SAC 等 。DRL 的優勢是可以做嚴謹的量化 backtest 並計算 Sharpe ratio、最大回撤等指標,且已有論文驗證的績效(例如 PPO 訓練的組合在加密貨幣回測中取得 103% 累積回報,優於買入持有的 93%)。但 DRL 最大的弱點是「distribution shift」:在某個市場環境(例如低利率成長股行情)訓練出的策略,遇到宏觀環境轉變(例如升息、價值股輪動)時可能完全失效,而且很難即時偵測到這種轉變 。
新興架構:Graph-based 多 Agent 協作
較新的方向是用 MCP(Model Context Protocol)與 A2A(Agent-to-Agent)協定讓 Agent 之間動態溝通,並用圖資料庫(如 Neo4j)做跨交易日的記憶累積,再用 DAG 動態規劃執行順序 。這解決了單次分析型系統(像 TradingAgents)缺乏長期狀態協調的問題,但目前仍屬早期階段,尚不適合生產環境。
所有相關 GitHub Repo
| Repo | Star 數 | 架構類型 | 特色 |
|---|---|---|---|
| TauricResearch/TradingAgents | 80k+ | 多 Agent LLM 辯論 | 支援 OpenAI/Anthropic/Google/xAI/DeepSeek/Qwen/GLM/MiniMax/Ollama,內建決策記憶與 checkpoint 續跑 |
| virattt/ai-hedge-fund | 59k+ | 投資人人格模擬 | 14 位投資人人格 + 5 個分析 Agent,含 web UI 與 backtester,不執行真實交易 |
| AI4Finance-Foundation/FinRL | 15k+ | 深度強化學習 | Gym 相容環境,支援 15+ 資料源,5 種 DRL 演算法 |
| FinRL-Trading (FinRL-X) | 3.2k+ | DRL 生產層 | 接 Alpaca 券商 API,含明確交易成本建模的 backtest 引擎 |
| AI4Finance-Foundation/FinRobot | 7k+ | 研究報告自動化 | 專注財報分析與估值報告生成,非即時交易 |
| Open Finance Lab/AgenticTrading | 218 | Graph-based 協作 | MCP/A2A 協定 + Neo4j 記憶 Agent,早期階段 |
| pipiku915/FinMem | - | 記憶增強型 LLM Agent | 針對 LLM 交易 Agent 加入分層記憶機制以提升累積回報 |
| fsaavedra0003/Agentic-AI-Trading-Bot | - | 情緒 + 規則混合 | 整合新聞、Reddit、Twitter 情緒分析、技術指標、券商 API,含 Streamlit dashboard |
| jason8745/llm-stock-team-analyzer | - | LLM 團隊分析 | 台灣開發者的股票分析 Agent 專案 |
| disler/infinite-agentic-loop | - | Sub-agent 診斷工具 | 用於分析多個交易 Bot 每日虧損的並行子 Agent 架構範例 |
其中 TradingAgents 是目前 star 數最高、社群最活躍的框架,也是最適合搭配 Claude Code 上手的起點,官方 repo 提供完整 CLI 與 Python API,可直接指定 llm_provider = "anthropic" 來使用 Claude 模型 。
建構一個「能贏」的 Agent 需要知道的一切
資料層與券商整合
實戰上的交易 Agent 至少需要三種資料:即時/歷史價格資料(Yahoo Finance、Alpha Vantage、Alpaca 都是常見免費/低成本來源)、基本面資料(財報、EPS)、以及新聞/社群情緒資料(新聞 API、Reddit、StockTwits)。執行層通常串接 Alpaca 的 Paper Trading API 先做模擬單測試,確認邏輯無誤後才考慮接上真實資金帳戶 。
架構設計原則
多數成功案例採用「Sub-agent 分工 + 主 Agent 協調」的模式:研究 Agent 負責抓資料、監控 Agent 負責選股、交易 Agent 負責下單、學習 Agent 負責回顧交易記錄並更新策略檔案(living memory file),每次決策前都會先讀取過去的績效紀錄 。用 Claude Code 建構時,可以善用 Sub-agent(Task tool)讓每個 Bot/策略在獨立的 context window 中並行運作,避免 context 汙染 。
風控機制是勝負關鍵
比起任何單一交易訊號,風險管理規則更決定長期存活率。必要的風控元素包括:止損/停利規則、單筆倉位大小限制(position sizing)、最大回撤斷路器(circuit breaker)、以及基於市場狀態(regime detection,例如用 Hidden Markov Model 判斷牛熊市)動態調整倉位配置 。務必記住,一個壞的 prompt 或一次失控的 API 呼叫在自動化系統中可能造成無法挽回的損失,因此「Hard risk management rules」不是選項,而是必需品 。
Backtest 到 Live 的巨大落差
這是所有量化交易的核心痛點,AI Agent 完全無法豁免。Backtest 通常假設完美成交,而實盤會遇到滑點、手續費、以及委託單本身推動價格的問題——一個 backtest 顯示年化 50% 回報的策略,實盤可能只剩 10-15%,若原本的 Sharpe ratio 就偏低,實盤甚至可能轉為負值 。此外要特別小心 look-ahead bias(用了當時還不存在的未來資訊做決策),以及過度優化歷史資料造成的 overfitting,務必保留一段真正的 out-of-sample 測試期,且測試完就不要再回頭調參 。
真實績效參考
社群裡最廣為引用的一組數據來自 TradingAgents:一次 30 天的實測顯示約 7% 回報,對比同期 S&P 500 的 4.5%,看似跑贏大盤,但過程中出現 22% 的回撤,這種波動幅度多數散戶難以承受,且該團隊本身也明確不建議拿真金白銀直接上場 。CFTC 也曾針對宣稱「百分之百勝率」或「年化幾萬趴回報」的 AI 交易 Bot 詐騙發出警告,凡是承諾穩定暴利的產品都該高度懷疑 。
成本優化建議
若要長期每日運行,LLM API 成本會迅速累積。用 DeepSeek API 或本地 Ollama 模型取代 GPT-5/Claude 頂級模型,可將單次分析成本降低 80-90%,而在結構化財務推理任務上,品質落差通常比想像中小 。
給建構者的誠實提醒
這些框架的作者與研究團隊都反覆強調——它們是研究與學習工具,不是印鈔機。多數公開新聞與財報中能提取的訊號,早已被市場上千萬個參與者定價完畢,想單靠公開資訊產生穩定 alpha,本質上就是一件極困難的事,沒有任何架構上的巧思能讓它變簡單 。建議的實戰路徑是:先用 Paper Trading 跑至少數週到數月,詳細記錄 Agent 的每個決策與市場實際結果的對照,唯有這種第一手的比對資料,才能真正判斷這個 Agent 是否具備可重複的優勢 。
高頻交易與 Day Trading 對 AI 架構的差異要求
高頻交易(HFT)與 Day Trading 對 AI 架構的要求本質上是兩種完全不同的工程問題——前者是奈秒級的硬體競賽,後者才是 LLM Agent 真正能發揮價值的場域。以下整理兩者在架構設計上的關鍵差異。
核心差異總覽
| 維度 | 高頻交易(HFT) | Day Trading(日內交易) |
|---|---|---|
| 決策時間尺度 | 奈秒到微秒級 | 秒到分鐘級,甚至數小時 |
| 核心瓶頸 | 網路延遲、硬體速度 | 訊號品質、風控邏輯 |
| LLM 適用性 | 幾乎不可用,推論延遲太高 | 可用,作為研究/決策層 |
| 硬體需求 | FPGA、Kernel bypass NIC、co-location | 一般雲端伺服器即可 |
| 程式語言 | C++、Rust(避免 GC 停頓) | Python 完全足夠 |
| 資料處理 | Tick-level 原始 order book 重建 | OHLCV、新聞、財報等聚合資料 |
| 主要獲利來源 | 訂單流微觀結構、套利、做市 | 趨勢、動能、事件驅動訊號 |
高頻交易的架構要求
HFT 系統的設計哲學是把一切能拖慢速度的環節全部消除。物理層面上,交易伺服器必須「co-location」直接放在交易所機房內,因為訊號在光纖中傳輸1000公尺就會產生具競爭意義的延遲差距,業界案例顯示縮短50公尺的機房距離就能減少200微秒的往返延遲 。
網路層面必須採用「kernel bypass」技術,繞過作業系統的網路堆疊,透過 Solarflare、Mellanox ConnectX 等專用網卡搭配 DPDK、RDMA 框架,把封包處理直接搬進使用者空間,達到每秒處理百萬封包的等級 。策略引擎本身常直接用 FPGA 硬體邏輯閘實現,把 tick-to-trade 的決策時間壓縮到50奈秒以下,這已經不是「軟體優化」的範疇,而是硬體電路設計 。
風控也必須嵌入硬體層——pre-trade risk check 直接寫在 FPGA 電路中,確保異常訂單能在不引入任何額外延遲的情況下被立即阻擋 。整套系統的核心命題是「80%管線工程、20%演算法天才」,意味著就算你有全世界最好的訊號,管線慢了就是白搭 。
LLM 為什麼幾乎無法用於 HFT
推論延遲是硬性天花板。就算是最快的 LLM 推論,動輒也是數十到數百毫秒起跳,而 HFT 的決策窗口是奈秒到微秒級,中間相差六個數量級以上,這代表任何在關鍵路徑上呼叫 LLM 的架構在 HFT 場景中都注定失敗 。
因此業界的解法是把 LLM 完全移出即時決策路徑,改為「異步訊號生成」模式——LLM 事先離線分析新聞、財報、宏觀敘事,產生的訊號會被轉換成靜態的因子權重、規則或簡化模型,再交給純算法引擎去做奈秒級執行,LLM 本身完全不參與 tick-to-trade 的即時判斷 。這也是為什麼真正的 HFT 團隊研發語言清一色是 C++、Rust,因為連 Python 的 Garbage Collection 停頓,都足以讓策略在競速中處於劣勢 。
Day Trading Agent 的架構要求恰恰相反
Day Trading 的決策週期是分鐘甚至小時級,這個時間窗口剛好落在 LLM Agent 推論延遲可接受的範圍內,因此像 TradingAgents、ai-hedge-fund 這類多 Agent 辯論框架才有實際發揮空間——用 Claude Code 建構的系統完全可以用 Python、雲端伺服器、標準 REST API 串接 Alpaca 這類券商,不需要考慮 co-location 或 FPGA。
這類系統的核心競爭力不是速度,而是「訊號整合品質」與「風控紀律」——把新聞情緒、財報基本面、技術指標、宏觀環境判斷(regime detection)綜合成一個決策,並靠止損、倉位限制、最大回撤斷路器來管理風險。換句話說,Day Trading Agent 打的是「認知深度」的仗,而 HFT 打的是「物理速度」的仗,兩者幾乎是不同的技術樹,硬體投資與工程重心完全不該互相借用。
Day trading agent 適合用哪些技術指標訊號
給日內交易 AI Agent 用的技術指標,重點不在堆疊越多越好,而是選一組能互相驗證、覆蓋趨勢/動能/成交量三個維度的組合,實戰上專業交易者通常只用 2 到 3 個互補指標而非全部塞進去 。
核心指標排名
VWAP(成交量加權平均價)是日內交易的黃金標準,因為它每日重置,機構把它當作執行基準——低於 VWAP 買、高於 VWAP 賣,價格站上 VWAP 代表多頭偏向,跌破則代表空頭偏向 。成交量與相對成交量(RVOL)緊追其後,任何突破或反轉訊號只有在成交量達到20日均量的1.5到2倍時才具備可信度,這也是為什麼有經驗的交易者把成交量視為「確認訊號」而不只是輔助資料 。
EMA 交叉(常用9期與20/21期)在5分鐘圖上提供動能方向判斷,當短週期EMA向上穿越長週期EMA代表日內上升動能成立,反之則為空頭訊號 。MACD 與 RSI 則屬於次要確認層——RSI(14)在15分鐘圖上穿越50可作為動能轉折的低風險進場點,但不建議單獨依賴 RSI 的傳統70/30超買超賣區間,2026年更主流的用法是搭配 RSI 背離與成交量輪廓一起判讀 。
指標組合與訊號強度
| 訊號組合 | 確認條件 | 訊號強度 |
|---|---|---|
| 價格站上VWAP | + 9/21 EMA 黃金交叉 | 高 |
| Supertrend轉綠 | + 訊號K棒出現成交量放大 | 高 |
| RSI穿越50(15分圖) | + 價格在VWAP之上 + Supertrend綠 | 最高 |
| 區間突破 | + 成交量2倍均量 + RSI大於50 | 高 |
| 單一指標訊號、無其他確認 | 無 | 低,應避免 |
給 Agent 架構的具體策略建議
用 Claude Code 建構 Agent 時,開盤區間突破(Opening Range Breakout, ORB)是最容易程式化且機構驗證過的策略之一:抓取開盤後15或30分鐘的高低點作為當日支撐阻力,當K棒收在區間外且伴隨成交量放大才觸發進場,並用2:1或3:1的風險報酬比設停利停損 。VWAP 拉回(VWAP Pullback)則適合疊加在趨勢確認之上——強勢多頭趨勢中,價格回測VWAP但不跌破,構成高機率、緊停損的進場點 。
更進階的做法是用「Anchored VWAP」,把 VWAP 起算點錨定在財報公布或重大新聞事件當日,這樣能追蹤該事件發生後所有參與者的平均成本基礎,對 Day Trading Agent 判斷事件驅動的持續性特別有用 。另外可以加入 TTM Squeeze(Bollinger Band 收縮進 Keltner Channel 內)作為波動率擴張前兆的濾網,指標由紅轉綠代表醞釀已久的區間即將爆發,此時搭配 RSI 或 MACD 判斷方向能提高勝率,同時建議等待假突破後的回測確認,避免被機構的洗盤動作誘多誘空 。
常見誤區
指標本質上是「確認訊號」而非「預測訊號」,追逐所謂完美指標或無限疊加指標只會導致訊號矛盾、決策癱瘓——這是多數散戶與早期自動化系統最容易犯的錯誤 。若要用 Claude Code 建構決策層,建議把技術指標訊號當作結構化輸入(數值或布林旗標),交給 LLM Agent 做「多訊號綜合裁決」而非要求 LLM 自己去解讀原始K線圖或猜測趨勢,這樣既能保留可解釋性,也能避免 LLM 在數值計算上出現幻覺。
日內交易的動態停損與部位規模管理邏輯
日內交易 AI Agent 的動態停損與部位規模管理,核心邏輯是「用波動率決定停損距離、用停損距離反推部位大小」,而不是用固定金額或固定股數下單。以下拆解完整的計算邏輯與 Agent 實作建議。
ATR 動態停損的核心公式
ATR(Average True Range,14期)是計算動態停損的標準工具,它衡量的是過去14天的平均價格波動範圍,波動越大代表停損就必須放得越寬,否則會被正常的市場噪音洗出場 。日內交易的停損距離一般設在1.5倍到2倍ATR之間,這個區間比波段交易(2到3倍ATR)更緊,因為日內交易的持倉時間短,不需要容忍太大的價格擺動 。
計算方式很直接:假設某股票14期ATR是2美元,日內交易用1.5倍ATR,停損距離就是3美元,若進場價是100美元,多單停損就設在97美元 。這種做法的優勢在於自適應——高波動時期(例如財報公布後)停損自動放寬避免被雜訊掃出場,低波動盤整期停損自動收緊,能更精準地捕捉小幅波動的獲利空間 。
部位規模的反推邏輯
部位大小不是憑感覺決定的,而是由「你願意虧多少錢」和「停損距離多寬」兩個變數共同反推出來的。標準流程是先定義單筆交易的風險容忍度(通常是帳戶淨值的1%,這是Investor’s Business Daily推廣的「1%風險法則」),再用ATR算出停損距離,最後用風險金額除以停損距離得出可承受的股數 。
举例來說,10萬元帳戶设定1%風險容忍度即1000元,若ATR停損距離是3元,可承受的股數就是1000除以3,約333股,這個數字會隨著ATR每天變動而自動調整,天生具備波動率自適應能力 。
完整部位規模模型比較
| 方法 | 邏輯 | 適用情境 |
|---|---|---|
| 固定分數法(Fixed Fractional) | 每筆交易固定風險帳戶淨值的1%到2% | 最保守、最常用的基準方法 |
| ATR動態法 | 風險金額 ÷ (ATR × 倍數) | 波動率自適應,日內交易首選 |
| Kelly Criterion | 依歷史勝率與賠率算出理論最優下注比例 | 適合有足夠交易樣本數的策略,但實務上常打折使用(如半凱利)避免過度激進 |
| Risk-of-Ruin分析 | 計算連續虧損下帳戶歸零的機率 | 用於驗證整體策略的资金管理是否夠穩健 |
值得注意的是,部分社群內容鼓吹單筆交易冒5%到10%甚至20%的帳戶風險去追求"A+級別"訊號的最大收益,但這種做法本質上等同賭博式加倉,一旦連續幾筆虧損就足以讓帳戶大幅減損,不建議寫入自動化Agent的邏輯中 。專業風控框架普遍認為1%到2%才是能長期存活的合理區間 。
移動停損(Trailing Stop)與出場邏輯
日內交易的出場不該只有固定停損,更完整的邏輯是搭配移動停損隨獲利推進停損位置,常見做法是用ATR的倍數作為移動停損的追蹤距離,價格每創新高(多單)就把停損上移到「當前價格減去N倍ATR」的位置,鎖住已實現的獲利同時保留讓利潤奔跑的空間 。進階版本還會分批出場(tiered exit)——達到1:1風險報酬比先出一半鎖定成本,剩餘部位用移動停損繼續持有 。
用Claude Code建構這套邏輯時,建議把ATR計算、停損距離、部位大小這三個步驟寫成獨立的純函式(deterministic function),讓LLM Agent只負責「是否進場」的決策判斷,不要讓LLM去做數值計算,這樣能避免計算幻覺,同時保留邏輯的可測試性與可回測性。