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

NQ 期貨交易機器人:怎麼建立、測試與上線

NQ 期貨交易機器人是一套寫明的規則,不經人工判斷就交易那斯達克 100 期貨。建立分六步:寫下規則、設定 NQ 的成本與時段、回測、用未見過的資料檢驗、匯出到你的交易平台,再把實單成交與回測逐週比對。決定成敗的數字,是扣除成本後的平均每筆損益。

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

目錄
  1. 如何建立並測試 NQ 期貨交易機器人?
  2. NQ 期貨交易機器人能賺錢嗎?
  3. NQ 的每跳動點價值、保證金與波動率,對機器人意味著什麼?
  4. 小帳戶該用 MNQ 而不是 NQ 執行機器人嗎?
  5. 哪些規則最適合 NQ 機器人?
  6. 如何回測並檢驗 NQ 機器人?
  7. 機器人上線後該監控什麼?
  8. 常見問題
  9. 參考文獻

如何建立並測試 NQ 期貨交易機器人?

NQ 期貨交易機器人是一套寫明的規則,不經人工判斷就進出那斯達克 100 期貨。建立分六步:寫下規則、設定 NQ 的成本與時段、回測、用規則從未見過的資料檢驗、把程式碼匯出到交易平台,之後每週比對實單成交與回測。

六個步驟只往一個方向走。後面步驟的結果,不會讓你回頭改前面步驟的設定。看到實單或樣本外結果後想改規則,就從第一步重來,換成新的候選策略,因為改過的規則已經看過不該看的資料。這個順序適用於任何日內系統,當沖演算法的建立與測試逐步說明了通則。本文把這六步套用在 NQ 上。

  1. 完整寫下規則。進場、出場、停損、部位大小,以及機器人可以交易的時段。所有數值都以指數點數表示,後面的章節會換算成美元。
  2. 設定 NQ 的成本與時段。每口手續費、以跳動點計的滑價,以及機器人交易的時段。這些設定要放進第一次回測,不是最後一次。
  3. 以完整歷史回測,並計入成本。先看交易筆數與扣除成本後的平均每筆損益,再看淨損益。
  4. 用未見過的資料檢驗。依日期切開歷史,規則原封不動拿到後段評分,再以視窗往前推進測試。
  5. 匯出到交易平台。AlphaPrime(Valynox)把完成的規則輸出成交易平台的原始碼,支援的平台列在平台匯出頁面,上線的機器人就是通過檢驗的那套規則,不是手打的複本。
  6. 以回測為準,監控實單成交。滑價、交易筆數與回撤,每週與回測假設的數值比對。
六個只往一個方向走的步驟:寫規則、設成本、回測、檢驗、匯出、實單上線。結果不理想就回到第一步,當作新的候選策略,不去微調舊規則。 六步,單向 結果不會回頭改前面的步驟 1 規則 2 成本 3 回測 4 檢驗 5 匯出 6 實單 新候選策略,不是微調 結果不拿來微調規則。 所以:回到第一步重來。
六個步驟只往一個方向走。實單結果不如預期時,在第一步開新的候選策略,不調整舊的那個。

NQ 期貨交易機器人能賺錢嗎?

機器人只能留住扣除手續費與滑價後剩下的部分,所以決定成敗的數字,是扣除成本後的平均每筆損益與來回成本的比較。來回成本是開倉與平倉一次所付的全部費用:買賣兩邊的手續費與交易所費用,加上兩邊的滑價。滑價是回測假設的價格與實際成交價之間的差。多數候選規則過不了的是這項比較,而不是未扣成本的回測。

NQ 在美股現貨交易時段流動性充足,所以停損單或市價進場單每邊一個跳動點的滑價,是合理的起始估計。NQ 一個跳動點是 $5(CME Group 合約規格),一買一賣每邊一個跳動點,滑價就是 $10,尚未計入手續費。單看金額似乎不大,直到規則每筆的平均波動也偏小,情況就不同了。

假設性範例

某規則在一口 NQ 上的平均每筆毛損益為 $35。手續費與費用是每一買一賣 $5,滑價為每邊一個跳動點,共 $10。平均每筆淨損益是 $35 − $5 − $10 = $20。現在把滑價加倍到每邊兩個跳動點(開盤前後或消息公布時屬正常):平均每筆淨損益降到 $35 − $5 − $20 = $10。平均每筆毛損益只有 $35 的規則,成敗取決於成交品質;平均每筆毛損益 $150 的規則,對同樣的變化幾乎沒有感覺。

平均每筆毛損益為 35 美元的 NQ 假設性交易:每邊一個跳動點的滑價時,成本 15 美元、淨損益 20 美元;每邊兩個跳動點時,成本 25 美元、淨損益降到 10 美元 滑價把淨損益減半 假設性;滑價為每邊 毛損益相同:每筆 $35 1跳動點 淨$20 成本$15 2跳動點 淨$10 成本$25 兩個跳動點讓淨損益減半。 所以:目標是成本的 3–5 倍。
平均每筆毛損益必須是來回成本的數倍。否則滑價一旦正常上升,優勢就消失。

不少系統化交易人採用一條實務準則:平均每筆毛損益至少要是來回成本的三到五倍。道理不難懂:成本估計本身有誤差,只在最低估計下才成立的規則,撐不過第一個高波動的週。回測裡的交易成本說明如何設定手續費與滑價,讓候選策略的排序已經反映你實際能成交的條件。

NQ 的每跳動點價值、保證金與波動率,對機器人意味著什麼?

NQ 每指數點 $20、每 0.25 點的跳動點 $5,所以機器人裡的每個停損、停利與部位大小,都要先以點數表示,再換算成美元,才能判斷風險。合約規模是 $20 乘以那斯達克 100 指數,最小價格變動是 0.25 指數點,兩者都由 CME Group 合約規格訂定。免費的期貨合約與損益計算機可把點數與跳動點換算成 NQ 及其他合約的美元金額。

跳動點是交易所允許的最小價格變動。NQ 上四個跳動點等於一個指數點。因此寫成「50 點」的停損就是 200 個跳動點,換算成美元的比例由合約決定,與券商無關。

假設性範例

機器人在一口 NQ 上使用 50 點停損。50 點 × $20 = 每筆風險 $1,000(未計滑價)。若規則常見的獲利波動是 100 點,獲利就是 $2,000。帳戶 $30,000、每筆想冒 2% 風險($600)的交易人,無法用一口 NQ 執行這條規則;帳戶容許的最小停損是 30 點,對 NQ 的波動方式來說可能過窄。

在一口 NQ 上,一個指數點是四個 5 美元的跳動點,也就是 20 美元;50 點停損的風險是 50 乘以 20 美元,也就是一千美元,100 點波動的價值是 100 乘以 20 美元,也就是兩千美元 點數變美元 一口 NQ;跳動點 = 0.25 點 1 點 5 美元 5 美元 5 美元 5 美元 = 20 美元 50點停損 50 × 20 美元 100點波動 100 × 20 美元 50 點停損的風險是一千美元。 所以:依美元決定部位大小。
一口 NQ 的點數、跳動點與美元。機器人以點數思考,帳戶感受到的是美元。

保證金是交易所與券商要求持有一口合約所需的押金。交易所訂出基準金額,並在波動率改變時調整,券商也可能加收自己的日內要求。由於這個數字會變動,不要寫死在程式裡:決定機器人的部位大小前,先到交易所的合約頁面讀取當前金額,波動劇烈的一週過後再讀一次。同一個合約頁面也列出交易時段,時段同樣會不定期調整。

波動率之所以重要,是因為與其他指數期貨相比,NQ 的單日波動區間較寬。在 ES 上以點數衡量合適的停損,放到 NQ 上常常過窄。請用波動率指標,在自己的 K 棒資料上量測區間,不要照抄別人的數字,並把停損寫成該量測值的倍數。NQ 與 MNQ 期貨的規格、交易時段與回測成本逐一說明會影響區間量測位置的時段界線。

小帳戶該用 MNQ 而不是 NQ 執行機器人嗎?

MNQ 是 NQ 的十分之一,每指數點 $2、每跳動點 $0.50,小帳戶得以把每筆風險壓低;但每口手續費不會縮小到十分之一,所以同一條規則在被信任之前,必須在 MNQ 上重新檢查扣除成本後的平均每筆損益。MNQ 是 CME Group 掛牌的微型 E-mini 那斯達克 100 期貨,與 NQ 並列,追蹤同一個指數。

兩個合約的價格波動相同,所以在 NQ 觸發的規則,會在 MNQ 的同一根 K 棒觸發。改變的是每段波動的美元大小,以及成本在波動中所占的比例。

項目NQMNQ
每點價值20 美元2 美元
每跳動點價值(0.25 點)5 美元0.50 美元
40 點停損的美元風險800 美元80 美元
兩個跳動點的滑價10 美元1 美元
每口手續費由券商訂定由券商訂定;通常不是 NQ 的十分之一
MNQ 與 NQ 比較,以占完整 NQ 規模的比例表示:每點價值、50 點停損與兩個跳動點的滑價都縮到十分之一,但假設性手續費 5 美元與 1.50 美元,只縮到十分之三 手續費不會縮小 MNQ 占 NQ 的比例;費用為假設 滿格 = NQ MNQ 每點價值 1/10 50 點停損 1/10 2跳動點滑價 1/10 手續費 3/10 MNQ 的費用占比較高。 所以:在 MNQ 重跑測試。
把規則從 NQ 換成 MNQ,市場波動縮為十分之一。手續費是不跟著縮小的那一列。

假設性範例

前面範例的規則,在 NQ 上平均每筆毛損益 $35,換成 MNQ 就是 $3.50。兩個跳動點的滑價在 MNQ 上是 $1。若券商對 MNQ 每一買一賣收 $1.50,而非 NQ 的 $5,平均每筆淨損益就是 $3.50 − $1.50 − $1 = $1.00。成本在 MNQ 上占毛波動的 43%,與 NQ 上的 43% 相同,這只有在手續費也降到 $0.50 時才成立;實際並沒有。規則仍然過關,但餘裕較小,交易人應在第一口實單前先知道這一點。

對小帳戶的實務答案是可以,用 MNQ,並把 MNQ 的手續費與跳動點價值填入後重跑回測。一條規則在 NQ 過關、在 MNQ 失敗,表示它每筆的優勢本來就貼近成本線。十口 MNQ 的曝險等於一口 NQ,所以隨帳戶成長,機器人也能逐步放大部位大小。

哪些規則最適合 NQ 機器人?

適合 NQ 的規則,要顧及它的時段結構與寬廣的單日波動區間:開盤區間突破,以及搭配以波動率為基礎的停損與時間出場的趨勢跟隨;依賴微小波動的規則,會先輸給成本。時段結構之所以重要,是因為 NQ 在 CME Globex 上幾乎全天交易,每天美國中部時間下午 4:00 至 5:00 休市,但大部分成交量與波動出現在美股現貨交易時段,也就是美國中部時間上午 8:30 至下午 3:00。機器人在安靜的夜間時段,用與現貨盤相同的停損交易,等於在同一個名稱下跑著兩套不同的策略。

開盤區間突破,是等現貨盤開始的前幾分鐘,記下該區間的最高價與最低價,價格離開區間時進場的規則。它適合 NQ,因為開盤時區間最寬,每筆的波動相對於兩個跳動點的滑價就大。搭配 ATR 平均真實區間停損的趨勢跟隨,適合的原因相同:平均真實區間(Average True Range)衡量 NQ 每根 K 棒的移動幅度,所以停損在波動大的日子放寬、在安靜的日子收緊,不會被雜訊打到。

規則類型每筆常見波動(點)每日交易筆數成本占波動的比例適合 NQ 機器人的程度
開盤區間突破數十點0 到 2低良好
搭配 ATR 停損的趨勢跟隨數十到數百點少於 1低良好
小波動的均值回歸數點數筆中到高計入成本後再檢查
賺取數個跳動點的極短線少於 2 點多高不佳
同樣約四分之三點的假設性來回成本,占各類規則常見波動的比例不同:占開盤區間突破約 3%,占搭配 ATR 停損的趨勢交易不到 1%,占均值回歸交易約 19%,占跳動點極短線的一半 大波動勝過成本 每筆成本相同;示意 波動 成本 開盤突破 趨勢 + ATR 停損 均值回歸 跳動點極短線 3% <1% 19% 50% 微小波動把優勢讓給成本。 所以:偏好大波動的規則。
每筆波動大的規則,成本占波動的比例小。需要許多微小波動的規則,付出的成本最高。

時間出場,是在固定的時鐘時間(例如現貨收盤前幾分鐘)平掉所有未平倉部位,值得加進多數 NQ 日內規則。它讓機器人避開沒有測試過的夜盤,也讓交易筆數可以預期,有助於後面說明的實單監控。

如何回測並檢驗 NQ 機器人?

第一次執行前先設好時段、成本與下一根 K 棒成交,再用樣本內與樣本外切分,以及推進分析的視窗,在規則從未見過的資料上評分。下一根 K 棒成交的意思是:某根 K 棒收盤時算出的訊號,在下一根 K 棒的開盤成交,因為機器人無法交易剛看到的收盤價。指數期貨最常設錯的五項設定,列在ES 與 NQ 期貨回測先設好的五項基本設定。

把檢驗想成一座階梯。每一階都用前一階沒用過的資料給規則評分,沒過其中一階的規則,就停在那一階。

  1. 以完整歷史回測,並計入成本。對照來回成本,檢查交易筆數與平均每筆損益。
  2. 樣本內調整區段。只用歷史前 70% 到 80% 選定設定。
  3. 樣本外區段。把選定的設定原封不動套用到其餘歷史,並拿平均每筆損益與樣本內的數字比較。
  4. 推進分析視窗。推進分析是在一個視窗調整、在下一個視窗原封不動交易,再往前推並重複的測試,把樣本外的區段接起來,就能看出你實際能交易到的成績。
K 棒時間軸上的檢驗階梯:計入成本的完整歷史測試、用 70% 到 80% 調整的樣本內區段、原封不動執行的樣本外區段,以及先調整再交易下一個視窗的推進分析視窗;規則沒過任何一階,就停在那一階 爬上檢驗階梯 時間由左至右 完整測試 全部 K 棒+成本 樣本內 調整 70–80% 樣本外 OOS 推進分析 每一階都用沒見過的 K 棒。 所以:沒過一階,就停在那裡。
檢驗階梯。每一階都用前面各階未曾用來選定設定的 K 棒,給規則評分。

為什麼需要這座階梯,在搜尋嘗試許多候選策略時就清楚了。Bailey 等人(2014)指出,多次嘗試中最好的那個回測,光憑挑選就被灌高,還沒算進任何真正的優勢。下面的回測顯示一個被保留的候選策略,摘要長什麼樣子。它是 ES 日 K 棒的測試,不是 NQ,而且用的是替代規則:以蠟燭圖(Candlesticks)規則作為唯一的進場與出場,沒有停損、沒有停利、沒有濾網,不是 NQ 機器人的規則。搜尋嘗試了 1,024 個候選策略,因為報酬相對回撤的表現,保留了這一個。事後挑出保留的那個,會讓它看起來比實際好,所以這些數字只描述該候選策略在那段歷史上的表現,不代表其他。

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

數字結果
淨利(已平倉)$129,630
最大回撤$59,010
交易筆數56
勝率57.14%
獲利因子2.022
平均每筆$2,314.82
在場時間93.48%
被保留候選策略的摘要面板。先看交易筆數,再拿平均每筆損益與每筆成本比較,最後拿最大回撤與你打算用來交易的帳戶比對。
被保留候選策略的摘要面板。先看交易筆數,再拿平均每筆損益與每筆成本比較,最後拿最大回撤與你打算用來交易的帳戶比對。 ES · 日 K 棒 · 2019-01-02 至 2025-06-30 · CPU 引擎回測

這張表有三個讀法,示範了任何報表該怎麼讀。第一,六年半 56 筆交易是小樣本,只要幾筆交易改變,平均每筆損益 $2,314.82 就可能大幅變動。第二,平均每筆損益遠大於每筆 $45 的手續費與滑價,也就是第二節的成本檢查有餘裕地通過。第三,持倉時間占比 93.48%,表示規則幾乎一直持有部位,所以結果有相當大的部分來自該期間市場本身的方向,不是進出場時機。這些都不是說這條規則賺到了那些錢,也不是說讀者可以期待同樣的成果;它們只說明該讀哪些欄位、依什麼順序讀。在 AlphaPrime 裡,樣本內、樣本外與推進分析這幾階,是以你在搜尋前先設定的門檻,作為策略檢驗來執行,沒過其中一階的候選策略,不會送上下一階。

機器人上線後該監控什麼?

每週把三個實單數字與回測比較:每筆滑價、每週交易筆數,以及目前回撤與回測最大回撤;一旦碰到上線前寫好的界線,就停掉機器人。界線要事先寫好,因為看著實單虧損的交易人,總會找到理由再等一週。

項目回測假設實單讀數事先寫好的停機規則
每筆滑價每一買一賣兩個跳動點成交價減訊號價,取該週所有交易的平均平均高於假設值兩倍,持續兩週
每週交易筆數回測報表的筆數除以週數機器人實際下的交易筆數遠高於或遠低於回測筆數:觸發頻率是兩倍的規則,已不是測過的那條規則
目前回撤回測最大回撤權益高點減目前權益高於回測最大回撤的 1.5 倍
三項實單讀數,畫成有「已測範圍」「觀察區」「停機區」的刻度:滑價在兩個跳動點內屬正常,加倍就停機;每週交易筆數須維持在回測筆數附近,過低或過高都停機;回撤在回測最大回撤以內屬正常,高於其 1.5 倍就停機 先寫好停機界線 每週比對實單成交 已測範圍 觀察 停機 滑價 2跳動點 2× 筆數/週 N 回撤 最大回撤 1.5× 上線前先決定界線。 所以:碰到任一界線就停機。
三項實單讀數,各自對照它要比較的回測數值,以及會讓機器人停機的書面界線。

滑價最容易量測,也最先偏離。平台的成交紀錄有成交價;下一根 K 棒成交的回測裡,機器人的訊號價就是下一根 K 棒的開盤價。兩者的差,以跳動點計,取該週平均,就是實單滑價。若明顯高於兩個跳動點,在決定其他事情之前,要先用量到的數值重跑回測。交易筆數抓的是另一種錯誤:研究資料與實際圖表的時段設定不同,機器人因此交易了從未測過的時段。回撤界線訂為回測最大回撤的 1.5 倍是常見做法,因為實單回撤若已經大於歷史上出現過的最糟情況,就是歷史對這條規則過於寬容的證據。

第一口實單之前,先跑完演算法上線前的六項檢查,這週再做一件事:取出你目前的 NQ 候選策略,從報表記下平均每筆毛損益,除以兩個跳動點滑價下的來回成本。若答案低於三,在繼續處理進場之前,下一個要跑的測試,就是同一條規則加倍滑價。

常見問題

NQ 期貨交易機器人能賺錢嗎?

機器人只留得住扣除手續費與滑價後剩下的部分,所以問題在於規則扣除成本後的平均每筆損益,在沒有拿來調整的資料上是否維持為正。NQ 一個跳動點是 $5,所以每邊一個跳動點滑價的一買一賣,在計入手續費前成本是 $10。平均每筆毛損益是該成本數倍、且樣本外平均每筆損益仍為正的規則,已通過多數候選策略過不了的檢查。沒有任何回測能把這變成預測。

我可以用 MNQ 取代 NQ 來執行機器人嗎?

可以。MNQ 追蹤同一個指數,規模是十分之一,每點 $2、每跳動點 $0.50,所以同樣的訊號會在同樣的 K 棒觸發。請填入 MNQ 的跳動點價值與 MNQ 的手續費重跑回測,因為每口手續費通常不是 NQ 的十分之一,在每段波動中占的比例也較大。十口 MNQ 等於一口 NQ 的曝險,小帳戶因此可以分段放大部位。

NQ 機器人需要多少保證金?

保證金由交易所按每口合約訂定,並在波動率改變時調整,券商可能要求隔夜部位更高、日內部位更低。決定機器人的部位大小前,先讀交易所合約頁面與券商保證金表上的當前金額。帳戶規模要以回測最大回撤加保證金來定,不能只看保證金,因為持有部位期間,帳戶要承受的是回撤。

哪些規則最適合 NQ 機器人?

相對於成本、每筆波動大的規則:現貨開盤的開盤區間突破,以及搭配以 ATR 為基礎的停損、收盤前時間出場的趨勢跟隨。只想賺幾個跳動點的極短線規則,會把每段波動的大部分交給手續費與滑價。無論哪種規則,都限定在你測過的時段內,因為 NQ 的夜間時段與現貨盤的表現不同。

參考文獻

  • 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
  • CME Group. Micro E-mini Nasdaq-100 Index Futures Contract Specs. https://www.cmegroup.com/markets/equities/nasdaq/micro-e-mini-nasdaq-100.contractSpecs.html
  • 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.