AI 期貨交易:能做什麼、不能做什麼,以及如何檢驗
AI 在期貨交易中的用處,是撰寫與測試規則,而不是預測價格。它產生的每一條規則都只是候選策略,在動用任何資金之前,必須先在它從未見過的資料上、規則固定下來之後檢驗。
作者 Soren Huang · 發佈 · 更新於 · 編輯原則
目錄
AI 在期貨交易中實際能做什麼?
AI 用在期貨交易,最適合的角色是撰寫與測試交易規則,而不是預測價格。AI 能草擬規則,把它變化成數千個候選策略,並計入成本逐一回測。每個產出仍然只是候選策略,在動用任何資金之前,必須先在它從未見過的資料上檢驗。
本文所說的 AI,是指大型語言模型:能閱讀與撰寫文字的程式,例如可以和你對話的助理。它在期貨交易中有三種可能的工作:用一般文字寫出規則並加以變化;執行或讀取一個回測多種變化、並計入手續費與滑價的搜尋;或是請它預測明天的方向。不妨把它想成一位不知疲倦的初級分析師,午餐前就能草擬上百個規則構想,每份草稿都能用舊 K 棒測試。至於它對明天收盤的猜測,價值不比任何人的猜測高,而且在當天結束之前,沒有任何測試能為這個猜測評分。
它草擬的規則都是常見的那幾種:均線交叉、通道突破、大幅偏離後回到平均。期貨演算法交易策略的五種類型說明 AI 通常會提出哪些策略,以及各類型需要的設定。AI 不會發明新型態的優勢。它只是比人更快、以更多變化寫出已知的類型,而這只有在後續的測試誠實時才有用。
AI 能預測期貨價格嗎?
沒有任何模型(無論是否為 AI)展現過可靠的期貨價格點預測,原因在資料,而不在模型。點預測是對某個時間點價格位置的陳述,例如「ES 明天收盤上漲 30 點」。從一根 K 棒到下一根,多數波動是雜訊:它是許多委託單的加總,而下單的原因是模型看不到的。有微小偏差的硬幣是個好比喻。擲上千次,你可以量出偏差的程度,卻仍然無法預測下一次擲出什麼。
模型若有足夠的自由度,能做到的是擬合過去。過度最佳化是把規則調得與某一段歷史過於貼合,使它描述的是那段歷史中的雜訊,而不是會重複出現的型態。一條緊貼到今天為止每個起伏的曲線,看起來像預測。新的 K 棒出現後,它會偏離真實路徑,因為它學到的起伏是隨機的。Sullivan、Timmermann 與 White(1999)在同一段價格歷史上測試了數千條技術規則,顯示其中最好的那條看起來不錯,主要是因為試了太多條;White(2000)提出能修正這個效應的統計檢定。
AI 能老實找出的,比預測更弱:一條在過去 K 棒上、扣除成本後表現出某種樣子的規則。「過去這樣表現」與「下個月會這樣表現」是不同的主張。前者可以寫下來並檢驗,後者不行。網路上販售的許多期貨訊號,是把方向預測包裝成後者。對其中任何一個,有用的問題是:它在哪些資料上檢驗過,檢驗之前規則是否已經固定下來。
AI 當構想產生器與 AI 當預測者,差別在哪?
構想產生器提出你能測試並淘汰的規則;預測者給你一個必須相信的方向。差別不在 AI 有多聰明,而在它產出什麼、你如何檢驗,以及你何時發現它錯了。
| AI 當構想產生器 | AI 當預測者 | |
|---|---|---|
| 它給你什麼 | 一條可測試的規則,進出場條件明確 | 一個方向:多、空或空手 |
| 如何檢驗 | 計入成本回測,再用樣本外資料檢驗 | 只能實單交易才知道 |
| 何時發現錯了 | 交易前,在過去的 K 棒上 | 虧損已經出現在帳戶之後 |
| 典型的失敗 | 對歷史過度最佳化 | 自信卻錯誤的預測 |
這個區分對期貨新手最重要,因為不論是可測試的規則,還是無法測試的預測,AI 自信的回答聽起來都一樣。檢驗方法只有一步:問這個產出能否用舊 K 棒、計入成本來執行。規則可以,方向不行。我們自己也用大型語言模型做過這個練習,記錄在測試 Claude AI 是否擅長建立交易策略;草稿都是一般規則,決定哪些留下的是回測,而不是 AI。
用 AI 自動搜尋策略是如何運作的?
自動策略搜尋把一個構想變成規則家族,用相同的成本與執行設定回測每個成員,排序後留下幾個交給檢驗。規則家族是指一條規則,保留部分設定不固定,例如突破規則的回看期間可以是 10 到 60 根 K 棒中的任何值。參數範圍是每個開放設定可取值的清單,規則家族就是這些值的所有組合。AI 的工作在開頭與結果解讀,不在挑選贏家。
- 用一般文字寫出構想。AI 的第一項工作。「趨勢指標上升且價格突破近期高點時做多,趨勢指標轉下時出場」這樣的句子就足以開始。
- 規則家族與參數範圍。AI 把構想寫成精確的進出場條件,並為每個數字給定範圍。在 AlphaPrime(Valynox)中,這由策略生成負責,規則與指標、參數範圍、進出場條件與搜尋限制,在第一次評估開始之前就已固定。
- 每個變化都計入手續費、滑價與下一根 K 棒成交來回測。下一根 K 棒成交是一種設定:在訊號之後的那根 K 棒成交,因為以收盤價決定的規則,無法在同一個收盤價交易。要把滑價寫成金額,需要所測合約的每跳動點價值;免費的期貨合約與損益計算機顯示跳動點大小、每跳動點價值與每點價值,並把 1 個跳動點的滑價換算成每口的金額。這一步需時多久,取決於處理器或顯示卡、資料長度與研究設定。
- 依報酬相對回撤排序。AI 的第二項工作:讀排序結果,說明強與弱的候選策略有哪些共通點,讓下一個構想更有依據。
- 檢驗留下的幾個。由人決定適用哪些關卡、什麼算通過;下方的檢驗一節會說明這些關卡。
- 匯出原始碼到將執行策略的交易平台。
AI 操作 AlphaPrime 時,使用的是你自己的 Claude 個人訂閱,不需要 API 金鑰。AI 從不憑感覺挑出贏家。它寫出構想、讀排序結果、提出下一個構想,而檢驗之後什麼算通過,由人決定。
AI 建立的期貨策略會過度最佳化嗎?
會,AI 建立的策略預設就會過度最佳化,因為任何從許多變化中留下最佳者的搜尋,都會讓留下來的那個看起來比實際好。想像一個房間裡有一千人,各擲硬幣十次。有人擲出九次正面。那個人並沒有學會擲硬幣。Bailey、Borwein、López de Prado 與 Zhu(2014)在回測中顯示了同樣的效應:同一段歷史上試的變化越多,即使沒有任何變化具優勢,最佳的樣本內結果也會越高;他們 2017 年的論文則為最佳者已過度最佳化的機率給出估計。
下方的回測顯示留下的候選策略長什麼樣子。它測試的是 ES 日 K 棒,2019-01-02 至 2025-06-30,多空皆做,1 口,每筆交易手續費 $20、滑價 $25。規則是 ADX 規則,一種趨勢強度指標,作為唯一的進出場,沒有停損、停利與濾網。它是以標準指標建立的替代規則,不是 AI 撰寫的策略,所以呈現的是搜尋的機制,而不是主題本身。所示的候選策略,是搜尋在約一千次嘗試中留下的那一個,依報酬相對回撤挑選。
來源:AlphaPrime 產品引擎(CPU),2026-10-31 執行。ES 日線,2019-01-02 至 2025-06-30,多空都做,1 口,每筆手續費 $20、滑價 $25。
| 項目 | 結果 |
|---|---|
| 淨損益(已平倉交易) | $99,702.5 |
| 最大回撤 | $60,102.5 |
| 交易筆數 | 43 |
| 勝率 | 53.49% |
| 獲利因子 | 1.643 |
| 平均每筆損益 | $2,318.66 |
| 持倉時間占比 | 88.68% |
把這張表當成紀錄來讀,而不是期望。事後挑出留下的候選策略,會讓它顯得更好:在約一千個變化之中,這個在這段歷史上排名最佳,它 $99,702.5 的淨損益中,有一部分是每個「從眾多中挑最佳」的結果都帶有的選擇加成。43 筆交易偏少;由 43 筆交易得出的平均每筆損益 $2,318.66,只要少數幾筆交易改變,就可能大幅變動。持倉時間占比 88.68%,表示這條規則幾乎一直持有部位,所以它的走勢與這幾年 ES 走過的路徑綁在一起。這些都不代表 ADX 規則替交易人賺到了那筆錢,也不代表任何人可以期待如此。它只說明這次搜尋的過去是這個樣子。

交易 AI 策略之前,如何檢驗?
先在看結果之前寫好通過規則,再依固定順序執行各項檢查,遇到第一次失敗就停止,而不是一路調整到策略通過。每項檢查都是一道關卡。看到結果後才調整的關卡,不算關卡;那只是另一輪調整,而它背後的資料也不再是沒看過的。
- 樣本外區塊,規則固定。樣本外資料是歷史中,搜尋的任何步驟都沒碰過的部分。先寫下通過規則,例如:淨平均每筆損益維持為正,且至少保有樣本內水準的某個比例。然後把候選策略原封不動執行一次。
- 推進分析視窗。推進分析是在一個視窗上調整設定,原封不動套用到接下來的視窗,向前推移並重複,再把未經觸碰的區段接成一個結果的測試。它能從同一段歷史產生更多樣本外交易,在單一區塊交易偏少時特別重要,例如六年 43 筆交易。
- 成本加倍。以兩倍滑價重新執行。只有在成交便宜時才有效的規則,依賴的是執行,不是型態。
- 相鄰設定。測試所選設定旁邊的設定。一條在 14 根 K 棒長度有效、在 12 或 16 卻無效的規則,學到的是某個數值附近的雜訊。
- 最後保留的期間,只測一次。把最近的一段排除在上述每一次測試之外。用它檢驗留下來的策略一次,對照事先寫好的規則讀結果,然後接受或淘汰。
五道關卡中的所有設定都要保持相同:相同的交易時段、相同的成本、相同的執行方式。以 ES 來說,這包括 K 棒只涵蓋日盤,還是涵蓋接近 24 小時的全時段;接近 24 小時的期貨交易時段如何影響回測說明了這個選擇。由於關卡的順序與遇到第一次失敗就停止的習慣,比任何單一檢查都重要,AlphaPrime 以這個精神把檢查做成策略檢驗:推進分析與其他檢驗步驟依固定順序執行,門檻由你在搜尋開始前設定,策略未通過較早的檢查時,就停止後面的檢查。上面的成本加倍與相鄰設定重測,是你可以用相同回測設定自行建立的測試。
AI 期貨交易能獲利嗎?
沒有任何工具能單靠自己讓期貨交易獲利,AI 也不例外。三個數字決定結果:扣除成本後的淨平均每筆損益、背後的樣本外交易筆數,以及規則是否原封不動通過每道關卡。AI 只是縮短取得這三個數字的時間。免費的勝率計算機:期望值與損益兩平勝率能依勝率、平均獲利與平均虧損,算出其中第一個。
值得記住的公式只有一個:淨平均每筆損益 = 毛平均每筆損益 − 來回成本。其中毛平均每筆損益是扣除手續費與滑價之前每筆交易的平均獲利,來回成本是一次進場加一次出場所付出的手續費、費用與滑價。若淨平均每筆損益相對於來回成本偏小,滑價小幅上升就會把它吃掉。
假設性範例
假設一條 AI 草擬的規則,在微型指數期貨上的毛平均每筆損益為 $90,來回成本為 $45。淨平均每筆損益是 $45。若這個數字建立在 40 筆樣本外交易上,少數幾筆交易改變就可能讓它歸零。若它建立在 400 筆樣本外交易上,並在滑價加倍後仍然成立,就是值得帶到最後保留期間的證據。同一條規則、同一個 $45;交易筆數決定這個數字有多大意義。
| 回測結果是什麼 | 回測結果不是什麼 | |
|---|---|---|
| 性質 | 一條規則在過去 K 棒上的紀錄 | 對未來 K 棒的承諾 |
| 成本 | 已扣除你輸入的成本 | 已扣除你實際會付出的成本 |
| 選擇 | 所試候選策略中的最佳者 | 一般的候選策略 |
| 用途 | 檢驗決策的輸入 | 交易的理由 |
下一步是具體的。拿你最喜歡的那個 AI 草擬的候選策略,在執行任何東西之前,先把五道關卡各自的通過規則寫在紙上,再把第一道關卡在規則固定的情況下執行一次。接著數樣本外交易筆數,算出滑價加倍後的淨平均每筆損益,把兩者與你寫下的數字比較。無論結果如何,你對那條規則的了解,都會比任何預測能告訴你的更多。
常見問題
AI 能預測期貨價格走勢嗎?
沒有任何模型展現過可靠的期貨價格點預測,因為多數 K 棒之間的波動是雜訊,沒有任何輸入能事先解釋。AI 能做的,是寫出交易規則,並顯示該規則在過去 K 棒上、扣除成本後的表現。那是過去的紀錄,不是預測,而且只有在規則於搜尋從未碰過的資料上檢驗過之後,才有意義。
AI 期貨交易會賺錢嗎?
沒有任何工具能自行決定這件事。結果取決於扣除手續費與滑價後的淨平均每筆損益、背後有多少筆樣本外交易,以及規則是否原封不動通過每道檢驗關卡。AI 縮短的是產生與測試候選策略的時間;它不會改變這三個數字必須呈現的內容。
如何判斷 AI 策略是否過度最佳化?
把它原封不動用在沒看過的資料上,比較分割前後權益曲線的斜率。樣本內陡峭平滑地上升,接著樣本外平坦或下滑,是最明顯的跡象。另有兩項檢查有幫助:所選設定旁邊的設定表現應該相近,且結果在滑價加倍後仍應成立。作為眾多候選中的最佳者,留下來的候選策略會因這個選擇而偏高,因此預期會有一些下滑,並對照事先寫好的規則來評斷。
用 AI 做期貨交易需要撰寫程式嗎?
你需要的是用一般文字描述構想,並讀懂回測報表;AI 能寫出精確的進出場條件並設定參數範圍。無法交出去的是決定。執行前先寫好通過規則、保留最後一段資料不動、遇到第一次失敗的檢查就停止,這些是要由人自己負責的部分。
參考文獻
- Bailey, D. H., Borwein, J., López de Prado, M., & Zhu, Q. J. (2014). Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance. Notices of the American Mathematical Society, 61(5), 458–471.
- Bailey, D. H., Borwein, J., López de Prado, M., & Zhu, Q. J. (2017). The Probability of Backtest Overfitting. Journal of Computational Finance, 20(4), 39–69.
- Sullivan, R., Timmermann, A., & White, H. (1999). Data-Snooping, Technical Trading Rule Performance, and the Bootstrap. The Journal of Finance, 54(5), 1647–1691.
- White, H. (2000). A Reality Check for Data Snooping. Econometrica, 68(5), 1097–1126.

