- 登入
- 註冊


很多人以為,只要跟 AI 簡單下指令,它就能自動幫你找出賺錢的策略。但真正做過的人都知道,事情沒有那麼簡單。只要 K 棒資料 來源不一致、進出場規則沒定義清楚,或成本沒有先算進去,最後就很容易得到失真的回測結果。所以這篇文章會先從 AI 前導 講起,整理一套實際可用的 回測守則,讓後續優化建立在正確基礎上。
*贊助商內容

AI 不是無所不能。
AI 的真正價值,是在專業監管之下,能把很多事情做得非常快、非常深、非常廣。
但反過來說,如果你自己對目標不夠清楚、對流程不夠熟悉,就很難有效監管 AI。
你無法監管,它就很難真正按照你的意思走。
尤其在做大範圍測試時,如果一開始沒有把方向想清楚,往往只會消耗大量 Token,最後卻得到一堆不夠精準的結果。
所以我會建議,正式開始之前,先把幾件事想清楚:
當你把需求逐步講清楚之後,再交給你最順手的 AI 去優化提示詞。
而且要明確告訴它:這份提示詞是要給誰執行的。
因為不同 AI 的強項、工具能力、上下文習慣都不一樣。
同一句提示詞,交給不同模型,跑出來的結果可能差很多。
提示詞產出之後,事情還沒結束。
我們還必須重新研讀一次,確認 AI 寫出來的內容,是否真的符合我們原本的需求。
不是「它有寫」就算完成,而是要確認它有沒有寫對、寫完整、寫到能真正執行。
所以,使用 AI 並不是把工作丟給它就好。
真正重要的是:你要先想清楚,再講清楚,最後檢查清楚。
最後,我無法保證這些教學與範例能在每個人的電腦環境中完全重現。
因為最終產出,往往會受到所使用的 AI、操作者本身的知識程度,以及提示詞細節差異的影響。
在讓 AI 介入程式交易策略之前,先把資料、規則與驗證方法對齊
我從網頁版的 ChatGPT、Gemini、DeepSeek、Qwen,到本地端的 Antigravity、Codex、Claude,讓它們協助我撰寫程式交易策略,前前後後也摸索了半年以上。
把想法或特徵轉成程式碼,通常還算容易;但只要進入「給定 K 棒資料,讓 AI 優化程式碼」甚至「批量演化策略」的階段,就不能再只靠一句提示詞硬上,必須先把回測守則講清楚。
核心觀念: 你先定義規則,AI 才有資格優化;規則沒對齊,績效再漂亮也可能只是幻覺。
很多人一開始會以為,只要把策略原始碼丟給 AI,再附上一包歷史資料,它自然就會幫你優化到漂亮的 PF 與回撤。
實際上,AI 非常容易在你沒明講的地方自行腦補:資料來源混雜、交易時段判定錯誤、進出場規則套錯、指標算法不一致、成本漏算,最後做出一份看起來很厲害、實際上卻無法落地的回測報告。
所以真正的重點不是先叫 AI 去找聖杯,而是先把它訓練成一個會遵守你平台規格的回測助手。
大原則很簡單:資料要和你最後要落地的回測平台一致,而且最好一次由同一來源完整下載。如果今天手動收集,偶爾拿到大台、偶爾拿到小台、偶爾又混到微台,再把它們硬併在一起丟給 AI 回測,得到的結果通常只會越看越不敢信。
對我來說,外部公開 K 棒資料不是不能參考,但如果來源不穩、規格不明、交易時段不一致,那它更適合拿來觀察,不適合拿來做批量演化。你自己都不信任資料了,AI 也不可能算出可信的答案。
我的蝦蝦以前最常問我的,就是為什麼 8:45 或 15:00 沒有進出,這件事乍看只是小細節,實際上卻會直接影響回測對不對齊。
例如 13:45 收盤判斷要買進,有的平台會在 15:00 視為下一根進場;但在 XQ 的規則下,13:45 產生訊號後,下一次可成交點位是 15:15。MC 的 Next Bar 邏輯又可能是另一種處理方式。如果你不先定義清楚,AI 很容易把不同平台的交易邏輯混在一起。
這也是為什麼一旦進入批量疊代,我才真正發現很多細微紕漏:單支策略時你可能還看不出來,一旦放大量,就會整批一起偏掉。
不同交易平台之間的指標運算,常常存在實作差異;再加上 Python 套件本身的預設處理方式,也可能跟你的交易平台不完全一致。所以若你要 AI 精準對齊交易訊號,就不能只丟一句模糊指令,而是要明確規定它怎麼計算、用哪些欄位、從哪一根開始。
在這種情況下,我會傾向要求 AI 以手動公式展開運算,盡量不要直接呼叫函數,避免不同環境下的預設差異把訊號整個帶歪。
很多 AI 做出來的回測報告,看起來獲利不差,問題是它根本沒扣成本。只要少了手續費、期交稅、滑價,PF 和淨利都會被高估,尤其是高頻或交易次數多的策略更明顯。
所以在前導階段就要先把成本模型講清楚:每點價值是多少、單邊費用多少、是否扣期交稅、是否加入固定滑價、夜盤與日盤是否同規格。這些不先定義,後面的優化很容易只是在優化假績效。
回測不是只看 PF 漂不漂亮,還要看樣本夠不夠。如果一個策略三年只交易幾十筆,就算績效很好看,也可能只是剛好碰到特定行情。
因此在批量演化前,最好先設一個最低統計門檻。例如:至少要有足夠的交易筆數、足夠長的回測期間,並且不能只靠少數幾筆大賺撐起整體績效。若沒有先設門檻,系統往往只會挑出那些看起來漂亮、但其實最脆弱的策略。
比較穩的做法,是先讓 AI 完成單支策略的訊號對齊,再做同區間回測,然後才進入停損、停利、濾網與參數調整。最後還要再做跨區間或多時框驗證,確認這不是過度擬合之後,才有資格進入產出程式碼的階段。
也就是說,最佳化不是終點,只是驗證流程中的一段。如果 AI 一上來就大範圍掃參數,你得到的通常不是更穩,而是更會貼合歷史。
當你開始把多個模型串在一起工作時,最怕的不是它做不出來,而是它做了很多事卻沒有留下紀錄。沒有紀錄,你就無法知道它改了哪些規則、替換了哪些參數、用了哪一份資料。
所以我會建議:每一次回測都保留資料來源、區間、策略版本、參數、回測報告與調整原因。這樣不只是方便你回頭審核,也能讓下一個模型接手時少掉很多傳話失真。
| 檢查項目 | 要先定義的內容 | 為什麼重要 |
|---|---|---|
| 資料來源 | 同一商品、同一規格、同一時段、同一來源批次下載 | 避免混入不同商品或不完整資料 |
| 進出場規則 | 訊號判定時間、下一根定義、夜盤/日盤銜接 | 避免不同平台邏輯混用 |
| 指標算法 | 計算公式、起算方式、是否手動運算 | 避免訊號不對齊 |
| 成本模型 | 手續費、期交稅、滑價、每點價值 | 避免績效虛高 |
| 統計門檻 | 最低交易次數、最低回測年限、是否分 IS/OOS | 避免樣本太少卻誤判可用 |
| 紀錄方式 | 報告保存、版本號、參數與修改說明 | 方便審核與追溯 |
做完這些之後,一定要明確告訴 AI:以上內容就是回測守則,因為只要沒有被定義,它就很可能開始自由發揮;而在量化領域,自由發揮通常不叫創造力,叫偏移。
回測做錯,不只是浪費使用者的 token,也是在浪費時間、算力與你的判斷力。
先把規則對齊,再讓 AI 去做大規模蒸餾、疊代與優化,這樣得到的結果才比較接近真正可用的研究素材。
當回測守則對齊後,下一步不是立刻批量蒸餾,而是先把龍蝦能工作的系統骨架搭起來。
*本文主要由 AI 量化交易共同群主 阿考 撰寫,並由 Tony 與量化通團隊審核校稿後發佈。