VALYNOXSTRATEGY RESEARCH TECHNOLOGY
AlphaPrimeAlphaPrime
策略學院 / 商品與交易時段

全自動期貨交易:6 個失敗點與防護措施

全自動期貨交易是把下單交給電腦,不是把責任交給電腦。對經過測試的規則集而言,帳戶需涵蓋保證金、回測回撤與緩衝,每一筆停損都掛在期貨商端,虧損上限與緊急停止開關在上線前寫好,並按固定流程檢查轉倉、資料與實單成交,才可行。

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

目錄
  1. 全自動期貨交易可行嗎?可以不再盯著畫面嗎?
  2. 全自動期貨交易需要多少資金?
  3. 無人看管的交易進行中連線中斷,會發生什麼事?
  4. 自動化系統應設定什麼樣的單日虧損上限與緊急停止開關?
  5. 轉倉與資料問題如何讓免人工的系統出錯?
  6. 什麼樣的檢驗與監控流程,能讓自動化策略保持誠實?
  7. 常見問題
  8. 參考文獻

全自動期貨交易可行嗎?可以不再盯著畫面嗎?

全自動期貨交易對經過測試的規則集是可行的:電腦讀取訊號並送出每一筆委託。但它並不免除監督。每天仍須有人檢查連線、持倉與當日虧損一次,帳戶也必須涵蓋保證金、回測最差回撤與緩衝。

全自動期貨交易,是由程式讀取價格資料、決定何時進出場,並在沒有人逐筆確認的情況下,把委託送到期貨商的設定。可以把它想成飛機的自動駕駛。它能連續飛好幾個小時,飛行員仍坐在駕駛艙裡,盯著儀表,出問題就接手。自動化只是把下單這一項工作,從你手上移到機器。其他工作仍歸你,本文接下來逐一說明無人看管的系統會失敗的六個地方,以及各自該用什麼防護。本文各處適用一條規則:只有當防護放在你腦中或桌上電腦,而不是在書面規則或期貨商端時,失敗點才危險。

工作僅提醒半自動全自動
訊號判斷電腦電腦電腦
下單交易人交易人確認、電腦送出電腦
持倉監控交易人交易人電腦,由交易人檢查
每日檢查交易人交易人交易人
緊急停止開關交易人交易人交易人
全自動交易中,訊號、下單與監控由電腦處理,每日檢查與緊急停止開關仍歸交易人 兩項工作仍歸你 全自動:誰做什麼 電腦 你 訊號 下單 監控 每日檢查 緊急停止開關 兩項工作始終由交易人負責。 所以:每個交易日安排一次檢查。
三種自動化程度。即使在全自動這一欄,每日檢查與緊急停止開關仍歸交易人。

哪些規則類型適合免人工操作,是另一個問題。進出場清楚、機械化的規則,例如期貨演算法交易策略的五種類型與回測方法所介紹的那些,轉成程式碼時不需要任何主觀判斷。需要你「用肉眼確認趨勢」的規則完全無法自動化,因為電腦沒有眼睛。

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

帳戶必須涵蓋系統可持有的每一口合約的交易所保證金,加上回測顯示的最大回撤,再加約該回撤一半的緩衝,因為系統不會問你,就會在回撤中繼續交易。交易所保證金是結算所對每一口未平倉合約收取的押金,由交易所訂定並隨波動率調整,所以請以交易所合約頁的最新數值為準,不要憑記憶。憑主觀判斷下單的交易人遇到連續虧損,可以停手觀望;自動化系統卻會像回測一樣,接下一個訊號、再下一個,因此資金必須撐過整段虧損期。

這段虧損期可以多大,看一次實際回測就知道。下方框內來自 AlphaPrime(Valynox):搜尋在 ES 日 K 上試了 1,024 個候選策略,期間 2019-01-02 至 2025-06-30,多空皆做、一口,並依報酬相對回撤留下這一個。規則只是替身,是以動量指標 Momentum(MTM)規則作為唯一的進出場依據,沒有停損、沒有停利、沒有濾網,並非推薦的系統。因為這個候選策略是事後從眾多結果中挑出最好的,結果會讓規則顯得比較好;這裡要看的是回撤,不是獲利。

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

項目結果
淨損益(已平倉交易)$91,147.5
最大回撤$45,397.5
交易筆數242
勝率54.13%
獲利因子1.286
平均每筆損益$376.64
持倉時間74.52%
請看權益曲線下方的回撤帶。那是無人看管的系統,以一口交易、不會問是否繼續而一路交易過去的那一段。
請看權益曲線下方的回撤帶。那是無人看管的系統,以一口交易、不會問是否繼續而一路交易過去的那一段。 ES · 日 K · 2019-01-02 至 2025-06-30 · CPU 引擎回測

ES 一口的最大回撤 $45,397.5,是系統在你沒盯著時會一路坐在其中的坑。實單的坑可能更深,原因有兩個。第一,回測只涵蓋一段固定期間;Magdon-Ismail 與 Atiya(2004)指出,近似隨機的權益路徑,路徑越長,預期最大回撤越大,因此交易年數比測試期間更長的策略,應預期出現更大的最差回撤。第二,這個候選策略是 1,024 個中最好的,而讓它成為最好的原因之一,是那段歷史中的運氣。把回測數字當作資金規劃的下限,而不是上限。要從自己的權益序列讀出最糟的一段與回復所需時間,免費的最大回撤計算機只要輸入一串權益值,兩者都會算出。

假設性範例

假設一口的交易所保證金為 $15,000(範例數值;實際數字請見交易所合約頁,且會變動),回測最大回撤為 $40,000,再加 $20,000 的緩衝。帳戶規模 = $15,000 + $40,000 + $20,000 = $75,000(一口)。只備足保證金再多幾千美元的交易人,會在回撤結束前很久就被迫出場,或一氣之下關掉系統,錯過回測所仰賴的回復。

一口合約的假設性帳戶規模,以堆疊長條圖表示:交易所保證金 $15k、回測最大回撤 $40k、安全緩衝 $20k,合計 $75k;保證金數值由交易所訂定且會變動 三層資金都要備足 1 口;保證金依交易所頁面 緩衝 $20k 回撤 $40k 保證金 $15k 示意 合計 $75k 保證金是最小的一層。 所以:回撤也要備足資金。
帳戶規模是三層疊起來的。光是保證金,是其中最小的一層。

同樣的算法適用於任何指數期貨。若你在選擇合約大小,S&P 500 期貨交易策略與可回測的規則類型中的規則類型與部位大小說明,介紹了微型期貨合約如何改變這個堆疊。

無人看管的交易進行中連線中斷,會發生什麼事?

斷線只有在保護性委託單放在你的電腦、而不是期貨商或交易所時才會變成虧損,因此每一筆停損都要以掛單方式放置,並了解你的平台重新連線時的行為。掛單是已經送出、停在期貨商伺服器或交易所委託簿中等待價格的委託單。只以一行程式碼存在於策略中、要「價格到了才送出」的停損,會在電腦斷線的那一刻消失。美國證券交易委員會(SEC)關於停損單的投資人公告說明了機制:停損價一旦成交,停損單就變成市價單,以下一個可成交的價格成交,這保護了部位,卻無法固定出場價格。2010 年 5 月 6 日的商品期貨交易委員會(CFTC)與 SEC 工作人員報告,記錄了在快速行情中,下一個可成交價格可以離觸發價多遠。掛單的停損仍能限制損失;只存在程式碼中的停損則毫無作用。

交易中途連線中斷時,掛在期貨商的停損讓部位持續受到保護,只存在你電腦上的停損則讓部位失去保護 你的停損放在哪裡? 若交易中途連線中斷 停損在期貨商 受保護 停損在你的電腦 無保護 只有掛單的停損能留下來。 所以:每筆停損都掛在期貨商。
停損單放在哪裡,決定斷線會付出多少代價。

ES 與多數指數期貨,一天 24 小時中大部分時間都在交易,所以斷線最可能在夜間沒被發現。上面這次回測在日 K 上有 74.52% 的時間持倉,也就是幾乎每筆部位都持有過夜盤。夜盤如何定價、跳空從何而來,見期貨交易時段與回測;這些時段流動性較薄、會讓觸發的停損成交價更差,見盤後交易的時段、流動性與回測陷阱。

第一個無人看管的夜晚之前,向期貨商與平台確認三項設定:

  1. 停損放在哪裡。詢問你送出的停損單,是放在期貨商的伺服器、交易所,還是你自己的電腦。只有前兩者在斷線時還存在。
  2. 斷線時未成交委託單的處理。部分期貨商與平台提供連線中斷時取消所有未成交委託單的設定。確認你的是否如此,因為保護性停損在斷線時被取消,會讓部位在沒有出場機制下繼續持有。
  3. 重新連線時策略如何重新同步。各平台不同:策略可能採用期貨商實際的部位、將它平倉,或沿用自己最後已知的狀態。策略以為自己空手、帳戶卻持有一口時,下一次進場會疊加在上面。

許多交易人把平台放在虛擬私人伺服器(VPS)上,也就是租用、位於資料中心、有獨立電力與網路的電腦,讓家中停電或路由器重啟不影響策略。這能降低斷線的頻率,卻不改變停損必須掛在期貨商的原則。

自動化系統應設定什麼樣的單日虧損上限與緊急停止開關?

單筆停損、單日虧損上限與手動緊急停止開關,防範三種不同的失敗,每一個都要在系統上線前寫下觸發值,而不是第一個壞日子之後才訂。單筆停損處理單一交易出錯。單日虧損上限處理規則本身與市場脫節、持續觸發的那一天。緊急停止開關處理前兩者看不到的一切:資料源傳來錯誤價格、策略搞丟了自己的部位、期貨商當機。單日虧損上限是一條規則:當日已實現加未平倉虧損達到設定金額時,平掉所有部位並停止新進場。緊急停止開關是單一動作,平掉所有部位並停用策略,只有人才能觸發。

單筆停損單日虧損上限緊急停止開關
觸發條件價格對單筆交易逆向移動一段設定的距離當日總虧損達到設定金額有人判斷出了問題
停止的範圍單筆交易當天剩餘時間的交易一切,直到有人重新啟動
誰來重設下次進場時自動重設下一個交易時段自動重設僅能手動
範例值(假設性)距進場價 2 ATR回測平均虧損日的 2 倍無固定值:只要有跡象顯示系統沒有照回測的方式運作
三道防線、三個層級,以兩個交易日呈現:單筆停損讓單一交易停下,之後交易恢復;單日虧損上限讓當天剩餘時間停止,下一個交易時段恢復;緊急停止開關讓一切停止,直到有人重新啟動 三道防線,三個層級 各自停止交易多久 第 1 天 第 2 天 停損 開 關 單日上限 開 關 緊急停止 開 關閉,直到你重新啟動 每道防線停下的範圍更廣。 所以:三項都先寫下來。
三道防護針對三種不同的失敗,設在三個不同的層級。

單日上限要依回測訂定,不要憑感覺。打開回測報表中的虧損日清單,取平均虧損日,再把上限設在回測中很少達到的倍數。上限若落在虧損日的正常範圍內,會經常觸發,讓策略變成你從未測試過的東西;若遠在範圍之外,就永遠不會觸發,什麼也保護不了。

假設性範例

回測顯示平均虧損日為 $800,六年中只有三天虧損超過 $1,600。單日上限設在 $1,600(平均虧損日的兩倍),整個測試中只會有三天停止交易。這罕見到不會改變策略,又夠緊,能抓到資料或規則出問題的那一天。

注意,上面的 ES 回測依設計沒有停損也沒有停利;它是用來衡量報酬相對回撤的替身規則。這類規則的實單版本,上線前要補上三道防護。如何選擇單筆停損類型,請見本站的停損文章;這裡的重點是三道防線各自獨立,而且緊急停止開關完全沒有自動觸發。

轉倉與資料問題如何讓免人工的系統出錯?

系統持續交易即將到期的合約,或把一筆錯誤報價當成突破,失敗時悄無聲息,因此轉倉日期、連續月設定與資料合理性檢查,應寫進書面流程,而不是靠記憶。轉倉是從即將到期的合約換到下一個合約,原因是到期前幾天流動性會移到新合約。ES 這類股價指數期貨每季到期,所以一年發生四次。盯著畫面的人會注意到舊合約的成交量已經枯竭;無人看管的程式不會,它會繼續對變薄的委託簿送單,到期時,策略仍以為持有的部位會被結算掉。

轉倉週示意:轉倉日前後,舊合約日成交量遞減、新合約遞增;轉倉日之後仍在交易舊合約的系統,標示為風險 轉倉時成交量移轉 示意:各合約日成交量 舊 新 仍在交易 轉倉日 成交量離開舊合約。 所以:依事先訂好的日期轉倉。
轉倉週。免人工系統出錯的兩種方式:交易逐漸萎縮的合約,以及把合約之間的價差跳動當成訊號。

第二種失敗是價格跳動。因為期貨定價內含的資金成本與股利,新合約的價格通常與舊合約不同。若資料源把兩個合約接在一起,卻沒有調整價差,策略會看到一個在任何可交易商品上都不曾發生的單日行情。突破或動能規則會把它當成訊號。錯誤報價也一樣:一筆遠離市場的錯誤成交,會觸發沒有人會做的進場或停損。如何調整連續序列,以及這個選擇為何會改變回測結果,見期貨回測的合約規格、轉倉與每跳動點價值;實單系統需要與回測相同的設定,否則兩者從第一次轉倉起就會不一致。

能抓到這兩種失敗的流程:

  1. 把下一個轉倉日寫進行事曆,上線當天就寫,再多寫下一個。日期以交易所合約頁為準,因為由交易所訂定,也可能更動。
  2. 事先決定轉倉怎麼做:由平台自動轉換商品,或在固定時間平掉舊合約,並在新合約上重新啟動策略。
  3. 核對連續月設定:把實單圖表的設定與回測比對。測試用向後調整、實單卻未調整,是只會在轉倉日才出現的不一致。
  4. 在每日流程中加入資料合理性檢查:把圖表上的最後收盤價,與交易所的結算價比對,並找出波動區間是近期平均許多倍、卻沒有任何消息的 K 棒。

什麼樣的檢驗與監控流程,能讓自動化策略保持誠實?

免人工執行要成立,策略必須在上線前通過樣本外與推進分析的檢驗,並且每週將實單成交與回測比較,同時有一條書面規則寫明何時關閉。樣本外測試,是把定案的規則不加更動地跑在沒有用來挑選它們的一段歷史上。推進分析是在一段歷史窗口上最佳化參數,再不加更動地跑在接著的下一段,往前移動並重複,使合併結果完全由事先選定的參數所做的交易組成。兩者對自動化策略比對主觀交易更重要,因為自動化策略會交易每一個訊號,包括人會懷疑的那些。

上面的搜尋結果之所以需要這些檢驗,原因就是 Bailey、Borwein、López de Prado 與 Zhu(2014)所描述的:同一段歷史上測試許多變體再留下最好的,留下的結果會被選擇誇大,且誇大程度隨變體數量增加。從 1,024 個中留下的一個候選策略,帶著很大的選擇加成。只有搜尋從未碰過的資料,才能顯示它的結果有多少是規律、多少是運氣。AlphaPrime 在搜尋前先設定門檻的策略檢驗中依序執行這些檢驗,候選策略在第一個未通過的檢驗就被淘汰,所以進入你策略資料庫的,都已經用它們沒看過的資料評分。

每週流程示意:每個點是一次每週的實單回撤檢查,虛線是上線前寫下的回測最差回撤,實單回撤越過這條線時,規則就是停止 停在寫好的線 一點 = 一次每週檢查 示意 回測最差 實單 停止 超出測試最差值:關閉。 所以:上線前先寫好這條線。
這個流程在上線前執行一次,之後每週重複。決策步驟採用上線前寫好的規則。

上線後,每週的比對是最誠實的部分。把實單交易與回測在同樣 K 棒上會做的交易對齊,檢查三件事:

  1. 實單系統是否做了相同的交易?少一筆或多一筆,都指向資料或同步問題,屬於上一節討論的範圍。
  2. 實單成交是否比回測假設更差?上面的回測每筆交易計入 $25 滑價。若實單成交平均對你不利的幅度超過這個數字,回測的平均每筆損益 $376.64 每筆都會縮水那個差額,第二節的資金堆疊也就太小了。
  3. 實單結果是否落在回測呈現的範圍內?回測若出現過同等大小的虧損月,虧損一個月是正常的。回撤比回測最大值更深,就是事先寫好的訊號:關閉並調查。

上線前用一句話寫下關閉規則,例如:「實單回撤超過回測最大值,或 20 筆交易內實單平均滑價超過測試值的兩倍,就平倉並停止。」第一筆實單前的六項檢查,列在演算法交易的上線檢查清單;本節的流程,是讓那些檢查在之後仍然成立。

你的下一步:打開你打算自動化的策略的績效報表,讀出最大回撤與平均虧損日,把帳戶規模、單日虧損上限與關閉規則寫在一張紙上。若報表中缺少這三個數字中的任何一個,這個策略就還沒準備好自行運行。

常見問題

我可以完全不看盤、全自動交易期貨嗎?

可以不必盯著每個跳動點,但不能不檢查。全自動系統負責下單,卻不會察覺連線中斷、合約即將到期或資料源錯誤。每個交易日對連線、持倉與當日虧損做一次簡短檢查,再加上每週將實單成交與回測比對,是免人工系統所需的最低監督。

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

足以涵蓋系統可持有的每一口合約的交易所保證金,加上回測顯示的最大回撤,再加約該回撤一半的緩衝。回撤這一層,是多數交易人漏掉的一層。自動化系統在連續虧損時不會暫停,帳戶必須撐過整段虧損,才能等到回測所仰賴的回復。保證金數字請以交易所合約頁為準,因為它會變動。

網路中斷時,我的部位會怎樣?

這取決於保護性停損放在哪裡。掛在期貨商伺服器或交易所的停損單會持續運作,價格成交時就會平掉部位。只存在你電腦上策略程式碼中的停損,連線中斷的那一刻就失效。第一個無人看管的夜晚之前,向期貨商確認停損放在哪裡、斷線時未成交委託單是否被取消,以及策略重新連線時如何接回部位。

自動化交易的主要風險是什麼?

六個失敗點涵蓋了大部分風險:回撤資金不足、只靠程式碼停損卻斷線、沒有單日虧損上限、沒有手動緊急停止開關、轉倉週交易到期合約或錯誤報價,以及上線一個從未在沒看過的資料上測試的策略。每一個都有能在上線前寫下的防護。防護只存在交易人記憶中時,風險最大。

自動化期貨交易需要 VPS 嗎?

虛擬私人伺服器是租用的電腦,位於資料中心,有自己的電力與網路連線。它排除了家中停電與路由器重啟這些斷線原因,部位要持有過夜時很有用。它無法取代期貨商端的掛單停損、單日虧損上限或每日檢查,因為伺服器也可能與期貨商斷線。

參考文獻

  • 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.
  • Magdon-Ismail, M., & Atiya, A. F. (2004). Maximum Drawdown. Risk, 17(10), 99–102.
  • Staffs of the CFTC and SEC (2010). Findings Regarding the Market Events of May 6, 2010. Report to the Joint Advisory Committee on Emerging Regulatory Issues, September 30, 2010.
  • U.S. Securities and Exchange Commission. Stop, Stop-Limit, and Trailing Stop Orders (Investor Bulletin). https://www.investor.gov/introduction-investing/general-resources/news-alerts/alerts-bulletins/investor-bulletins-15