用 Claude/GPT 寫出台股回測策略:從提示到績效報告
用 Claude/GPT 寫出台股回測策略:從提示到績效報告
不會寫程式也能回測台股策略?2026 年,你需要學的不是 Python,而是怎麼跟 AI 說話。
前言:一個不會寫程式的人,做出了年化 50% 的策略
先看一組數據:
| 策略 | 年化報酬 | 最大回撤 | 開發方式 |
|---|---|---|---|
| 傳統量化(低 PE + 高 ROE) | 6.60% | -49.74% | 手寫 Python |
| AI 多因子選股 | 8.20% | -63.38% | 一段 Prompt |
| AI 三輪迭代(動能 + 品質) | 12.48% | -41.29% | 三輪 Prompt 對話 |
| 0050 買入持有 | 13.02% | -55.75% | 什麼都不做 |
| Ralph Loop 8 輪優化 | 50.47% | -42.28% | 系統化 AI 迭代 |
(來源:finlab AI 研究,實際回測數據)
你沒看錯。一個不會寫任何程式碼的人,靠跟 AI 系統化對話 8 輪,就做出了一個:
- 年化報酬 50.47%(是 0050 的 3.9 倍)
- 最大回撤 -42.28%(比 0050 的 -55.75% 好了 13%)
從第一版的 12.48% 到最終的 50.47%,報酬率翻了 4 倍。
關鍵不在於第一次就對,而是你有沒有一套系統化的迭代方法。
但是...事情沒有這麼簡單。
你看到第一行了嗎?「傳統量化策略」只有 6.60% 的年化報酬,連 0050 都打不過。這代表什麼?
不是用了 AI 就自動賺錢。關鍵是你怎麼跟 AI 對話。
今天這篇文章,我要手把手帶你走過這整個過程——從第一句 Prompt 開始,到最終拿到一份完整的績效報告。
不需要任何程式基礎。你只需要會打字。
Ch.1:為什麼 2026 年要學 Prompt,而不是學 Python?
AI 時代的典範轉移
2026 年,投資界正在發生一場安靜的革命。
根據台灣證交所數據,2025 年台股程式交易佔總成交比重已突破 30%,較三年前翻了一倍。而在台灣最大投資社群 PTT Stock 板,「AI 選股」相關討論量 2025 年較前一年成長 300%。
量化交易:用數學模型和電腦程式來分析市場、做出交易決策的方式。過去這是華爾街專利,現在 AI 讓每個人都能做到。
但有趣的是,大部分台股投資人還在糾結一個問題:「我要不要學 Python?」
這就像 2010 年有人問:「我要不要學 HTML 才能上網?」
答案是不用。 就像你不需要學 HTML 就能用 Google,你也不需要學 Python 就能做量化投資。
Prompt 就是新時代的程式語言
想像一下這個場景:
傳統做法(需要程式能力):
顯示程式碼
# 你需要寫這種程式碼
from finlab import data
pe = data.get("price_earning_ratio:本益比")
roe = data.get("fundamental_features:ROE稅後")
position = (pe > 0) & (pe < 15) & (roe > 10)
report = sim(position, resample='M')AI 時代的做法(只需要 Prompt):
「幫我找出本益比 15 以下、ROE 大於 10% 的股票,然後回測看看績效如何。」
結果完全一樣。 但第二種方法,你只花了 10 秒鐘。
點菜的藝術
好葉有個很棒的比喻:
Prompt 就像點菜。 AI 是你的私人大廚,finlab 是他的食材庫。你不需要知道怎麼切菜、怎麼開火,你只需要說清楚你想吃什麼。
| 概念 | 生活化比喻 | 說明 |
|---|---|---|
| Prompt | 點菜 | 越具體,AI 做得越好 |
| 回測 | 時光機實驗 | 回到過去驗證你的投資想法 |
| 年化報酬 | 年利率 | 平均每年賺多少 % |
| 最大回撤 | 最痛的時刻 | 你的策略最慘會虧多少 % |
| 過度擬合 | 考古題投機客 | 只會解歷史題,遇到新題目就廢了 |
| 交易成本 | 隱形殺手 | 手續費 + 滑價,偷偷吃掉你的報酬 |
好了,理論講夠了。讓我們開始實戰。
Ch.2:第一次對話 — 選股條件設計
你的第一句 Prompt
大部分人跟 AI 對話時犯的第一個錯誤是:太模糊。
❌ 錯誤示範:「幫我選一些好股票」
這就像走進餐廳說「給我一些好吃的」。你會得到什麼?可能是一碗泡麵。
✅ 正確示範:「幫我找本益比低於 15、ROE 大於 10% 的股票」
這就像說「我要一份不要太辣的宮保雞丁,飯少一點」。具體!
實戰 Prompt #1:基礎選股
💬 你對 AI 說:
幫我找出符合以下條件的台股:
- 本益比(PE)在 0 到 15 之間
- ROE(股東權益報酬率)大於 10% 然後用這些條件回測看看,從 2013 年到現在,這樣選股的績效如何。
🤖 AI 回覆:
我幫你用這兩個條件篩選並回測了。以下是結果:
策略:低本益比 + 高 ROE
指標 數值 年化報酬率 (CAGR) 6.60% 最大回撤 (MDD) -49.74% 嗯...年化只有 6.6%,而且最大回撤接近 50%。 相比之下,0050 的年化報酬是 13.02%。 看起來這個簡單的「低 PE + 高 ROE」策略,打不過大盤。
📌 以上回測結果已包含 finlab 預設交易成本(手續費 0.1425% + 證交稅 0.3%),但未計入滑價成本。
(來源:finlab 實際回測數據)
畫出低PE+高ROE策略 vs 0050 從 2013 年到 2025 年的累積報酬曲線比較圖
顯示程式碼
from finlab import data
from finlab.backtest import sim
pe = data.get("price_earning_ratio:本益比")
roe = data.get("fundamental_features:ROE稅後")
position = (pe > 0) & (pe < 15) & (roe > 10)
report = sim(position, resample='M', name='低PE+高ROE策略')
report.display()
圖 1:第一版策略(藍色)vs 0050(灰色)。數據會說話——簡單的條件篩選不夠用。
等一下,這不是說 AI 很厲害嗎?怎麼第一次就輸了?
這正是重點。AI 不是魔法水晶球。 它是一個工具,結果取決於你怎麼使用它。
就像一把好刀,在大廚手裡能做出米其林料理,在路人手裡可能只能切水果。
問題出在哪?讓我們進入第二次對話。
Ch.3:第二次對話 — 分析失敗原因 + 加入更多因子
為什麼第一版策略會失敗?
你得學會跟 AI 「追問」——這是 Prompt 的進階技巧。
實戰 Prompt #2:分析失敗原因
💬 你對 AI 說:
上一個策略只有 6.6% 的年化報酬,輸給 0050。幫我分析可能的原因,然後改進策略。
我想試試:
- 在低 PE + 高 ROE 的基礎上
- 加入「營收年增率大於 0%」的條件
- 加入「股價在 120 日均線之上」的趨勢確認
這樣可以避免買到正在衰退的便宜股嗎?
🤖 AI 回覆:
你的直覺很對!「低 PE + 高 ROE」的問題可能是:
- 價值陷阱:PE 低不代表便宜,可能是公司在衰退
- 缺乏趨勢確認:買了便宜股但股價一直跌
加入你建議的條件後,回測結果:
策略:低 PE + 高 ROE + 營收成長 + 趨勢確認
指標 原始策略 改進策略 變化 年化報酬 6.60% 8.20% +1.6% 最大回撤 -49.74% -63.38% -13.6% ⚠️ 報酬提升了一點,但最大回撤反而惡化了! 問題可能是條件太多,選到的股票太少,集中度過高。
📌 回測已含手續費與證交稅。條件篩選型策略的隱性風險:選股數量不穩定,某些月份可能只剩 3-5 檔,集中度暴增。
(來源:finlab 實際回測數據)
看到了嗎?加了更多條件,報酬提升,但風險反而更大了。
你覺得問題出在哪? 提示:想想「分散投資」這個概念。
(答案在下一段揭曉)
關鍵洞察:選股邏輯的根本轉變
問題不在於「加更多條件」,而在於選股的邏輯方式。
傳統做法是「篩選」——設定門檻,符合就選、不符合就淘汰。
但更好的做法是「排名」——不問「符不符合標準」,而是問「誰最好」。
這是一個微妙但關鍵的差異:
| 做法 | 邏輯 | 風險 |
|---|---|---|
| 門檻篩選 | PE < 15 且 ROE > 10% | 可能選太少或太多 |
| 排名選股 | 從品質好的股票中選動能最強的 | 持股數可控 |