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

程式交易軟體是什麼?三大功能、免費選項與選擇前的六個檢查點

程式交易軟體把交易規則交給電腦執行,功能分成策略產生、回測與驗證、下單執行三層,一套軟體通常只做其中一到兩層。付費前依序確認:能讀你的市場資料、回測含費用與滑價並以下一根K棒成交、有樣本外與走動式驗證、能匯出到你實際下單的平台、平台能接你的券商、報告可留存比較。

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

目錄
  1. 程式交易軟體是什麼?它實際做哪三件事
  2. 免費程式交易軟體有哪些?能做到哪一步
  3. 程式交易軟體要寫程式嗎?
  4. 券商自家軟體能不能用來做程式交易?
  5. 雲端、桌面、自己寫程式:三種方式差在哪
  6. 程式交易軟體怎麼選?付費前依序跑的六個檢查點
  7. 常見問答
  8. 參考文獻

程式交易軟體是什麼?它實際做哪三件事

程式交易軟體是把寫好的交易規則交給電腦執行的工具,功能分成三層:策略產生、回測與驗證、下單執行。一套軟體通常只做其中一到兩層。選擇前先確認它能讀你的市場資料、回測有含費用與滑價、有樣本外驗證,而且能匯出到你實際下單的平台。

把它想成開一家餐廳。第一層是研發菜色:想出規則、決定參數範圍、在很多組合裡搜尋。第二層是試菜與算成本:用歷史K棒把規則重跑一遍,扣掉手續費與滑價,再用沒看過的資料檢查。第三層是出餐:接即時行情、送單給券商、管理部位。做菜的人不一定會算帳,會算帳的不一定會送餐,軟體也一樣。

三層各需要你提供一樣東西。策略產生需要你的想法或至少一個方向,例如「突破後順勢」或「拉回均線買進」。回測需要你的歷史資料,包括正確的交易時段與合約規格。下單執行需要一個券商帳戶和一個能接上它的平台。台指期交易者如果還沒有任何一層,可以先看台指期程式交易從零開始、不用寫程式的入門路線,再回來對照本文的檢查點。

程式交易軟體的三個層次:生成策略需要你的想法,回測需要乾淨的資料,執行需要券商帳戶,而多數產品只涵蓋其中一到兩層 三層,三項輸入 每一層都需要你提供一樣東西 生成 回測 執行 你提供 你提供 你提供 一個想法 乾淨資料 一個券商 多數工具只涵蓋一到兩層。 所以:找出你缺的那一層。
程式交易軟體的三層,以及每一層要由你提供的東西。多數產品只涵蓋其中一到兩層。

免費程式交易軟體有哪些?能做到哪一步

免費選項大致有四類,每一類通常只涵蓋回測或執行其中一層,大量產生策略與系統化的樣本外驗證多半要靠付費工具或自己動手。這裡談的是類別的一般情況,不是某個特定產品。

  1. 免費圖表平台附帶的策略測試器。你在圖表上寫一個簡單腳本,平台把它套到歷史資料上跑一次,給你一份報表。通常能設定手續費與滑價,但一次只測一個策略,樣本外要自己切資料、自己記錄。
  2. 用開源語言或試算表自己寫。Python 或 Excel 都能做回測。好處是完全透明,缺點是資料清理、時段設定、費用模型、樣本外切分每一項都要自己寫,寫錯一處就會得到一份好看但錯誤的報表。
  3. 券商自家軟體。多半提供即時行情、下單與簡單的條件單,回測功能不是重點,策略產生與樣本外驗證通常沒有。下一節會細談。
  4. 交易所或券商提供的 API。API 是讓你的程式直接送單、收行情的介面,它只負責執行層,前面兩層仍然要自己準備。
免費選項類別策略產生回測樣本外驗證下單執行
免費圖表平台的策略測試器通常無通常有要自己做通常無
開源語言或試算表自己寫要自己做要自己做要自己做要自己做
券商自家軟體通常無通常無通常無通常有
交易所或券商提供的 API通常無通常無通常無通常有
四類免費工具的常見涵蓋範圍:策略構想、回測、樣本外檢驗與下單。圖表回測工具只做回測,自寫程式需自己完成全部流程,券商應用程式與 API 只能下單 免費工具在哪裡停住 常見涵蓋範圍,非指任何產品 構想 回測 樣本外 下單 圖表回測工具 自寫程式 券商應用程式 API 無 有 自行開發 無 自行開發 自行開發 自行開發 自行開發 無 無 無 有 無 無 無 有 「自行開發」與「無」是缺口。 因此:這些層級需付費或自行建置。
四類免費選項各自覆蓋哪一層。空白最多的那一欄,就是你付費或自己動手時要補的地方。

所以免費軟體並不是不能用,而是要知道它停在哪一步。一個常見的路線是:先用免費測試器把一個想法跑通,確認自己看得懂報表,再決定要不要為第一層與第二層付費。付費的策略產生器要檢查什麼,本文最後一節的六個檢查點會依序逐項說明。

程式交易軟體要寫程式嗎?

不一定。依軟體不同,告訴電腦一條規則的方式有三種:設定式、拖拉式、編碼式。不寫程式也能測試規則,但看懂匯出的程式碼仍然有幫助,因為下單邏輯和費用設定是否正確,最終要在程式碼或設定頁上核對。

設定式是指在選單裡選指標、填數字,例如選一條均線、填 20,再選「收盤突破買進」。拖拉式是指把條件方塊連接起來,像接水管。編碼式是指直接寫平台語言,例如 PowerLanguage、Pine Script 或 MQL。三種方式測的是同一條規則,差別在你花時間的地方:設定式花在選項上,編碼式花在語法上。

設定、積木與程式碼最終都要通過同樣兩項檢查:K 棒收盤產生的訊號必須在下一根 K 棒成交,且必須填入實際的手續費與滑價 任何工具,都要同樣兩項檢查 設定、積木或程式碼 設定 積木 程式碼 下一根K棒 訊號 成交 實際成本 手續費 滑價 每種方式都需要兩項檢查。 因此:檢查下一根成交與手續費。
從不寫程式到完全寫程式的三種操作方式。不管哪一種,下單邏輯與費用設定都要自己核對。

不寫程式的人仍然要會看兩件事。第一是下單邏輯:訊號在K棒收盤產生,成交應該在下一根K棒,而不是同一根的收盤價,因為那個價格你當時還不知道。第二是費用設定:每筆交易的手續費、交易稅與滑價有沒有填、填的是不是你券商的實際收費。能看懂匯出的程式碼,就能在正式下單前把這兩件事再確認一次。還沒寫過任何策略的人,第一個演算法交易策略的三十天入門路線把這些步驟排成了順序。

券商自家軟體能不能用來做程式交易?

可以用在最後一層。台灣券商自家軟體適合下單執行與即時行情,多半也有觸價、停損之類的簡單條件單,但通常不包含策略產生與樣本外驗證。常見的做法是在研究軟體完成測試後,把策略匯出到一個能接券商的下單平台,再用券商帳戶執行。

原因是分工不同。券商軟體的設計目標是讓你快速看到行情、送出單子、查到帳務,這三件事它做得完整。研究軟體的目標是在幾千、幾萬個候選規則裡找出能通過驗證的少數幾個,再把它們變成可以執行的程式碼。把兩者接起來的中間層,就是支援券商 API 的下單平台。

券商軟體是最後一步:研究軟體測試規則,下單平台執行匯出的程式碼,券商軟體負責送出你的委託 券商軟體送出委託 研究工作在前面完成 研究軟體 下單平台 券商軟體 測試規則 執行匯出程式碼 送出你的委託 它們不會找策略。 所以:先選平台。
券商自家軟體負責執行層,研究在它之前完成,再透過匯出的程式碼接到券商端下單。

實務上要先問你的券商兩個問題:它開放哪些下單平台或 API 接入,以及這些接口支援哪些商品。答案決定了你的研究軟體要能匯出成哪一種語言。先選好執行端,再反推研究端的匯出格式,比反過來省事得多。

雲端、桌面、自己寫程式:三種方式差在哪

三種方式的差別在於每一項設定由誰決定。雲端平台省下安裝與設定時間,但資料範圍、時段與費用模型由平台決定;桌面軟體由你掌控資料與計算力;自己寫程式最自由,但資料清理與執行差異全由你負責。選哪一種,取決於你願意把時間花在哪一層。

項目雲端平台桌面軟體自己寫程式
設定時間最短,開帳號即用要安裝與匯入資料最長,環境與資料都要自己建
資料來源與範圍由誰決定平台你你
計算力平台配給你的電腦,取決於處理器或顯示卡你的電腦或租用的主機
費用與滑價設定由誰決定平台提供的欄位你,在軟體的設定頁你,寫在程式裡
匯出到下單平台視平台而定視軟體支援的語言而定自己寫轉換
需要的技能看懂報表看懂報表與設定頁程式、資料處理、統計
誰決定資料、成本與匯出:雲端平台由廠商決定三項;桌面軟體由你決定資料與成本,匯出取決於廠商;自寫程式則全由你決定 誰能決定各項設定? 雲端、桌面或自寫程式 資料 成本 匯出 雲端 桌面 自寫程式 廠商 廠商 廠商 你 你 廠商 你 你 你 控制更多,要檢查的也更多。 所以:掌控你所需的資料。
三種方式各自由誰掌控每一項設定。掌控越多,要負的責任也越多。

一個簡單的判斷方法:如果你最在意的是資料,例如台指期夜盤與日盤要分開測、要用自己整理好的連續合約,桌面軟體或自己寫程式比較合適。如果你只想先驗證一兩個想法,雲端平台最快。如果你要同時測大量候選策略,計算力會變成瓶頸,這時桌面軟體的速度取決於你電腦的處理器或顯示卡,自己寫程式則取決於你把程式寫得多有效率。

程式交易軟體怎麼選?付費前依序跑的六個檢查點

付費前依序跑六個檢查點,前一項不過就不用看下一項,因為一套不能讀你資料的軟體,後面的功能再多也用不上。順序是:市場資料支援、回測含費用與滑價並以下一根K棒成交、樣本外與走動式驗證、能匯出到你實際下單的平台、該平台能接你的券商、報告可留存比較。

付費前依序執行六項檢查:資料、成本、樣本外測試、匯出、券商、報表;本例中第一、二項通過,第三項失敗,因此搜尋停止,第四至第六項略過 六項檢查,依序 範例:第 3 項失敗,故停止 1 資料 通過 2 成本 通過 3 OOS 測試 失敗:停止 4 匯出 略過 5 券商 略過 6 報表 略過 一項失敗即結束。 因此:停在此處,略過其餘。
六個檢查點的順序。每一步都有一個合格與一個不合格的樣子,前一步不過就停。
  1. 支援你的市場資料。確認軟體能讀入你要交易的商品K棒,例如台指期、ES、NQ,並且能設定正確的交易時段。合格的樣子:匯入一段資料後,每天的K棒數量和你預期的時段一致。不合格的樣子:夜盤與日盤被接成一根日K,或時區差了幾小時。各交易所的時段可以用免費的期貨交易時間查詢換算成台灣時間;像美國指數期貨這種跨日時段,小道瓊期貨夜盤換算台灣時間後怎麼設定回測有完整的對照。
  2. 回測含費用與滑價,並以下一根K棒成交。滑價是你實際成交價與回測假設價之間的差距。下一根K棒成交是指訊號在這根K棒收盤確認後,單子在下一根K棒才成交。合格的樣子:設定頁有手續費與滑價欄位,而且每一次評估都會扣。不合格的樣子:費用要等回測跑完才另外加上去,或成交價就是訊號那根的收盤價。

    假設範例

    假設一個小台策略回測十年,平均每筆毛利 600 元,共 2,000 筆交易。假設來回手續費與期交稅合計 150 元,每邊滑價一跳 50 元、來回 100 元,每筆成本就是 250 元,淨利剩 350 元。如果滑價放大一倍,每筆成本變成 350 元,淨利剩 250 元。同一個策略,費用欄位有沒有填,報表上的結論可能完全相反。

  3. 有樣本外與走動式驗證。樣本外驗證是把一段規則沒用來調參數的資料拿來重跑,看結果是否還站得住。走動式分析是把這個切分沿著歷史重複很多次,每次用前一段調參數、後一段驗證。Pardo(2008)把走動式分析整理成一套標準流程;Bailey 等人(2014)則說明為什麼在很多候選裡挑出的最好結果,幾乎一定被高估。合格的樣子:軟體能自動切分、自動記錄每一段的樣本外結果。不合格的樣子:只能跑一段歷史、一個結果。
  4. 能匯出到你實際下單的平台。研究軟體的終點是一份能在你下單平台上執行的程式碼。合格的樣子:匯出的檔案在目標平台上能直接載入,進出場的K棒與回測一致。不合格的樣子:只給一份報表或一張圖,規則要自己重寫。AlphaPrime (Valynox) 的匯出目前涵蓋 MultiCharts(PowerLanguage)、TradingView(Pine Script v6)、TradeStation(EasyLanguage)、NinjaTrader(NinjaScript)、MetaTrader 4(MQL4)與 MetaTrader 5(MQL5),完整的支援匯出的下單平台清單在該頁面維護。
  5. 該平台能接你的券商。匯出的程式碼要能在一個接得上你券商帳戶的平台上跑。合格的樣子:券商公開列出支援這個平台或提供對應的 API。不合格的樣子:平台能回測、能看圖,但送單要另外找路。這一步要去問券商,不是問軟體。
  6. 報告可留存比較。每一次測試的設定與結果都要能存下來,幾個月後還能對照。合格的樣子:同一個策略不同版本的報表並排可看,費用設定也記錄在內。不合格的樣子:關掉視窗結果就不見,只能截圖。

報告要看哪裡,用一次真實的測試說明。下面這個方塊是 AlphaPrime 在 ES 日線上做的一次搜尋,期間 2019 年 1 月初到 2025 年 6 月底,多空雙向、1 口,每筆扣 $20 手續費與 $25 滑價。它測的是以效率自適應移動平均線為唯一進出場的替代規則,沒有停損、停利與濾網,目的只是示範報表怎麼讀,不是在評價某一種程式交易軟體或這個指標本身。這個結果是搜尋嘗試過的一千零二十四個候選中、依報酬相對回落留下的一個;事後從一千多個裡挑出最好的一個,數字一定被美化過,所以這些數字不代表這條規則賺了這些錢,也不代表讀者可以期待同樣的結果。Harvey 與 Liu(2015)正是主張,報表上的數字要依背後測過幾個候選來打折。

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

項目結果
淨利(已平倉)$115,662.5
最大回撤$63,012.5
交易筆數65
勝率66.15%
獲利因子1.981
平均每筆$1,779.42
在場時間93.01%
看報表時把淨利與最大回落放在同一個視野,再看交易筆數夠不夠、獲利因子與在場時間是否互相說得通。圖中只看位置,數字以上方方塊為準。
看報表時把淨利與最大回落放在同一個視野,再看交易筆數夠不夠、獲利因子與在場時間是否互相說得通。圖中只看位置,數字以上方方塊為準。 ES・日線・2019-01-02 至 2025-06-30・CPU 引擎回測

這份報表有三個地方值得照著看。第一,淨利與最大回落要一起讀:回落代表你在過程中要忍受的最深虧損,一個淨利很高但回落接近一半淨利的結果,實際上很難拿得住。第二,交易筆數只有 65 筆,六年半的日線本來就不會有太多交易,這個樣本太小,任何一個每筆平均數字都只能當作線索。第三,在場時間 93.01% 表示這條規則幾乎隨時都持有部位,多空反手、沒有停損,這和你能不能睡得著有直接關係。一套好的回測軟體要把這些數字放在同一頁,讓你不用翻來翻去。

下一步可以這樣做:打開你手上任何一套回測軟體,找到手續費與滑價兩個欄位,填入你券商的實際收費後把同一個策略重跑一次,記下淨利、最大回落與交易筆數的變化。再把這三個數字和上面報表的位置對照,看你的軟體有沒有把它們放在同一頁。做完這一步,你就知道第二個檢查點過不過,再往下看第三個。

常見問答

免費程式交易軟體有哪些?

免費選項大致有四類:圖表平台附帶的策略測試器、用 Python 或 Excel 自己寫、券商自家軟體、交易所或券商提供的 API。前兩類偏向回測,後兩類偏向下單執行。大量產生策略與系統化的樣本外驗證,多半要靠付費工具或自己動手補上。

程式交易軟體要寫程式嗎?

不一定。設定式軟體在選單選指標、填數字;拖拉式軟體用方塊連接條件;編碼式軟體要寫 PowerLanguage、Pine Script 或 MQL 這類語言。不寫程式也能測試規則,但訊號在哪一根K棒成交、費用有沒有填,仍然要自己核對。

券商自家軟體能不能用來做程式交易?

可以用在下單執行這一層。台灣券商軟體多半提供即時行情、下單、帳務與簡單條件單,但通常沒有策略產生與樣本外驗證。常見做法是在研究軟體完成測試後,把策略匯出到一個能接你券商的下單平台執行。

回測軟體和自動交易軟體有什麼不同?

回測軟體負責把規則套到歷史資料上、扣掉費用、檢查樣本外結果,回答的是「這條規則過去站不站得住」。自動交易軟體負責接即時行情、送單給券商、管理部位,回答的是「現在要不要送這張單」。一套產品可能只做其中一件,選擇前先弄清楚它做的是哪一層。

程式交易軟體怎麼選?

依序跑六個檢查點:能讀你的市場資料、回測含費用與滑價並以下一根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.
  • Harvey, C. R., & Liu, Y. (2015). Backtesting. The Journal of Portfolio Management, 42(1), 13–28.
  • Pardo, R. (2008). The Evaluation and Optimization of Trading Strategies (2nd ed.). John Wiley & Sons.