跳至主要內容
台股研究 約 15 分鐘閱讀

AI 量化交易實戰:AI Agent + Python 打造年化 29.4% 台股策略

AI 量化交易怎麼做?這篇用 AI Agent + Python 完成台股量化交易、AI Agent 投資與 AI Agent 股票分析:篩選法年化 18.0% 輸給 0050,排名法多因子策略年化 29.4%、最大回撤 -44.7%,附提示詞、程式碼與七組參數敏感度。

AI對話年化29.4% CAGR 29.4% Sharpe 1.02

AI 量化交易三段對話策略年化報酬比較:篩選法 18.0%、加嚴篩選 5.4%、排名法 29.4%、0050 含息 20.0%

讓 AI Agent 自己寫策略、跑台股回測,結果會怎樣?我們用三段真實對話、13 年台股資料(2013-04 到 2026-06)做了完整實驗:第一段對話用直覺的篩選法,年化 18.0%,連 0050 含息的 20.0% 都沒贏;第二段對話把條件加嚴,反而掉到 5.4%;第三段對話改用排名法多因子,年化 29.4%,100 萬變 2,951 萬,同期 0050 是 1,080 萬。

指標 篩選法(對話一) 加嚴篩選(對話二) 排名法(對話三) 0050 含息
年化報酬(CAGR 18.0% 5.4% 29.4% 20.0%
最大回撤(MDD -49.8% -65.1% -44.7% -34.0%
夏普比率 0.69 0.27 1.02 1.11
月索提諾比率 1.32 0.52 2.38 1.80
總報酬 +768% +98% +2,851% +980%
100 萬最終價值 868 萬 198 萬 2,951 萬 1,080 萬
月底持股數 平均 17 檔(1~50) 平均 4 檔(0~20) 平均 20 檔(15~20) 1 檔 ETF

口徑:2013-04 到 2026-06,策略含 finlab 預設交易成本,0050 為還原價含息買進持有(詳見文末回測方法)。注意排名法的年化與索提諾勝出,但日夏普 1.02 略低於 0050 的 1.11、最大回撤 -44.7% 比 0050 的 -34.0% 深,這是用波動換報酬的策略,不是低風險策略。

整個過程你不需要寫一行程式:策略邏輯用中文講給 AI 聽,程式由 AI 產生、數據由 finlab 套件實跑。和一般股票軟體只提供條件篩選不同,這裡的 AI 量化交易流程會把投資假設轉成可執行的 Python,由 finlab 負責資料、回測與交易成本。本文公開全部三段對話的提示詞、AI 產生的核心程式碼、七組參數敏感度實測,以及可下載的完整重現腳本。

AI 量化交易是什麼?AI Agent 股票分析和量化 Agent 的差別

AI 量化交易是用大型語言模型把投資想法翻譯成程式、執行回測、分析結果的研究方式。買賣決策仍然依靠數據與回測驗證,AI 取代的是「寫程式」這一步。想補齊量化交易的整體脈絡,可以先讀量化交易完整指南再回來看實作。

很多人搜尋的「量化 Agent」或「AI Agent 股票分析」,指的就是這種會動手執行的 AI,它跟一般聊天機器人的差別:

能力 聊天機器人(一問一答) AI Agent(量化 Agent)
任務規劃 回答你問的那一句 把「找高成長股」拆成抓資料、算因子、排序、回測
工具使用 建議你去查 真的執行程式、抓 finlab 資料、產出報表
自我修正 等你指出錯誤 回測結果不好會自己分析原因、調整重試
數據真實性 可能憑記憶編數字 數字來自實際執行的回測輸出

最後一列是關鍵。聊天機器人「報」數字,AI Agent「跑」數字;本文所有績效都來自 finlab 回測引擎的實際輸出,不是 AI 的語言生成。這也是判斷一篇 AI 量化內容可不可信的第一個檢查點,延伸閱讀:AI 量化交易詐騙怎麼辨識

這些搜尋說法常被混用,實務上可以用下面方式理解:

搜尋說法 在本文中的意思
ai量化、ai量化交易、量化交易 AI/量化交易AI 用 AI 把交易假設轉成可驗證的回測流程,績效仍要由真實資料產生
AI Agent 股票、AI Agent股票、AI Agent 股票分析、股票 Agent/股票Agent 以股票資料為輸入,讓 AI 協助選股、寫程式、解讀報表
量化Agent、量化交易Agent、agent 量化 能規劃任務、使用工具、根據回測結果調整研究方向的量化助手
AI Agent 交易、AI交易系統、AI自動化交易、AI自動交易 進入券商 API 與下單執行前,必須先有可重現的研究與風險檢查
trading agent、quant Python AI agent 英文查詢常見說法;在台股情境下,重點是讓 AI 會讀台股資料、寫 Python、跑回測

AI Agent Python 教學:把 FinLab 裝進你的 AI 工具

開始對話之前,先讓你的 AI 工具具備抓台股資料與跑回測的能力。現在統一從 /setup 的同一句提示詞開始:

步驟 動作 說明
1. 先看身分 如果還在網頁版 AI,ChatGPT 使用者改用 Codex app GUI 版;Claude 使用者改用 Claude cowork,並記得使用 Claude cowork 對話,不要使用 Claude Chat 頁面 已經在桌面工具裡就跳過
2. 安裝 FinLab Skill 把下面這句提示詞貼給 AI AI 會依 /setup 流程完成設定
3. 撰寫策略 請 AI 做一個動能策略 取得可回測的條件與程式
4. 優化方向 請 AI 根據回測提出調整 檢查濾網、持股數、再平衡與風控

貼給 AI 的提示詞(複製即用):

免費試用

用 AI 開始 FinLab

把這句話交給你的AI,它會帶你完成設定並做出第一個策略。

告訴你的AI:

幫我設定 FinLab,重現 AI 對話策略,請讀:https://finlab.finance/setup?relatedUrl=/blog/ai-agent-quant-trading-guide

顯示程式碼
幫我設定 FinLab,做第一個台股動能策略:https://finlab.finance/setup

不想安裝任何東西,也有零設定的瀏覽器版:打開 FinLab Studio,輸入選股條件就能產生回測。想讓 AI 幫你迭代策略,就用上面的提示詞;資料與回測引擎都在同一套流程裡,首次取資料時套件會自動引導登入。

英文搜尋 trading agent 教學時,這一段對應到研究端的設定:讓 AI 能讀資料、寫 Python、跑回測。真正接到券商下單前,還要處理部位控管、實單滑價、API 權限與錯單保護。

第一段對話:篩選法選股,年化 18.0%,連 0050 都沒贏

假設你是基本面投資者,相信「高成長加上高獲利能力」會帶來超額報酬。最直覺的做法是設兩個門檻來篩選,這也是我們丟給 AI 的第一段對話。

💬 你對 AI 說:

請幫我建立一個台股選股策略:營收年成長率大於 20%,而且 ROE 大於 10%,只買近 20 日平均成交金額大於 1,000 萬的股票。每月再平衡、等權重買入。用 finlab 的資料回測到 2026 年 6 月,給我年化報酬、最大回撤,並跟 0050 含息買進持有比較。

🤖 AI 回覆:

已完成回測。資料中 ROE 數據起點為 2013 年,回測區間 2013-05 到 2026-06,含手續費與證交稅:

  • 策略年化報酬 18.0%,最大回撤 -49.8%,總報酬 +768%
  • 0050 含息年化報酬 20.0%,最大回撤 -34.0%,總報酬 +980%
  • 月底持股數在 1 到 50 檔之間劇烈波動,平均 17 檔

策略輸給 0050,而且承受了更深的回撤。

AI 產生的核心程式碼如下,每一行都能對應到對話裡的條件:

顯示程式碼
from finlab import data
from finlab.backtest import sim
 
# 載入資料(首次執行會自動引導登入)
close = data.get("price:收盤價")
volume = data.get("price:成交股數")
revenue_yoy = data.get("monthly_revenue:去年同月增減(%)")
roe = data.get("fundamental_features:ROE稅後").index_str_to_date()
 
# 依公布時點對齊到日頻,避免用到未來資料
rev_d = revenue_yoy.reindex(close.index, method="ffill")
roe_d = roe.reindex(close.index, method="ffill")
 
# 流動性過濾:近 20 日平均成交金額 > 1,000 萬
liquid = (close * volume).rolling(20).mean() > 10_000_000
 
# 篩選條件:營收年增 > 20% 且 ROE > 10%
position = (rev_d > 20) & (roe_d > 10) & liquid
 
# 回測:每月再平衡,等權重(預設內扣手續費與證交稅)
report = sim(position, resample="M", name="篩選法")

完整互動式回測報告可以直接在這裡操作:

這一段對話的價值在於它揭露了兩個問題。第一,「合理的條件」扣掉交易成本後可能連大盤都贏不了:年化 18.0% 聽起來不差,但同期買著不動的 0050 有 20.0%,你多花的精力與多承受的 -49.8% 回撤都沒有得到補償。第二,篩選法的持股數量完全看市況臉色:多頭時 50 檔、行情差時剩 1 檔,風險暴露極不穩定。回測在這裡的功能是證偽,它告訴你這個想法行不通,而且只花了幾分鐘。

第二段對話:條件加嚴,年化反而掉到 5.4%

直覺的下一步是「條件不夠嚴」,於是我們請 AI 提高門檻,並加入估值過濾。

💬 你對 AI 說:

把條件改嚴格:營收年成長率大於 30%、ROE 大於 15%、本益比小於 20,其他設定不變,回測後跟上一個策略比較。

🤖 AI 回覆:

已完成回測,績效明顯惡化:

  • 年化報酬 5.4%,最大回撤 -65.1%,總報酬只剩 +98%
  • 月底持股平均 4 檔,其中 20 個月完全空手
  • 三個條件同時成立的股票太少,持股集中導致單一地雷的傷害被放大

程式碼只改一行條件,結果差了一個量級:

顯示程式碼
pe = data.get("price_earning_ratio:本益比")
 
# 三個條件同時成立的股票極少,持股驟減
position = (rev_d > 30) & (roe_d > 15) & (pe < 20) & liquid
report = sim(position, resample="M", name="加嚴篩選")

問題出在三個條件彼此衝突:高成長加高 ROE 的公司,市場通常早就給了高本益比,再要求本益比小於 20,等於把最強的標的全部排除,留下的多是「看起來便宜但成長動能可疑」的股票。13 年裡有 20 個月完全空手、-65.1% 的最大回撤,說明條件式篩選在嚴格與寬鬆之間沒有好的平衡點:寬鬆變成準指數(對話一),嚴格變成賭少數幾檔(對話二)。

第三段對話:台股多因子選股系統架構,排名法年化 29.4% 超越 0050

轉折點是把「夠不夠好」換成「誰最好」。篩選法問每檔股票「你有沒有過門檻」,排名法問全市場「誰的綜合分數最高」:把每個因子在全市場做百分位排名,加權平均成綜合分數,永遠取分數最高的前 20 檔。市況好壞都持有固定檔數,因子之間互相補位,不會出現空手或爆倉的極端狀態。

這一段也可以看成台股 AI Agent 的最小可行架構:資料層抓月營收、ROE 與價格;因子層把不同指標轉成百分位;排名層選出前 20 檔;回測層檢查成本、回撤與周轉率。完整的量化交易系統還會多出風控與下單層;本文聚焦在量化選股與回測,不把研究結果直接接到券商 API。

💬 你對 AI 說:

不要用門檻篩選了,改用排名法:把營收年成長率、ROE、60 個交易日股價動能三個因子各自在全市場做百分位排名,綜合分數用營收 40%、ROE 30%、動能 30% 加權,流動性過濾不變,每月選綜合分數最高的前 20 檔等權買入,回測後跟前兩個策略和 0050 比較。

🤖 AI 回覆:

已完成回測,這是三個策略中唯一明顯超越 0050 的版本:

  • 年化報酬 29.4%,最大回撤 -44.7%,總報酬 +2,851%
  • 日夏普 1.02、日索提諾 1.62、月索提諾 2.38
  • 月底持股穩定在 15 到 20 檔,沒有空手月份
  • 100 萬投入 13 年成為 2,951 萬,同期 0050 為 1,080 萬
顯示程式碼
# 三個因子各自做全市場百分位排名(0~1,越高越好)
rev_rank = rev_d.rank(axis=1, pct=True)
roe_rank = roe_d.rank(axis=1, pct=True)
mom_rank = close.pct_change(60).rank(axis=1, pct=True)
 
# 加權綜合分數:營收 40% + ROE 30% + 動能 30%
composite = rev_rank * 0.4 + roe_rank * 0.3 + mom_rank * 0.3
 
# 流動性過濾後,每月選綜合分數最高的前 20 檔
position = composite.where(liquid & close.notna()).is_largest(20)
report = sim(position, resample="M", name="排名法多因子")

完整互動式回測報告(月報酬熱力圖、權益曲線、年度績效都在裡面):

三個策略與 0050 的淨值曲線放在同一張圖、同一個起點比較,差距一目了然:

AI Agent 台股量化交易三策略與 0050 淨值曲線比較,2013 到 2026 年對數刻度,排名法終值約 29.5 倍

排名法 13 年滾出約 29.5 倍(+2,851%),0050 含息約 10.8 倍(+980%),篩選法 8.7 倍,加嚴篩選只有 2 倍。把風險也放進來看,四個組合在「報酬對回撤」平面上的位置如下:

台股量化交易策略風險報酬散佈圖:排名法年化 29.4% 最大回撤 -44.7%,0050 含息年化 20.0% 回撤 -34.0%

照數據講清楚代價:排名法的日夏普 1.02 其實略低於 0050 的 1.11,最大回撤 -44.7% 也比 0050 的 -34.0% 深 10 個百分點。它贏在絕對報酬與下檔風險調整後的月索提諾(2.38 對 1.80),輸在波動更大。換句話說,這個策略適合能承受帳面腰斬、追求長期複利的人,不適合把它當低風險替代品。

排名法的三個因子,背後都有學術研究

排名法不是憑空發明,三個因子各自對應行之有年的實證發現:

  • 價格動能Jegadeesh & Titman (1993) 發現過去 3 到 12 個月的贏家股票,後續數月平均持續跑贏輸家,動能因子從此成為實證金融最廣被複製的異常報酬之一。本文用 60 個交易日(約一季)報酬當動能指標。
  • 獲利能力Novy-Marx (2013) 證明獲利能力強的公司即使估值不便宜,長期報酬仍系統性較高。他用的是毛利對資產,本文用 ROE,同屬獲利能力家族但口徑不同,效果不能直接劃等號。
  • 營收動能:台股是全球少數強制公布月營收的市場,月頻基本面資料讓「成長加速」的訊號比季報快一步反映。這是台股在地結構帶來的資料優勢,不是普適的學術因子,我們用它補足前兩者的頻率缺口。

把三個低相關的訊號用排名加權合成,單一因子失靈時其他因子補位,這比押注任何單一條件都穩健。類似的多因子做法在多因子選股能不能贏 0050 的實測有另一組獨立驗證,台股選股方法總整理則把基本面、技術面、籌碼面的選股邏輯做了系統性比較。

讓 AI 自動掃參數:七組設定全部贏過 0050

40%、30%、30% 這組權重是拍腦袋訂的,會不會剛好是運氣?我們請 AI 把權重與持股數的變化全部真跑一遍,七組設定的年化報酬落在 23.4% 到 32.4%,全部高於 0050 的 20.0%:

AI 量化交易參數敏感度實測:七組權重與持股數設定年化報酬 23.4% 到 32.4%,全部高於 0050 含息的 20.0%

設定(權重:營收/ROE/動能・持股數) 年化報酬 最大回撤 月索提諾
40/30/30・前 20(本文採用) 29.4% -44.7% 2.38
50/25/25・前 20 32.4% -40.9% 2.59
30/30/40・前 20 25.8% -51.1% 2.03
等權 33/33/34・前 20 28.4% -47.4% 2.25
20/40/40・前 20 23.4% -52.0% 1.82
40/30/30・前 10 26.4% -54.9% 1.95
40/30/30・前 30 25.9% -50.4% 2.09

兩個觀察。第一,框架比參數重要:權重怎麼調都贏 0050,但從篩選法換到排名法是 5.4% 與 29.4% 的差距,方向對了,細節只是微調。第二,表中最好的 50/25/25 有 32.4%,我們仍然採用 40/30/30 當本文主角,因為它是掃描前就先決定的設定;如果看完結果才回頭挑最高的那組,就是用同一段歷史既調參又驗證,Bailey, Borwein, López de Prado & Zhu (2014) 對這種做法的結論很直白:回測過擬合會讓樣本外績效系統性低於回測值;Harvey, Liu & Zhu (2016) 更進一步指出,學界與業界已經測過太多因子,新發現要用比傳統更嚴格的統計門檻檢驗才算數。敏感度表的正確用法是確認「結論對參數不敏感」,不是挑出最漂亮的那一格。

三次市場大跌的真實表現:排名法沒有比較抗跌

把策略放進 2015 年下半年修正、2020 年疫情爆發、2022 年升息修正三段大跌檢視,區間最大回撤如下:

排名法策略與 0050 在 2015、2020、2022 三次市場大跌的區間最大回撤比較,策略兩次較深一次較淺

大跌區間 排名法策略 0050 含息
2015 下半年修正 -26.3% -21.0%
2020 疫情爆發 -29.9% -28.2%
2022 升息修正 -31.3% -34.0%

三次裡兩次跌得比 0050 深、一次略淺。結論很清楚:排名法的超額報酬來自上漲段的選股勝率,動能與營收因子在系統性恐慌中保護不了你。想在這類策略上疊加下檔保護,常見做法是停損或大盤濾網,但它們有自己的代價,我們在 ATR 移動停損的台股實測用同樣的方法檢驗過:多數設定下停損反而傷害長期報酬。

自己動手:在這頁直接跑因子組合

文中的排名法策略用了營收動能、價格動能與 ROE 品質因子。想感受不同因子組合的差異,用下面的回測器直接試:瀏覽器內用真實台股資料執行,不用安裝環境。

台股策略回測器

回測區間 2020-01 ~ 2026-06
多因子複合 vs 0050 含息(累積淨值,對數軸)
1x2x3x5x2020-022021-032022-042023-052024-062025-072026-06
多因子複合(穩健)0050 含息
指標(2020–2026)多因子複合0050 含息
年化報酬(CAGR)36.8%35.2%
日夏普比率1.261.46
索提諾比率1.962.5
最大回撤-47%-34%
平均持股數40 檔1(ETF)

因子:營收成長、ROE 品質、價格動能、低波動。數字為 finlab sim() 實跑、已扣手續費與證交稅;過去績效不代表未來。

想用最新台股資料、自己改因子組合與持股數即時重算?登入 FinLab 後,整個回測會在你的瀏覽器跑真實 finlab 引擎(資料截至今日)。

回測方法與限制

這些數字是怎麼算出來的,逐項交代:

項目 本文設定
回測區間 2013-04 到 2026-06,共 13.1 年(受限於 ROE 資料起點 2013 年;資料快照日 2026-06-09)
交易成本 finlab sim() 台股預設值:手續費 0.1425%(未打折)、賣出證交稅 0.3%,已內扣
滑價 未另行假設;實際衝擊取決於資金規模與個股成交量,本文未估算策略容量
股票池 全上市櫃,資料含已下市股票,無生存者偏誤;未刻意排除金融股與 KY 股;ETF 因無月營收與 ROE 資料自然不會入選
流動性過濾 近 20 日平均成交金額大於 1,000 萬
前視偏差 月營收與 ROE 依公布時點向後填值到日頻;動能只用已實現的收盤價報酬
權重 等權,每月再平衡,前 20 檔即單檔上限 5%
周轉率 月均換股 56%,最高單月 100%;高周轉是本策略成本的主要來源,已反映在績效中
樣本內外 全段樣本內(in-sample),未做樣本外測試;參數敏感度是穩健性參考,不是樣本外證據
0050 基準 etl:adj_close 還原價含息買進持有,純指數算術、不含交易成本;基準不扣成本而策略扣,比較口徑對策略偏保守。本站其他文章常用 2018 到 2026 窗口(該窗口 0050 年化 25.05%),本文因 ROE 資料起點改用 2013 起算,窗口不同數字不同

目前的選股清單(2026-06-09 快照)

依排名法最新綜合分數選出的 20 檔(依代號排序):

2059、2360、2383、2408、3135、3167、3443、3528、3555、4931、
4973、5274、5289、5386、5864、6016、6274、6419、7610、8926

提醒:這是回測規則在快照日的機械輸出,不是投資建議;清單每月再平衡都會換約一半(月均周轉 56%),等你讀到本文時持股可能已經不同。正確用法是跑一次文末的 strategy.py 取得當下清單,而不是抄這份快照。

新手最容易踩的五個陷阱

陷阱 發生原因 本文的對應做法
過擬合 反覆調參直到回測漂亮,等於背考古題 參數掃描前先定主設定,七組結果全列,不挑最優(Bailey 等 2014)
未來函數 用公布前的財報或營收選股,回測虛高 月營收與 ROE 依公布時點對齊;finlab 資料自帶公布日結構
生存者偏誤 資料庫只剩活下來的股票,垃圾股的虧損消失 finlab 資料含已下市股票
成本低估 忽略手續費、證交稅與高周轉的複利侵蝕 sim() 內扣成本;月周轉 56% 已反映在 29.4% 裡
心理紀律 回撤 -44.7% 時停損出場,錯過反彈 數字先講明白:100 萬最深會見到約 55 萬,受不了就降低部位或不要用

第五點值得展開。回測裡 -44.7% 只是一個數字,實際經歷時是連續數月看著資產縮水、媒體天天喊崩盤。2,951 萬那條淨值曲線的前提是 13 年完全不中斷執行;歷史上多數人撐不過第一次腰斬。如果你的答案是「我會停損」,比較合適的起點是用小部位體驗一輪完整的回撤再決定,或從波動較低的策略入手。

AI 寫的回測可信嗎?自報數字 vs 實際跑出來的差別

判斷一份 AI 量化內容值不值得信,第一個檢查點是分清楚數字的來源:是 AI 憑語言模型「報」出來的,還是 AI 實際執行回測程式「跑」出來的。聊天機器人可能憑記憶生成一個看起來像樣的績效,AI Agent 則是真的抓 finlab 資料、跑回測引擎、把數字當作程式輸出交給你,差別整理如下:

數字來源 聊天機器人「報」數字 AI Agent「跑」數字
產生方式 語言模型依記憶生成,可能憑空編造 來自實際執行的回測程式輸出
可驗證性 無法檢查,問細節會越講越模糊 附完整程式碼,你可以自己重跑對照
交易成本 通常不交代,數字偏高 內扣手續費與證交稅,口徑寫清楚

本文所有績效都來自 finlab 回測引擎的實際輸出,不是 AI 的語言生成,所以每個數字都附了可重現的程式碼與下載檔。

要特別提醒另一個更隱蔽的問題:就算數字是真跑出來的,反覆用 AI 改提示詞、在同一段歷史資料上不斷重試,跑到績效漂亮為止,本質上是隱性的過度配適。你以為自己在「優化策略」,實際上只是在背這段歷史的考古題。Bailey, Borwein, López de Prado & Zhu (2014) 的結論很直白:回測過擬合會讓樣本外績效系統性低於回測值;Harvey, Liu & Zhu (2016) 更指出,學界與業界已經測過太多因子,新發現要用比傳統更嚴格的統計門檻檢驗才算數。所以「能不能重跑」之外,還要追問「這個結果是不是在同一段資料上調參調出來的」。連同其他常見話術的辨識方法,整理在 AI 量化交易詐騙的七個檢查點

常見問題

哪個 AI 最適合做量化交易?有 AI Agent 排名嗎?

通用的 AI Agent 排名(程式能力、推理能力跑分)跟「適不適合量化交易」是兩回事。量化研究的瓶頸在資料與回測引擎:AI 再聰明,沒有乾淨的台股資料與含成本的回測,產出的就只是看起來像樣的數字。實務上 Codex、Claude 或 RD-Agent-Quant 這類研究代理都要先檢查三件事:能不能取得目標市場資料、能不能重跑回測、能不能把程式碼與結果交給你驗證。模型排名只是輔助,研究流程才是核心。

量化 Agent/股票 Agent 是什麼?跟程式交易機器人一樣嗎?

量化 Agent 指能自主完成「想法轉程式、跑回測、解讀結果」的 AI 助手,工作在研究階段。程式交易機器人通常指依固定訊號自動下單的執行程式,工作在交易階段。兩者的差別與分工,程式交易是什麼有完整說明。本文的 AI Agent 屬於前者:它幫你驗證策略,下不下單由你決定。

AI Agent 做股票分析可信嗎?怎麼防止它編數字?

關鍵是分清楚數字是 AI「報」出來的還是真跑出來的,實務檢查法有三招:要求 AI 附上完整程式碼、自己重跑一次對照結果、檢查回測有沒有內扣交易成本。完整說明見上方〈AI 寫的回測可信嗎?自報數字 vs 實際跑出來的差別〉。

做台股量化交易要用什麼股票軟體?

看你的起點。完全不想碰程式:用瀏覽器開 FinLab Studio 直接輸入條件回測。想用 AI 對話迭代策略:把 /setup 提示詞貼給 Codex app 或 Claude cowork。一般股票軟體偏看盤、下單或條件篩選;量化選股系統要能處理資料、因子、回測與成本。如果你搜尋的是「量化選股系統是什麼、怎麼用」,可以用本文的四層架構檢查:資料是否完整、因子是否可重現、回測是否含成本、結果是否能下載驗證。市面上六種主流台股回測軟體的完整比較(含 XQ、TradingView、MultiCharts),見台股回測工具怎麼選,與 XQ 的逐項對照另見比較頁

不會寫 Python 也能做 AI 量化交易嗎?

可以,本文三段對話就是示範:策略邏輯全用中文描述,程式由 AI 產生。不過看得懂基本程式對你有利,因為你能檢查 AI 有沒有用到未來資料、成本有沒有扣。想補底子的話,Python 量化交易教學會帶你從 /setup 設定一路到第一個台股回測,FinLab 平台新手指南則是平台功能的快速導覽。

AI Agent 交易可以自動幫我下單嗎?AI 自動化交易要注意什麼?

技術上可以串券商 API 做 AI自動交易,但我們不建議在策略沒有經過足夠長的實單觀察前就全自動化。比較穩健的順序:回測驗證、小部位手動跟單數月、確認實際成交與回測差距可接受,再考慮自動化執行。AI Agent 交易最容易被忽略的是錯單保護、委託失敗重試、盤中流動性與風控上限;這些都不是回測報酬率能替你回答的問題。

需要多少資金才能開始?

學習與回測完全免費,不需要投入資金。實際執行面,這個策略持有 20 檔等權,考慮台股以張為單位(零股交易亦可),數十萬以上比較能貼近等權配置;策略持股偏中小型股,資金規模大到單筆買賣影響股價時(流動性門檻 1,000 萬日均成交金額下,約數千萬以上),回測與實單的差距會擴大。

排名法策略未來還會有效嗎?

沒有人能保證。本文是全段樣本內回測,13 年的歷史優勢可能因為市場結構改變、因子擁擠而衰減;我們能做的是每季用新資料重跑一次,數據惡化就如實更新。讀者自己驗證最新數據的方法:跑一次文末的重現腳本,幾分鐘就有答案。

各家 AI 工具的台股實戰專文

同一套 finlab 回測流程,接上不同的 AI agent 會長出不同的工作型態。每篇專文各用一個不同的因子家族實測,數據都可下載重現:

下一步:三條路徑直接開始

  • 零安裝:打開 FinLab Studio,用瀏覽器直接輸入選股條件跑回測。
  • AI 工具:把 /setup 提示詞貼給 Codex app 或 Claude cowork,複製文末提示詞範本開始第一段對話。
  • 加入社群FinLab Discord 裡有上千位台股量化同好,策略卡關、回測結果怪異都可以直接貼出來討論。

下載與重現

  • strategy.py:排名法策略完整原始碼,可直接執行取得最新選股清單
  • agent_strategies.py:本文全部數據的重現腳本(三策略、七組敏感度、股災區間、圖表)
  • data.csv:四條淨值曲線的每日數據
  • metrics.json:全部指標的機器可讀快照
  • 互動式回測報告:篩選法排名法

附錄:可直接複製的提示詞範本

範本一(篩選法)

請幫我建立台股選股策略:營收年成長率大於 20%、ROE 大於 10%,
只買近 20 日平均成交金額大於 1,000 萬的股票,每月再平衡、等權重。
用 finlab 資料回測,給我年化報酬、最大回撤、總報酬,
並跟 0050 含息買進持有比較。

範本二(加嚴條件)

把條件改嚴格:營收年成長率大於 30%、ROE 大於 15%、本益比小於 20,
其他設定不變,回測後跟上一個策略比較,並分析持股數量的變化。

範本三(排名法)

改用排名法:營收年成長率、ROE、60 個交易日股價動能三個因子
各自在全市場做百分位排名,綜合分數 = 營收排名 × 40% + ROE 排名 × 30% +
動能排名 × 30%。流動性過濾不變,每月選綜合分數最高的前 20 檔等權買入,
回測後跟前面的策略和 0050 比較。

範本四(參數敏感度掃描)

請對排名法做參數敏感度測試:權重組合測 50/25/25、30/30/40、
等權 33/33/34、20/40/40,持股數測前 10、前 20、前 30,
每一組都實際回測,把年化報酬、最大回撤、索提諾整理成表格。
不要幫我挑「最好」的參數,我要看結論對參數敏不敏感。

使用提示:範本可自由改條件,但記得兩個原則,要求 AI 附上完整程式碼(方便檢查未來函數),以及確認回測有內扣交易成本。

延伸閱讀:想看更多現成的台股選股提示詞,以及為什麼多數熱門寫法其實跑輸 0050、把一句話逐步加嚴成有效規格的過程,可參考 AI 選股提示詞 30 條與真實回測


投資警語:本文僅供教學參考,不構成投資建議。文中全部回測數據(年化 29.4%、最大回撤 -44.7% 等)為 2013-04 至 2026-06 的歷史模擬,已含 finlab 預設交易成本,但未含滑價與容量限制;過去績效不代表未來表現。本策略最大回撤近五成,代表 100 萬可能一度縮水至約 55 萬,請依個人風險承受度審慎評估,僅使用虧損不影響生活的閒置資金。

最後更新:2026-06|回測區間:2013-04 ~ 2026-06(資料快照 2026-06-09)|作者:FinLab 量化研究團隊(經量化研究員審閱)

FinLab AI

想建立自己的策略?

用自然語言描述你的選股想法,AI 自動驗證、回測、給你答案

免費開始

更多多因子選股研究

查看全部