VALYNOXSTRATEGY RESEARCH TECHNOLOGY
AlphaPrimeAlphaPrime
策略學院 / 策略生成

期貨演算法交易軟體:真正重要的 5 項功能

以五項功能評斷期貨演算法交易軟體:它是研究規則還是只執行規則;回測如何處理成本、成交、交易時段與轉倉;對未見過的資料執行哪些檢驗;可匯出到哪些平台;以及在金錢與學習時數上的成本。檢驗比速度或指標數量更重要。

作者 · 發佈 · 更新於 · 編輯原則

目錄
  1. 期貨演算法交易軟體該看什麼?
  2. 研究工具還是執行工具:你該先要哪一個?
  3. 回測需要多快?哪些資料設定重要?
  4. 哪些檢驗功能能區分幸運的回測與可用的回測?
  5. 哪些匯出格式與券商連線重要?
  6. 演算法交易軟體需要寫程式嗎?學習成本多少?
  7. 如何比較演算法交易軟體:一個下午就能跑完的檢查表
  8. 常見問題
  9. 參考文獻

期貨演算法交易軟體該看什麼?

期貨演算法交易軟體要做到五件事才值得付費:能找出並測試規則,而不只是執行規則;回測納入手續費、滑價、下一根 K 棒成交與正確的交易時段;在未參與最佳化的資料上檢驗;匯出到券商支援的平台;授權費與學習時間成本低。檢驗最重要。

演算法交易軟體,是把交易想法寫成規則、用歷史價格測試該規則,並在部分情況下把產生的委託送到券商的程式。規則是什麼、為何多數規則扣除成本後虧損,這些基礎見演算法交易是什麼、成本多少。本文談的是如何選軟體,因此假設你已知道規則是什麼。期貨是這類軟體的天然市場,因為一口合約只有一條價格序列與固定成本,這也是期貨比選擇權更容易測試的原因。

五項功能,依建議的檢查順序:

  1. 研究或執行。軟體是找出並測試規則,還是只執行你已有的規則?
  2. 回測設定。在問速度之前,先問:它是否計入手續費與滑價、以下一根 K 棒成交,並遵守期貨的交易時段?
  3. 策略檢驗。它是否用搜尋從未見過的資料測試?候選策略未通過檢驗時,是否會被攔下?
  4. 匯出與券商路徑。測試過的規則能否不經手動改寫,就到達你的券商?
  5. 成本與學習時間。要經過多少小時才完成第一次檢驗測試?授權費另計多少?

研究工具還是執行工具:你該先要哪一個?

期貨交易人應先要研究工具,因為執行工具只會把你交給它的規則自動化,無論規則好壞。研究工具是在歷史 K 棒上生成、回測並排序交易規則的軟體。執行工具是接收完成的規則、監看即時價格並把委託送到券商的軟體。許多交易平台兩者都有一定程度的支援,但兩項工作回答不同的問題,位於工作流程的不同位置。

問題研究工具執行工具
主要工作找出並測試規則為規則送出委託
輸入歷史 K 棒、成本、交易時段設定完成的策略與券商登入
輸出排序並檢驗過的候選策略成交的委託與即時部位
典型檢查樣本外結果與券商的連線維持正常
何時需要在你有規則之前在你有檢驗過的規則之後
研究工具與執行工具對照:研究工具找出並測試規則,在你有規則之前需要;執行工具送出委託,在規則測試過之後需要 研究先於執行 兩種工具,兩項不同工作 1 研究工具 找出規則 有規則之前 2 執行工具 送出委託 測試之後 執行工具只會跑你的規則。 結論:先買研究工具。
研究工具與執行工具回答不同的問題。一個決定交易什麼,另一個執行該決定。

把兩者想成建築師與營造廠。營造廠能照圖蓋出任何房子,但圖若畫錯,房子照樣倒塌。先買執行工具是常見的錯誤:交易人把它接上券商,卻沒有測試過的規則可跑,於是開始交易從論壇抄來的規則。30 天打造第一個演算法交易策略的路線的步驟順序,正是為此把研究工具放在第一週、券商連線放在最後。

回測需要多快?哪些資料設定重要?

四項設定正確之後,速度才有意義,因為設定錯誤的快速回測,只是更快產出錯誤的答案。在問到速度之前,這四項設定就已經改變同一個規則的結果。

  1. 成交。下一根 K 棒成交的規則,是指在一根 K 棒收盤時決定的委託,在下一根 K 棒的開盤價成交。若回測在做決定的同一個收盤價成交,用的是沒有人能交易的價格。
  2. 成本。滑價是回測假設的價格與真實委託所得價格之間的差距。手續費與滑價必須在測試內對每筆交易計入,而不是事後再扣除。
  3. 交易時段。期貨幾乎全天候交易,在日盤與夜盤混合 K 棒上最佳化的規則,行為與只在日盤上最佳化的規則不同。軟體必須讓你選擇交易時段,並以該時段建立 K 棒。
  4. 資料。連續月期貨序列由許多到期合約接成,每次轉倉的價格跳動並非你能交易的行情。軟體必須處理轉倉,或讓你載入已處理過的資料。
問速度之前要先固定的四項回測設定:在下一根 K 棒成交而非同一根、每筆交易計入成本而非不計、採用選定的交易時段而非 24 小時混合、處理轉倉而非留成跳空缺口 先設定,再談速度 同一規則,四項設定要檢查 錯誤 正確 成交 成本 時段 資料 同一根 不計 全天混合 轉倉跳空 下一根 每筆計入 選定時段 處理轉倉 快而錯,仍然是錯。 結論:先固定四項再計時。
四項設定會改變同一個規則的結果。速度是在這些之後才問的問題,而非之前。

假設性範例

某微型指數期貨規則在 600 筆交易中,毛平均每筆損益為 $12。手續費 $1,每邊滑價一個跳動點、價值 $0.50,一買一賣的成本為 $2,扣除成本後的平均每筆損益為 $10。若每邊滑價兩個跳動點,成本為 $3,平均每筆損益為 $9。這個規則兩種情況都撐得住。第二個規則在 600 筆交易中,毛平均每筆損益為 $2.50,一個跳動點時變成每筆 $0.50,兩個跳動點時則轉為虧損。只有對每筆交易計入成本的回測,才看得出差別。

四項設定固定之後,速度決定你能測試多少變體。AlphaPrime(Valynox)唯一對外公布的速度數字,是在單張 RTX 3090 上約 18 小時、約 12 億次策略評估(實測 18 小時 23 分鐘、1,268,200,000 次),2026-10-05 在真實研究環境量測:TY 37 分鐘 K 棒,從 2015-01-01 到 2026-09-25,每個候選策略 114,371 根 K 棒,每次評估皆含手續費與滑價(見公布的基準測試)。實際速度取決於顯示卡或處理器、資料長度與研究設定。在 AlphaPrime 中,上述四項設定於搜尋開始前固定,其回測以相同方式套用到每個候選策略,因此任兩個候選策略都能在同一基準上比較。

哪些檢驗功能能區分幸運的回測與可用的回測?

軟體必須在未參與最佳化的資料上測試規則,並攔下未通過檢驗的候選策略,因為搜尋試過一千個變體再留下最佳者,會因挑選而讓它看起來偏高。樣本外資料,是價格歷史中不讓搜尋接觸、只用來原封不動執行完成規則的那一段。推進分析是一種測試:在一段歷史區間上最佳化規則,原封不動地套用到緊接著的區間,向前移動並重複,讓串接的樣本外片段形成單一結果。Bailey、Borwein、López de Prado 與 Zhu(2014、2017)指出,搜尋在同一份資料上比較的變體愈多,最佳者的樣本內結果被墊高得愈多;Pardo(2008)則把推進分析描述為務實的解法。

漏斗:從約一千個試過的候選策略,到留下的那一個;其樣本內結果因挑選而偏高;上面有三道對未見資料的關卡:樣本外、推進分析,以及首次未通過檢驗即停止 眾多中的最佳者好得過頭 只有未見過的資料能查驗 試過許多 樣本外 推進分析 未過即停止 留下 1 個:偏高 挑出最佳者,測試成績被墊高。 結論:要求未見資料的關卡。
從眾多試過的變體中留下最佳者,會讓留下的那個顯得偏高。軟體必須提供對未見資料的檢驗關卡。

下方是留下一個候選策略的執行結果。AlphaPrime 測試 Gamma 平滑 RSI(Gamma-Smoothed RSI)規則,作為唯一的進場與出場條件,沒有停損、停利或濾網,資料為 NQ 日 K 棒,2019-01-02 至 2025-06-30,多空皆做,1 口,每筆交易 $20 手續費與 $10 滑價。這個規則是以標準指標組成的替代規則,用來示範如何讀報表,並非本文的主題。搜尋試了約一千個變體,留下這一個,依據是報酬相對於回撤。事後挑出留下的那一個會讓它顯得偏高,因此它的數字只是檢驗的起點,不是預測,也不代表該規則賺到的金額,更不是讀者可預期的結果。

來源:AlphaPrime 產品引擎(CPU),2026-10-31 執行。NQ 日線,2019-01-02 至 2025-06-30,多空都做,1 口,每筆手續費 $20、滑價 $10。

數字結果
淨損益(已平倉交易)$90,145
最大回撤$28,805
交易筆數81
勝率60.49%
獲利因子1.878
平均每筆損益$1,112.9
持倉時間9.05%
請看樣本外區段與回撤深度,而非曲線的最終高度。切分後仍維持斜率的曲線,才是該檢查的對象。
請看樣本外區段與回撤深度,而非曲線的最終高度。切分後仍維持斜率的曲線,才是該檢查的對象。 NQ · 日線 · 2019-01-02 至 2025-06-30 · CPU 引擎回測

用檢驗軟體應有的方式讀這份報表:約六年半內 81 筆交易,屬於小樣本;市場持倉時間占 9.05%,代表結果建立在少數幾段短時間上。該檢視的數字,是 $28,805 的回撤對比 $90,145 的淨損益、曲線在樣本外區段的表現,以及相鄰參數值是否給出相似的形狀。只印出摘要列的軟體,答不了這些問題。AlphaPrime 把推進分析納入策略檢驗,門檻由你事先設定,候選策略一旦未通過前面的檢驗,就停止後面的檢驗,因此走到後段資料的候選策略更少。

哪些匯出格式與券商連線重要?

研究軟體應該寫出券商已支援的平台所用的策略原始碼,讓你測試過的規則就是你交易的規則。測試過的規則要經過三次交接:從研究軟體到匯出的原始碼、從程式碼到編譯並執行它的交易平台,再從平台到接收委託的券商。每次交接,都可能讓實單規則偏離測試過的規則。

測試過的規則從研究工具傳到匯出的程式碼(必須不經修改即可編譯),再到交易平台(必須使用相同的成本與交易時段),最後到券商(必須支援該平台) 交易你測試過的規則 三次交接,各查一項 研究工具 匯出程式碼 平台 券商 測試過的規則 編譯、免修改 成本、時段相同 支援該平台 每次交接都可能改變規則。 結論:從你的券商出發。
測試過的規則在送到券商的途中,要經過三次交接。比較其他項目之前,先逐一檢查。
  1. 成本與交易時段相同。把平台的手續費、滑價與交易時段,設成與研究執行時相同的值,再比較交易明細,而不只是總數。
  2. 不經修改即可編譯。需要手動修改的匯出程式碼,等於重寫過的規則。照交付原樣編譯,動任何一行之前先讀完錯誤訊息。
  3. 平台能連到你的期貨券商。選擇匯出格式之前,先向券商確認期貨委託支援哪個平台。

AlphaPrime 可把策略原始碼匯出到六個平台:MultiCharts(PowerLanguage)、TradingView(Pine Script v6)、TradeStation(EasyLanguage)、NinjaTrader(NinjaScript)、MetaTrader 4(MQL4)與 MetaTrader 5(MQL5);現行清單見平台匯出頁。從你的券商出發:查明它接受上述哪些平台的委託,再回推你需要的匯出格式。

演算法交易軟體需要寫程式嗎?學習成本多少?

寫程式是把想法變成可測試規則的三種方式之一,工具的真正成本是授權價格加上完成第一次檢驗測試所需的時數。你可以用程式語言寫規則、在視覺化編輯器用現成積木組出規則,或把想法描述成指標、參數範圍與進出場條件,讓軟體生成並測試變體。每條路都是以彈性換時間。

問題撰寫程式用積木組合依描述生成
所需技能程式語言無無
完成第一次檢驗測試的時間數週至數月數日數小時至數日
彈性最高受限於現有積木受限於支援的指標與規則
常見錯誤前視錯誤手動過度最佳化未經檢驗就信任排名第一的候選策略
三種建立規則的方式,到完成第一次檢驗測試的大致時間:撰寫程式需數週至數月,用積木組合需數日,依描述生成需數小時至數日,較快的方式需要靠檢驗步驟取代程式設計師的細心 較快的方式需要檢驗 到第一次檢驗測試的大致時間 撰寫程式 數週至數月 用積木 數日 生成 數小時至數日 快的方式少了程式設計師的細心。 結論:讓檢驗來取代它。
三種建立可測試規則的方式。較快的方式需要一道檢驗步驟,來取代程式設計師對每一行的細心。

成本要以小時衡量,因為兼職交易人最先耗盡的就是時間。計算學習工具的小時數、載入並檢查 K 棒資料的小時數,以及執行並讀懂一次檢驗測試的小時數。再加上預計使用期間的授權價格。

假設性範例

工具 A 年度授權費 $300,沒有程式背景的交易人需要 120 小時才能完成第一次檢驗測試。工具 B 年度授權費 $900,同一位交易人只需 15 小時。若交易人把一個晚上的研究時間估價 $20,工具 A 第一年的成本是 $300 + $2,400 = $2,700,工具 B 是 $900 + $300 = $1,200。授權費較便宜的,反而是較貴的工具。

如何比較演算法交易軟體:一個下午就能跑完的檢查表

把同一個簡單的期貨規則,以相同設定跑過每個候選工具,並依固定順序為工具評分,讓比較依據的是你在看到任何銷售頁之前寫好的清單。移動平均交叉或通道突破就夠了;重點不在規則,而在每個工具如何處理它。期貨演算法交易策略與各自的回測方式中的五種規則類型,有數種簡單到足以用於這項測試。

  1. 在每個工具載入相同的期貨 K 棒,並設定相同的手續費、滑價、交易時段與下一根 K 棒成交。把數值寫下。
  2. 在每個工具執行相同的簡單規則,使用相同參數,比較交易筆數與前十筆交易,而不只是總數。
  3. 在每份報表中找樣本外與推進分析結果。若報表沒有這一節,該項功能就評為未通過。
  4. 匯出規則並在你的平台上編譯,不做修改。記下是否能編譯,以及在相同設定下,它的交易明細是否與研究執行相符。
  5. 記下授權價格,加上你所花的小時數,從第一次開啟工具,到讀完檢驗結果為止。
計分卡:五項功能為列,兩個範例工具為欄:工具 A 通過研究、回測、匯出與成本,但未通過檢驗,因此淘汰;工具 B 五項全過 為每個工具評通過或未通過 同一規則、同一設定、每個工具 工具 A 工具 B 研究 回測 策略檢驗 匯出 成本與時數 通過 通過 未通過 通過 通過 通過 通過 通過 通過 通過 一項未通過,工具就淘汰。 結論:每個工具都跑這份清單。
固定順序的檢查,把含糊的比較變成可重複的測試。計分卡填的是通過或未通過,而非印象。

最後做一張計分卡:五列對應五項功能,每個工具一欄,每格填通過或未通過。未通過檢驗或匯出的工具就淘汰,不論速度或指標數量,因為無法檢驗或無法交易的規則,就是無法使用的規則。今天下午,先挑一個用於比較的簡單期貨規則,把它的參數與你的成本、交易時段、成交設定寫在一頁上,在第一個候選工具中跑完,再去讀其他功能清單。

常見問題

期貨最好用的演算法交易軟體是哪一個?

沒有單一最佳工具,因為正確的選擇取決於券商的平台、你的程式能力,以及你需要的是研究還是執行。依固定順序為每個候選工具在五項功能上評分:研究能力、回測設定、對未見資料的檢驗、匯出到券商平台,以及授權價格加學習時數。五項都通過、符合你的環境的工具,就是最適合你的那一個。

有免費的演算法交易軟體嗎?

有。數個交易平台內建策略測試器,可在歷史 K 棒上免費執行規則,也有為會寫程式的交易人提供的開源函式庫。免費工具通常要你自己寫規則,也少有推進分析檢驗,所以依賴任何一個之前,先檢查同樣的五項功能。期貨免費回測軟體說明你能用它們測試什麼。

演算法交易軟體與交易平台有何不同?

交易平台是顯示圖表、連接券商並送出委託的程式;許多平台也能執行以平台自有語言寫成的策略。研究意義上的演算法交易軟體,則是在送出任何委託之前,生成並測試規則的程式。實務上兩者都需要:用研究軟體找出並檢驗規則,用平台搭配券商執行。

演算法交易軟體需要多少歷史資料?

足以涵蓋你所測試規則的數百筆已完成交易,這取決於規則交易的頻率,而非固定的年數。每月只交易一次的日線規則,所需年數遠多於一天交易兩次的日內規則。要把近期的一段資料留在搜尋之外,供最後一次測試使用,並確認資料涵蓋不只一種市場,例如趨勢、盤整與高波動的階段。

參考文獻

  • 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.
  • Pardo, R. (2008). The Evaluation and Optimization of Trading Strategies (2nd ed.). John Wiley & Sons.