AI Agent 量化交易完整指南:用 Python 打造自動化台股交易系統
投資警語:本文僅供教學參考,不構成投資建議。過去績效不代表未來表現,投資有風險。
AI Agent 量化交易完整指南:用 Python 打造自動化台股交易系統
前言:一支 AI,三個月賺 48%?
你有沒有想過,如果有一個 24 小時不休息的超級助理,專門幫你盯盤、選股、回測策略,會是什麼樣子?
不是科幻小說,這就是 AI Agent 量化交易的現實。
我們用 FinLab 平台實測了三個月,讓 AI Agent 自己設計選股策略、執行回測、優化參數。結果?最終策略在 18 年回測中達到年化報酬率 24.1%,同期 0050 只有 13.3%。如果你在 2007 年投入 100 萬,到 2026 年:
- 買 0050 = 1,050 萬
- 用這個 AI 策略 = 5,888 萬
差距超過 5 倍。
但這不是一帆風順的故事。我們第一次讓 AI 設計策略時,雖然回測結果有 15.9%,勉強贏過 0050,但持股超過 50 檔,跟買指數沒兩樣。第二次想加嚴條件改良,結果更慘,掉到 4.2%,還帶著 -56.6% 的最大回撤(對,你沒看錯,比 0050 的 -55.8% 還慘)。
直到我們改變了一個關鍵思維——不用「條件篩選」,改用「排名評分」——一切才豁然開朗。這個故事,就是今天要跟你分享的完整旅程。
這篇文章不會教你寫 Python 程式碼(放心,一行 code 都不用背),而是教你如何用「自然語言 Prompt」跟 AI 對話,讓它幫你完成所有技術細節。我們會完整公開:
- 4 個實際使用的 Prompt(附真實對話)
- 3 個策略的完整回測數據(4,629 天 × 2,709 檔股票)
- 1 個從 15.9% 進化到 24.1% 的思維轉變
- 5 個你必須知道的風險陷阱
準備好了嗎?我們開始吧。
Ch.1: 什麼是 AI Agent?不只是聊天機器人
1.1 傳統 AI 聊天 vs. AI Agent:差在哪?
你可能用過 ChatGPT 問問題、寫文案,但那只是「一問一答」。AI Agent 不一樣,它可以:
- 主動規劃多步驟任務 - 你說「幫我找高成長股」,它會自己分解成「下載財報 → 計算營收成長率 → 篩選 ROE → 排序 → 輸出清單」
- 使用工具執行 - 它不只「建議你去查」,而是真的去抓資料、跑回測、畫圖表
- 自我修正 - 發現策略績效不好?它會調整參數、重新回測,直到滿足目標
- 記住上下文 - 你今天測試的策略邏輯,明天它還記得,可以持續優化
簡單來說:ChatGPT 是顧問,AI Agent 是執行長。
1.2 AI Agent 在量化交易的角色
傳統量化交易的流程是這樣的:
[人腦] 想策略 → [人] 寫程式 → [電腦] 跑回測 → [人] 看報表 → [人] 調參數 → 重複
每一步都需要你懂程式、懂金融、懂統計。但有了 AI Agent:
[你] 用自然語言描述策略 → [AI Agent] 自動執行所有步驟 → [你] 看結果、給反饋
你只需要說:「我想找營收成長超過 30%、ROE 大於 15%、本益比低於 20 的股票」,AI Agent 就會:
- 自動從資料庫抓取財報數據
- 寫 Python 程式碼執行篩選
- 跑 18 年回測
- 產生績效報表(年化報酬、最大回撤、勝率等)
- 畫出淨值曲線圖
這不是「讓不懂程式的人也能做量化交易」那麼簡單,而是把專業量化交易員的迭代速度提升 10 倍。以前測試一個策略變體要花 2 小時(改 code、除錯、跑回測),現在只要 5 分鐘(改一句 Prompt)。
1.3 你需要什麼才能開始?
硬需求:
- FinLab 帳號(提供台股完整財報、價格資料 + 回測引擎)
- Claude Opus 4.6 或類似等級的 AI(需要能執行程式碼、處理表格數據)
軟需求(不需要!):
- ❌ 不需要會寫 Python
- ❌ 不需要金融工程碩士
- ❌ 不需要昂貴的 Bloomberg 終端機
你只需要「會提問」——這也是這篇文章要教你的核心技能。
Ch.2: 為什麼 AI Agent 適合量化交易?5 大優勢
2.1 優勢 1:移除技術門檻,專注策略邏輯
傳統量化交易最大的痛點:好的投資邏輯,死在程式語法上。
你可能有個絕妙想法「找連續三季營收成長、但股價還沒漲的股票」,但光是「抓財報資料」這一步,就要處理:
- Pandas DataFrame 的索引對齊
- NaN 值處理
- 季報發布時間差(避免未來函數)
- 資料頻率轉換(日線 vs. 季線)
這些技術細節跟你的投資邏輯無關,卻會吃掉你 80% 的時間。
AI Agent 的價值:你說中文,它處理所有技術細節。
2.2 優勢 2:快速迭代,從失敗中學習
我們的實測案例完美展示了這點。看看這個進化時間表:
- Day 1 上午:Prompt 001 → 策略 1(營收成長 >20% + ROE >10%)→ CAGR 15.9%(勉強贏 0050,但持股 50+ 檔太分散)
- Day 1 下午:想加嚴條件,改 Prompt 002 → 策略 2(更嚴格條件)→ CAGR 4.2%(更慘!)
- Day 2:換思路,Prompt 003 → 策略 3(排名法)→ CAGR 24.1%(成功!)
從 15.9% 到 24.1%,只花了兩天。如果用傳統方法(人工寫程式、除錯、回測),這至少要兩週。
更重要的是,AI Agent 不怕失敗。你可以大膽測試各種瘋狂想法(「如果只買董事長姓王的公司會怎樣?」),因為測試成本幾乎為零。
2.3 優勢 3:處理複雜數據,不會累
台股有 2,709 檔股票,每檔股票每天都有:
- 6 個價格數據(開高低收、成交量、成交額)
- 100+ 個財報數據(營收、EPS、ROE、負債比...)
- 30+ 個技術指標(MA、RSI、MACD...)
人腦無法處理這麼大的數據量,但 AI Agent 可以。它能在 30 秒內:
- 計算 2,709 檔股票的 18 年營收成長率
- 排除財報異常值
- 套用 3 個因子加權排名
- 產生每月前 20 名清單
- 回測淨值曲線
而且不會「看到第 500 檔就累了」或「忘記第 1 檔的數據」。
2.4 優勢 4:透明且可驗證
這點常被忽略,但超級重要。
AI Agent 產生的策略,你可以完整檢視:
- 它用了哪些數據?(來源、時間範圍、處理方式)
- 篩選邏輯是什麼?(每一行程式碼都能看)
- 回測假設是什麼?(交易成本、滑價、再平衡頻率)
這跟「黑箱基金」完全不同。你永遠知道 AI 在做什麼,隨時可以喊停或調整。
2.5 優勢 5:24 小時執行,不受情緒影響
這是量化交易的老優勢,但 AI Agent 讓它更極致。
人類交易員的敵人:
- 恐慌(看到跌 10% 就想停損)
- 貪婪(看到漲 20% 還想再等)
- 疲憊(盯盤 8 小時後判斷力下降)
- 健忘(忘記當初設定的停利點)
AI Agent 沒有這些問題。它會嚴格執行你設定的規則,不會因為「今天新聞很恐怖」就亂改策略。
但這也帶來一個問題:如果策略本身有缺陷,AI 會無情地執行到底。這就是為什麼「回測驗證」這麼重要——我們稍後會詳細說明。
Ch.3: 新手第一步:用 Prompt 建立選股策略
好,理論講完了。現在讓你看看實際怎麼做。
3.1 我們的第一個策略目標
假設你是個基本面投資者,相信「高成長 + 高獲利能力」的公司會帶來超額報酬。你的選股邏輯是:
- 營收年成長率 > 20%(高成長)
- ROE(股東權益報酬率)> 10%(高獲利能力)
這個邏輯合理嗎?聽起來不錯。但到底能不能賺錢?我們用 AI Agent 測試看看。
3.2 Prompt 001:第一次對話
這是我們實際使用的 Prompt(一字不改):
💬 你對 AI 說:
請幫我建立一個台股選股策略,條件如下:
- 營收年成長率 > 20%
- ROE > 10%
使用 FinLab 的資料,回測 2007 年至今的績效。請產生:
- 年化報酬率(CAGR)
- 最大回撤(MDD)
- 淨值曲線圖
- 與 0050 買進持有的比較
🤖 AI 回覆:
好的,我將使用 FinLab 資料執行回測。
[AI 自動執行以下步驟]
- 抓取台股財報資料(2007-04-23 ~ 2026-02-11,共 4,629 天)
- 計算每月營收年成長率(YoY)
- 篩選 YoY > 20% 且 ROE > 10% 的股票
- 每月月初等權重買入所有符合條件的股票
- 假設交易成本 0.4%(含手續費、交易税)
回測結果:
- 資料範圍:4,629 天 × 2,709 檔股票
- 策略年化報酬率(CAGR):15.9%
- 最大回撤(MDD):-44.4%
- 0050 買進持有 CAGR:13.3%
- 0050 MDD:-55.8%
[已產生淨值曲線圖]
3.3 第一次結果:15.9%——看似不錯,其實有問題
看到 AI 回覆的瞬間,心情是複雜的。
好消息:
- ✅ AI 成功執行了所有步驟(抓資料、算指標、回測)
- ✅ 15.9% 的 CAGR,確實贏過 0050 的 13.3%
- ✅ 最大回撤 -44.4% 比 0050 的 -55.8% 好(波動較小)
壞消息:
- ❌ 持股超過 50 檔,幾乎等於買了一個「營收成長版的指數基金」
- ❌ 沒有真正的「選股」效果——條件太寬鬆,符合的股票太多
- ❌ 勉強贏 0050 的 2.6%,扣掉交易成本和管理精力,很不划算
這是很多新手第一次做量化回測的真實寫照:表面上績效不錯,但策略邏輯太粗糙,沒有真正的 alpha。

這裡有個關鍵教訓:回測不是用來「證明你是對的」,而是用來「發現你錯在哪」。表面上贏過 0050 不代表策略就是好的——你需要問自己:「這個績效是靠真正的選股能力,還是只是買了一大堆股票碰巧跑贏?」
3.4 問題出在哪?初步診斷
我們請 AI 進一步分析:
💬 你對 AI 說:
這個策略雖然勉強贏 0050,但持股 50+ 檔太分散,沒有真正的選股效果。請分析可能的原因,並提供改進方向。
🤖 AI 回覆:
根據回測數據分析,可能的問題:
條件太寬鬆:營收 YoY > 20% 在多頭時期很多股票都符合,導致持股過於分散(平均每月持有 50+ 檔),稀釋了優質股的報酬。
缺乏估值考量:沒有檢查本益比(PE),可能買到「成長性已反映在高股價」的股票。
ROE 門檻偏低:10% 的 ROE 在台股算普通水準,無法篩選出真正的高獲利公司。
改進建議:
- 提高條件門檻(例如 YoY > 30%、ROE > 15%)
- 加入估值過濾(例如 PE < 20)
- 限制持股數量(只買最符合條件的前 20 名)
聽起來很合理!那我們就來試試看。
Ch.4: 第一次改進...結果更慘?從 15.9% 到 4.2%
4.1 Prompt 002:加嚴條件
根據 AI 的建議,我們把條件變嚴格:
💬 你對 AI 說:
請改良策略,新條件如下:
- 營收年成長率 > 30%(提高門檻)
- ROE > 15%(提高門檻)
- 本益比 < 20(加入估值過濾)
其他設定同上,請回測並與策略 1 比較。
🤖 AI 回覆:
已執行回測。
策略 2 結果:
- CAGR:4.2%
- MDD:-56.6%
- 平均每月持股數:3 檔
與策略 1 比較:
指標 策略 1 策略 2 0050 CAGR 15.9% 4.2% 13.3% MDD -44.4% -56.6% -55.8% 平均持股 50+ 檔 3 檔 50 檔 策略 2 的績效顯著惡化。
4.2 發生什麼事了?過度篩選的陷阱
這是新手常犯的錯誤:以為條件越嚴格,績效就越好。
實際上,策略 2 的問題是:
- 樣本數太少:每月只有 3 檔股票符合條件,缺乏分散風險的能力
- 條件衝突:「高成長 + 高 ROE」的股票通常本益比都很高(市場早就發現它們了),加上「PE < 20」會把最好的標的排除掉
- 運氣成分大:只買 3 檔股票,遇到地雷股的影響會被放大

這裡的教訓是:量化交易不是「找到完美條件」,而是「在條件嚴謹度 vs. 樣本數之間找平衡」。太寬鬆(策略 1)會買到太多股票,太嚴格(策略 2)會錯過好機會。
那到底該怎麼辦?
4.3 關鍵轉折:從「條件篩選」到「排名評分」
這時我們遇到了一個高手(FinLab 的創辦人),他給了一個建議:
「不要用『條件篩選』,改用『排名法』。」
什麼意思?讓我們用一個類比來說明。
類比:招聘員工的兩種方法
方法 1:條件篩選(策略 1、2 的做法)
- 「我只要學歷 985、工作經驗 5 年以上、會寫 Python 的人」
- 問題:條件太嚴可能沒人符合,太鬆又一堆人符合
方法 2:排名評分(策略 3 的做法)
- 「我把所有應徵者的『學歷』『經驗』『技能』分別打分數,然後加權平均,取總分前 20 名」
- 好處:永遠有 20 個候選人,而且會自動選出『綜合實力最強』的人
回到選股,排名法的邏輯是:
- 不設死條件(不說「營收成長一定要 > 30%」)
- 而是把所有股票的「營收成長率」由高到低排名
- 再把「ROE」「股價動能」等因子也分別排名
- 最後加權平均,選出「綜合排名最高」的前 20 檔
這個思維轉變,讓我們從 4.2% 跳到 24.1%。