資料與研究 · 回測練習

從一份歷史資料開始,完成可重做的回測練習

這一頁帶您把 Data Center 匯出的資料放進 MultiCharts,核對資料與策略設定,保存比較結果。最後再介紹已有靜態部位管理套件時,如何做 A/B 圖比較;不需要先學會改寫策略程式。

先資料、後策略校對:2026-09-14

01 先完成一個小範圍練習

準備一個您認得的商品、一種資料模式,以及一支已能在 MultiCharts 正常計算的策略。以下用「一個期貨商品、1 分鐘資料、2025 年的一段歷史」作操作例子;商品與日期可以替換,不是交易建議。

先準備要確認的內容
歷史檔案在資料中心匯出 MultiCharts ASCII;資料狀態已可用,不只是 ZIP 下載完成。
資料識別商品、交易所、未調整/調整後、1 分鐘/日線、實際期間、完整版本及 Auto/自訂規則。
研究用工作區在 MultiCharts 使用另存的工作區與研究商品,便於與現有即時圖表分開核對。
可執行的策略已安裝且能正常計算;若是外購策略,先取得提供者的相容版本與設定說明。

期貨 Back Adjusted 適合觀察跨月訊號,但價格不是當時實際成交價;股票 adjusted 適合研究較連續的訊號,成交與費用另需 raw 價格。先閱讀價格模式選擇,並在研究紀錄註明使用哪一種資料。

QuantBrains 與回測軟體各做什麼

歷史 K 線在 Data Center 下載、在 MultiCharts 回測;QuantBrains 讀取的是策略輸出的狀態,再進行策略整合與資金配置。將 ASCII 放進 MultiCharts,並不會自動建立 QuantBrains 的策略來源。

02 把 ASCII 匯入 MultiCharts

  1. 開啟 MultiCharts 的 QuoteManager,選取要承接資料的研究商品。先核對商品的價格比例、交易所與時間設定。
  2. 選「檔案 → 匯入資料 → ASCII」,選取 Data Center 匯出的 _ASCII.txt。
  3. 在預覽確認欄位與日期、時間格式;資料週期選實際的 1 分鐘或 1 日,起始列要略過檔案表頭。
  4. 確認檔案時間採交易所當地時間、匯入期間正確,再完成匯入。

QuoteManager 匯入相同商品、相同時間的資料會覆蓋原有內容;先使用研究商品或備份既有資料。介面名稱依版本可能略有差異,詳見 MultiCharts 官方:匯入資料。

Data Center 欄位在預覽確認
Date/Time日期與時間能正確辨識,前導零沒有消失,未重複位移。
Open/High/Low/Close依序是開、高、低、收;與來源檔數值一致。
TotalVolume成交量欄位,沒有誤配成價格。

第一次先保留 Data Center 原時間,不勾額外的「Time shift +1 分鐘」。若既有流程確實要求時間位移,另存一份位移後檔案,並把規則記清楚;不要一邊匯出位移、一邊匯入又轉一次。

匯入成功的判斷

開研究圖表,抽查最早一天、期間中間一天及最後一天,與檔案的日期、時間、收盤價和成交量比對。圖表期間應落在實際資料範圍內;畫得出 K 線只是第一步,抽查一致才繼續。

03 產生第一份基準回測

1

設定圖表條件

使用研究商品,設定策略需要的週期、交易時段及歷史範圍。策略若需要較長觀察期,圖表需有足夠較早資料,讓指標先完成計算。

2

套用已安裝策略

選一支能正常使用的策略,保留原始參數,先確認圖表上的方向與進出場位置合理。這一輪只計算歷史回測,不需要啟用 AA 自動下單。

3

核對交易與成本設定

確認口數、每大點價值、手續費與滑價的單位。不同商品不能沿用同一組數值;若尚未確認,將報告標示為「成本假設待確認」。

4

保存基準報告

查看 MultiCharts 績效報告,保存報告或截圖,記下交易次數、淨損益、最大回撤與最大口數。抽查幾筆交易是否能對回圖表。

如果完全沒有交易

先查資料期間、暖機資料、交易時段及策略是否啟用,再看策略條件本來是否會觸發。不要為了看到交易而同時改掉所有參數。

04 情境:比較一個設定改變前後

假設您想知道某個策略參數或部位管理選項的影響。先保留剛才的基準,另存比較用工作區:

  1. 兩次研究使用同一份資料、同一期間、相同交易時段與成本。
  2. 只改一個有明確用途的選項,例如策略提供的觀察天數;其他設定保持一致。
  3. 重新計算後,並排比較交易次數、淨損益、最大回撤、最大口數與交易明細。
  4. 再用另一段未參與調整的期間檢查。不要只保存結果最好的一次。
  5. 在交易備忘錄記下改了什麼、為什麼改、哪些交易有差異。
記錄欄位範例填法
研究名稱YM 分鐘資料:原設定與觀察期調整
資料商品/交易所、Auto、價格模式、完整版本、實際期間及檔案位置
唯一改動參數名稱、原值、新值;其餘相同
比較結果交易次數、含成本淨損益、最大回撤、最大口數
尚未確認資料缺口、官方收盤限制、樣本外期間或外部執行差異
成功不是一定賺更多

成功是能用相同檔案與設定重做結果,並說明差異來自哪個設定。結果變差也應保存,避免下次重複同樣的研究。

05 選用:靜態部位管理套件的 A/B 圖練習

舊版教材提到 @QB_Static_BackTest_Pass、@QB_Strategy_PureTrend 與 @QB_Strategy_PureTrend_GetDMM。這是一套需要另外確認版本的 MultiCharts 範例;目前專案內可見的 Connect 文字檔,不代表已包含這三支公式。若公式清單找不到,先向套件提供者取得完整相容版本,前面的基本回測仍可照常進行。

圖表掛載內容您要看什麼
A 圖:基準與分析套件提供的原始策略與 Static BackTest Pass原始交易,以及所選管理方式的計算結果。
B 圖:管理後比較套件對應的 GetDMM 策略接收 A 圖結果後的方向與口數。
  1. 以套件提供的範例先建立 A/B 兩圖;商品、週期、資料期間、時段與成本需一致。
  2. 先確認原始策略能正常計算,再依套件說明選一種管理方式。多空分開的套件,就以相同方向做 A/B 比較。
  3. A 圖重新計算後,依套件操作重新載入 B 圖,確認它讀到這次結果。
  4. 比較實際口數與交易明細,查看部位變大時回撤是否也一起變大。
  5. 保存設定與結果。自己的策略若沒有相容管理版,請提供者協助,不直接覆寫原始策略。

教材提到的三種管理概念

名稱一般觀察目的先確認
風險位階 RiskLevel觀察相對位置改變時,部位是否跟著縮放。是依商品價格還是策略績效決定位置,以及最大部位。
回撤管理 DD觀察策略從高點回落後的配置變化。該模式是減少、等待或增加配置;不同模式不能只看數字猜意思。
波動管理 VarLevel觀察波動大小改變時的部位變化。觀察期間、計算對象與配置上限。

參數與模式編號以實際套件說明為準;本頁不把舊版 Mode 1–6 或已移除參數當作目前產品的統一規格。

06 回測完成後,接回 QuantBrains 的順序

  1. 另存研究工作區與資料,選定要接入平台的策略版本。
  2. 依接上 MultiCharts 策略設定 Connect 與來源路徑,先確認來源檔存在且更新。
  3. 在 QuantBrains 加入來源,再到商品與策略整合核對方向、部位與商品。
  4. 進行單純讀取與模擬驗證,確認來源與平台顯示一致後,再依資金管理專案設定配置及輸出。
同一套部位管理不要重複計算

如果回測使用的是「已管理口數」策略,先記下哪些管理已在策略端完成,再檢查 Connect 和 QuantBrains 是否重複縮放。不要把舊教材的某個開關值直接套到不同版本;應以當前策略、Connect 參數與平台設定逐層核對。

07 常見問題

匯入後價格差 10 倍,或日期完全不對

回 QuoteManager 匯入預覽檢查價格比例、欄位順序、日期格式與表頭起始列,再對照來源檔。先修正一小段並抽查,不急著重新下載全部資料。

圖表時間差一分鐘或數小時

核對是否在匯出使用時間位移,以及 MultiCharts 是否再次轉換時區。Data Center 資料已採交易所當地時間;先使用保留原時間的檔案比對。

A/B 圖差很多,無法比較

先核對同一資料版本、價格模式、週期、交易時段、觀察期與成本,再確認 B 圖已重新載入 A 圖這次的結果。管理版改變了口數,可能使交易與損益不同,應查看明細找出原因。

換一份最新資料,舊回測結果也變了

還權或期貨接續資料可能隨更新調整較早歷史。比對兩次資料版本與規則,使用保存的原匯出檔重做原結果;把新資料的結果另存。

回測獲利很好,可以直接實盤嗎?

先確認資料品質、交易成本、最大口數與不同期間的表現,再做模擬訊號與外部工具驗證。回測無法證明日後績效,或證明實際委託已成交。

下一步

保存可以重做的研究結果,再接入策略來源。