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

期貨自動交易:實單前必備的 6 件事

期貨自動交易是一個循環:寫好的規則讀取每根新 K 棒,決定委託單,並在無人點擊的情況下送到經紀商。實單前需要六項條件:寫好的規則、價格資料、經紀商連線、足以承受比回測更深回撤的資金、固定的測試順序,以及無需你在場也能運作的風險限制。

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

目錄
  1. 期貨自動交易如何運作?
  2. 期貨自動交易需要多少資金?
  3. 自動交易期貨一定要會寫程式嗎?
  4. 自動交易策略實單前要怎麼測試?
  5. 哪個平台能連接經紀商?委託單怎麼送過去?
  6. 期貨自動交易能完全無人看管嗎?
  7. 常見問題
  8. 參考文獻

期貨自動交易如何運作?

期貨自動交易是一個循環:寫好的規則讀取每根新 K 棒,決定委託單,並在無人點擊的情況下送到你的經紀商。要讓它運作,需要六項條件:寫好的規則、價格資料、經紀商連線、足以承受回撤的資金、測試順序,以及你不在時仍有效的風險限制。

恆溫器是這個循環的日常版本。它讀取溫度,對照設定值,開啟或關閉暖氣,一分鐘後再做同樣的事,旁邊沒有人守著。期貨自動交易系統對價格做的是同一件事:新 K 棒出現,收盤時評估規則,下一根 K 棒開盤時送出委託,再檢查部位與風險;接著下一根 K 棒出現,循環重來。每個環節都沒有人介入,所以規則寫得好不好,決定了後面的一切;壞規則會被完美地重複執行。若你初次接觸規則式交易,可先讀 演算法交易是什麼,以及為何多數規則會虧損,了解它的基礎。

自動交易的循環:新 K 棒出現,收盤時評估規則,下一根 K 棒開盤時送出委託,檢查部位與風險,然後在每根 K 棒重複,全程無人點擊 每根 K 棒循環一次 每根 K 棒重複,無人點擊 1 新 K 棒 2 收盤判斷 3 開盤委託 4 風險檢查 錯誤的規則會被完美重複。 結論:先寫明確的規則。
每根 K 棒都會跑一次的循環。前三個方塊是系統本身;第四個方塊負責保護帳戶。

六項條件分成兩組。前三項組成圖中的循環;後三項決定這個循環能否在真實帳戶中存活。

所需項目內容缺少時的後果
寫好的規則程式無需人為判斷即可評估的進場、出場與部位大小條件無從自動化;「看起來強就買」無法執行
價格資料用於測試的歷史 K 棒,與用於交易的即時報價,兩者的交易時段設定相同回測與實單系統看到不同的 K 棒,做出不同的決定
執行連線交易平台連接經紀商,且該經紀商接受規則所用的委託類型委託已經決定,卻始終送不到交易所
承受回撤的資金保證金,加上足以應付比回測更差的虧損期的緩衝帳戶被迫出場,而那段回撤本是策略能夠回復的
測試順序固定順序的測試,每項測試開跑前先寫好通過規則實單依據的是事後挑選的結果
風險限制停損、單日虧損上限、部位上限、連線檢查與緊急停止開關一個壞日子或一次斷線,就演變成相當於整個帳戶的虧損

以下各節依序說明這六項。若想要第一項的逐日計畫,30 天完成第一個演算法交易策略的路線已有完整安排。

期貨自動交易需要多少資金?

帳戶必須涵蓋交易所保證金,再加上回測出現過的最差回撤所需的緩衝。實單回撤通常比回測大,因此決定最低資金的是回撤,不是保證金。保證金是交易所與經紀商要求持有一口合約的押金,只是入場費,不是留在場上的成本。回撤是權益從高點跌到下一個低點、再創新高之前的跌幅。想想汽車的油箱:容量要依最長一段沒有加油站的路程來定,不是依第一公里。

實單回撤通常更差,原因在於篩選。你看到的回測,是你留下來的那一個;留下它,部分原因是它在那一段歷史上的回撤較小。下面這次執行把這點具體化。AlphaPrime(Valynox)在 NQ 日 K 棒上,自 2019-01-02 至 2025-06-30,多空皆做、一口,搜尋 1,024 個候選策略,只以 MACD 規則作為唯一的進場與出場條件,不設停損、停利或濾網。留下的那一個,是搜尋結束後依報酬相對回撤選出的。MACD 規則是以標準指標組成的替身;它本身不是期貨自動交易,只是示範候選策略走到這個階段時的樣子。

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

項目結果
淨損益(已平倉交易)$96,490
最大回撤$41,205
交易筆數146
勝率56.16%
獲利因子1.373
平均每筆損益$660.89
在市場內時間17.7%

事後從 1,024 個中挑出最佳者,會讓表中每個數字都偏好看,包括 $41,205 的回撤。Bailey、Borwein、López de Prado 與 Zhu(2014)指出,大規模搜尋中的最佳結果會被搜尋本身墊高,候選策略越多,墊高越多。這裡並未說 MACD 規則賺到了那筆錢,也未說你會賺到。這組數字能給你的,是緩衝的起點:一口合約的帳戶至少要撐得住這個回撤,而且要更多。

合約規格會影響保證金這一塊。E-mini 那斯達克 100 期貨每指數點 $20,最小跳動點為 0.25 點,價值 $5.00(CME Group 合約規格)。交易所可能調整保證金、跳動點與交易時段的數值;請到交易所的合約頁面查當日數字,並用免費的期貨合約與損益計算機,把點數變動換算成你所交易合約的金額。

一口 NQ 合約的帳戶規模,圖示非等比例:只有保證金是一條短柱,實際需求則疊加保證金、回測最大回撤,以及應付更差實單回撤的額外緩衝 依回撤決定帳戶規模 一口 NQ,圖示非等比例 僅保證金 查交易所頁面 實際需求 回測 保證金 回撤 緩衝 實單回撤通常更深。 結論:備足整疊,不只保證金。
保證金只是整疊資金的最底層。決定帳戶規模的,是回撤與它的緩衝。

假設性範例

假設一口合約的交易所保證金為 $25,000,回測最大回撤為 $41,205。交易人為應付較差的實單表現,在回撤之外再加一半,緩衝定為 $41,205 × 1.5 ≈ $61,800。一口合約的帳戶下限約為 $25,000 + $61,800 ≈ $86,800。只願投入 $50,000 的交易人,不該改用較小的緩衝;實話是,這個策略在一口的規模下,不適合該帳戶。

想從權益清單讀出自己的回撤,可貼入免費的最大回撤計算機,它也會顯示每次回復花了多久。回復時間與回撤深度同樣重要:系統處於回撤中長達一年,對耐心的考驗不輸對帳戶的考驗。

自動交易期貨一定要會寫程式嗎?

你需要一份平台能執行的策略,取得方式有三種:自己寫程式、在平台的規則編輯器中建立規則,或生成策略後匯出原始碼。三種方式各以不同的方式在時間與掌控度之間取捨,沒有一種能省去理解規則內容的功課。

三種方式比較:自己寫程式需要程式能力,掌控度完整,上手較慢,只能在單一平台執行;規則編輯器無需寫程式,掌控度有限,上手較快,只能在單一平台執行;生成並匯出程式碼無需寫程式,掌控度完整,上手較快,可在多個平台執行 誰來寫程式? 自寫 編輯器 匯出 寫程式 掌控度 上手 執行於 需要 無需 無需 完整 有限 完整 較慢 較快 較快 單一 單一 多個 匯出的原始碼可自行閱讀。 結論:實單前先審閱。
從想法到執行中策略的三條路。各欄的差異在於誰來寫程式,以及成果能在哪裡執行。
  1. 自己寫程式。你要學平台的語言,並逐一輸入每個條件。掌控度完整,上手最慢,每個錯誤都要自己找。語言若是通用型語言,這條路要花多少時間,可參考 Python 演算法交易需要什麼、難在哪裡。
  2. 使用平台的規則編輯器。你從選單挑選條件,平台在背後產生程式碼。上手較快,但規則僅限選單提供的範圍,策略也只能在該平台執行。
  3. 生成策略並匯出原始碼。研究軟體在你的資料上搜尋規則組合並加以檢驗,再把留下的策略寫成交易平台的原始碼。你在執行前先讀過匯出的程式碼,因此掌控度完整,上手速度取決於審閱所需的時間。AlphaPrime 會把留下的策略寫成 MultiCharts 的 PowerLanguage、TradingView 的 Pine Script v6、TradeStation 的 EasyLanguage、NinjaTrader 的 NinjaScript、MetaTrader 4 的 MQL4 與 MetaTrader 5 的 MQL5;平台匯出頁面列有目前支援的平台,選擇經紀商前應先核對這份清單。

無論走哪一條路,規則都必須明確。「成交量放大時買進突破」是想法;「收盤高於最近 20 根 K 棒的最高價,且成交量高於 50 根 K 棒的均量時,於下一根 K 棒開盤買進」才是規則。把想法變成規則,是建立系統的主要工作;從零建立量化交易流程的逐步做法在寫程式之前,先處理這一步轉換。

自動交易策略實單前要怎麼測試?

依固定順序測試,每一步開跑前先寫好通過規則,任一步未通過就在該處結束。順序是:計入手續費、滑價與下一根 K 棒成交的回測;未動用的樣本外(OOS)期間;推進分析視窗;固定筆數的模擬帳戶;最後是一口實單。每一步花的時間都比前一步多,早期就失敗的策略,能省下後面的步驟。

五項測試依序進行,每項之間設一道關卡:含成本的回測、未動用的樣本外期間、推進分析視窗、模擬帳戶,最後是一口實單;每道關卡的通過規則都在開跑前寫好,未通過就結束測試 五項測試,五道關卡 金色關卡:先定通過規則 1 2 3 4 5 回測 樣本外 推進分析 模擬帳戶 實單 未通過關卡即停止測試。 結論:不重看,不放寬標準。
五項測試,五道關卡。每道關卡的通過規則都在測試開跑前寫好,所以結果是被評判的,而不是被解釋的。
  1. 計入成本與下一根 K 棒成交的回測。每筆交易都計入手續費與滑價;收盤時決定的委託,在下一根 K 棒開盤成交,因為那是你能交易的第一個價格。上述 NQ 回測每筆交易計 $20 手續費與 $10 滑價。通過規則範例:扣除成本後的平均每筆損益,至少是一買一賣成本的數倍。
  2. 未動用的樣本外期間。樣本外(OOS)資料是未納入搜尋的那段歷史,只使用一次,規則不變。通過規則範例:樣本外平均每筆損益至少保有樣本內(IS)平均每筆損益的一半,且正負號不翻轉。
  3. 推進分析視窗。推進分析是這樣的測試:在一段歷史上最佳化參數,原封不動地用在接續的下一段,再往前移動並重複(Pardo,2008)。通過規則範例:多數視窗在樣本外為正,且沒有任何單一視窗撐起整體結果。
  4. 模擬帳戶。匯出的策略以模擬資金在即時 K 棒上執行,使用你將來實單所用的同一個平台與經紀商連線。通過規則範例:固定筆數的交易,例如 30 筆,成交與訊號須與回測在同樣 K 棒上會產生的結果一致。
  5. 一口實單。以最小的真實規模,交易固定筆數,觀察真實成交、真實滑價與你自己的反應。通過規則範例:實單每筆滑價在步驟 1 所假設的數字之內。

下圖是產品對同一次 NQ 回測產出的權益曲線。請觀察樣本外標記前後曲線的斜率,以及陰影回撤的深度:只是在搜尋期間描述雜訊的策略,通常會在那條線上改變形狀。

比較樣本外標記兩側的斜率,以及回撤陰影的深度。標記處的形狀變化,是要找的重點。
比較樣本外標記兩側的斜率,以及回撤陰影的深度。標記處的形狀變化,是要找的重點。 NQ · 日線 · 2019-01-02 至 2025-06-30 · CPU 引擎回測

為什麼要先寫通過規則?因為看到結果之後,幾乎任何數字都能找到說法。知道淨損益之後,回撤看起來就「可以接受」;想讓策略過關時,樣本外表現弱的一段就成了「安靜的一年」。事先寫好的規則,把這個選擇權從已經愛上權益曲線的那個你手中拿走。

哪個平台能連接經紀商?委託單怎麼送過去?

委託單從策略程式碼送到交易平台,從平台經由經紀商連線送到經紀商,再從經紀商送到交易所,所以選平台要看它連接哪家經紀商、該連線接受哪些委託類型,而不是看圖表功能。圖表再漂亮,無法把停損單送到你的經紀商,也只是圖表,不是交易系統。

委託單從策略程式碼送到交易平台,再到經紀商,最後到交易所;這條鏈會在平台不支援該程式碼、經紀商連線中斷、委託類型被拒絕的地方斷開 委託單可能中斷的位置 實單前逐一檢查每個環節 程式碼 平台 經紀商 交易所 ! ! ! 不支援 連線中斷 遭拒 每個環節都可能中斷委託。 結論:從交易所往回查。
委託單經過的鏈路。每個箭頭都是可能斷開的地方,每種斷法各有不同的解法。

這條鏈有三個接點,每一個都是你在入金前要先解決的問題:

接點可能的問題實單前要檢查什麼
程式碼到平台平台不執行你策略所用的語言策略的原始碼語言是平台能執行的;平台匯出頁面列有支援的平台
平台到經紀商經紀商沒有該平台的連線,或連線在交易時段中斷經紀商公布了該平台的連線方式;平台會記錄斷線,並告訴你未成交委託如何處理
經紀商到交易所規則所用的某種委託類型不被接受,或處理方式不同停損單、停損限價單與括號委託的行為符合策略的假設,並確認停損單是掛在交易所,還是掛在經紀商的伺服器

從後端往回推。先從你要交易的交易所與合約出發,找出可交易該合約的經紀商,看這些經紀商連接哪些平台,最後才決定策略在哪裡執行。若順序反過來、先挑平台,常見的下場是策略在模擬帳戶中運作良好,卻沒有經紀商能接收真實委託。

第二個接點還有一件事:時區與交易時段設定。平台的即時 K 棒,必須與你回測所用的 K 棒採用相同的交易時段與時區。在某個時間收盤的 K 棒上測試,卻在另一個時間收盤的 K 棒上實單,就是不同的策略,上一節的任何關卡都攔不到這個問題。

期貨自動交易能完全無人看管嗎?

系統可以在你不在時下單,但絕不該在沒有限制的情況下運作;五層限制能避免一個壞日子或一次斷線,演變成相當於整個帳戶的虧損。想想建築物的防火措施:煙霧偵測器、灑水系統、防火門、警報與消防隊。每一層都在內層失效時發揮作用,外層也不在乎火是怎麼起的。

由內而外的五層保護:單筆停損、單日虧損上限、部位上限、心跳檢查與緊急停止開關;即使策略邏輯有誤,最外層的緊急停止開關仍然有效 五層保護 緊急停止開關 心跳檢查 部位上限 單日虧損上限 單筆停損 邏輯出錯時外層仍有效。 結論:在模擬中觸發每項限制。
五圈保護。內圈屬於策略;外圈屬於你,在策略出錯時仍然有效。
  1. 單筆停損。一筆交易允許承受的最大虧損,以掛出的委託單設定,而不只是規則在下一根 K 棒收盤時才檢查的條件。
  2. 單日虧損上限。虧損達到此數字後,系統在下一個交易時段前不再進場。它限制的是策略單純看錯市場的那一天。
  3. 部位上限。帳戶最多可持有的口數,在策略之外強制執行。它能擋下把同一個進場送出兩次的程式錯誤。
  4. 連線與資料檢查。以心跳確認新 K 棒持續送達、經紀商連線正常。一旦失敗,系統就知道自己看不見行情,可以停止送出委託。
  5. 緊急停止開關。緊急停止開關是單一動作,由你手動或自動觸發,無論策略怎麼說,都會取消所有未成交委託並平掉每個部位。當問題出在策略邏輯本身時,它是唯一仍有效的一層。

第一層是策略的一部分,會在回測中受到檢驗。其餘四層完全不在回測內,所以交易人容易忘記:績效報表裡看不到持有部位時、資料在 03:00 中斷會發生什麼事。請在平台或經紀商端設定它們,即使策略當機也會運作,並在模擬帳戶上逐一強制製造故障來測試:拔掉網路、送出重複進場、持有部位時按下緊急停止開關。

下一步:在模擬帳戶測試開始前,把五項限制寫成適用於你帳戶的數字,測試期間再逐一刻意觸發,並記下平台的反應。你從未看過它觸發的限制,只是你希望它存在的限制。

常見問題

開始期貨自動交易需要多少資金?

足以涵蓋所持合約的交易所保證金,再加上能應付比回測更深回撤的緩衝。回測回撤屬於你留下的那個候選策略,所以實單回撤通常更深。不少交易人會在回測回撤上再加一半以上,並把總額當成一口合約的最低資金;若這個總額與帳戶不合,代表這個策略在該規模下不適合該帳戶。

自動交易期貨一定要會寫程式嗎?

不必,但你需要一份平台能執行的策略。你可以自己寫程式、在平台的規則編輯器中建立規則,或生成策略後匯出原始碼。第三種方式讓你得到可閱讀的程式碼而無需自己輸入,實單前仍要先讀過。

期貨自動交易系統可以無人看管運作嗎?

它可以在你不在時下單,但仍應帶有無需你在場也能運作的限制:單筆停損、單日虧損上限、部位上限、連線檢查與緊急停止開關。這四個外層在平台或經紀商端設定,而不是在策略之內,所以策略本身出錯時仍然有效。在系統交易真實資金之前,先在模擬帳戶上逐一強制製造故障來測試。

哪個交易平台能連接我的經紀商?

從交易所與合約往回推:找出可交易該合約的經紀商,看這些經紀商公布了哪些平台的連線,再從中挑選。接著確認該連線接受你策略所用的委託類型,尤其是停損單,以及連線中斷時如何處理未成交委託。AlphaPrime 的平台匯出頁面列有匯出的策略可執行的平台。

參考文獻

  • 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.
  • Pardo, R. (2008). The Evaluation and Optimization of Trading Strategies (2nd ed.). John Wiley & Sons.
  • CME Group. E-mini Nasdaq-100 Futures contract specifications (contract size $20 × index, minimum tick 0.25 index points = $5.00). cmegroup.com/markets/equities/nasdaq/e-mini-nasdaq-100.contractSpecs.html