← 返回部落格 · 2026年10月05日 · 約4分鐘讀完
先說一個反常識的結論:回測報告做得越漂亮,引數失效得往往越快。尤其是均線這種“老掉牙”的系統,你把引數調到回測曲線完美上揚的那一刻,大機率不是找到了聖盃,而是把引數硬生生掰彎去貼合了歷史行情。
甲醇是我見過最多人拿來跑均線回測的品種之一——鄭商所的主力合約流動性好、保證金不貴、波動夠大,趨勢段走出來的時候均線訊號確實漂亮。但為什麼同樣一套MA5/MA20,有人跑得風生水起,有人實盤三個月就被震盪行情磨到懷疑人生?今天咱們把這件事掰開揉碎聊透。
甲醇為什麼特別“吃”均線——也特別容易把均線打臉
甲醇的行情結構很有意思:它是一個“趨勢段+漫長震盪”交替的品種。驅動邏輯很清晰——港口庫存、伊朗裝置開停車、煤價成本端,這幾樣一發酵,單邊行情能走得很猛。最典型的就是2021年秋天那一波煤化工行情,動力煤被調控之後,甲醇跟著從高位快速回落,那種單邊下跌裡,任何一條像樣的均線系統都能吃得滿嘴流油。
但問題在於,甲醇一年裡真正“像樣”的趨勢段,可能就兩三段,剩下的時間大量處於窄幅震盪。均線系統的天性是追趨勢,震盪就是它的天敵:金叉買入就回落,死叉做空就反彈,來回挨耳光。所以回測甲醇的均線系統,第一件事不是找引數,而是先接受一個事實——這個系統的盈利分佈極度不均勻,可能80%的利潤來自20%的行情。你能不能扛住剩下80%時間裡的小額連續虧損,才是生死問題。
回測之前,先做好這三件事,否則資料全是假的
1. 主力合約換月必須處理,不能直接用連續合約
很多新手拿行情軟體裡的“甲醇連續”直接回測,這是最大的坑。主力換月那天,新舊合約之間存在價差,K線上會出現一個跳空,而這個跳空你實盤根本賺不到——你是拿著舊合約移倉到新合約的,成本是真實的。正確做法是用後復權或比例復權的方式拼接主力合約,把換月價差平滑掉。甲醇換月一般一年四次左右(1、5、9月合約輪動),不處理的話,回測裡會憑空多出一堆假訊號和假盈虧。
2. 手續費和滑點必須往高了算
均線系統是典型的中低頻策略,甲醇手續費本身不貴,但滑點不能省。我的習慣是按1到2個最小變動價位來計滑點,行情急的時候(比如夜盤受外盤訊息衝擊)實際滑點還會更大。算得寬鬆一點,回測結果難看一點,但那是接近真實的結果。
3. 樣本必須覆蓋“壞年份”
只測2021年那種單邊大年,什麼引數都好看。至少要覆蓋:2018年前後那種趨勢行情、2020年疫情後的V型反轉、2021年的暴漲暴跌、以及最近幾年波動率明顯收斂的震盪年份。一個引數組合如果只在某一類行情裡賺錢,它不是策略,是彩票。
引數怎麼選:找“引數平原”,不要找“引數尖峰”
這是全文最核心的一招。做法很簡單:把快線/慢線引數掃一遍,比如快線取5、10、15、20,慢線取20、30、40、60,跑出十幾組結果,然後看盈利分佈的形狀。
- 壞訊號:只有20/60這一組賺錢,旁邊19/61、20/55都虧。這說明利潤是引數“湊”出來的,未來稍微偏一點就失效。
- 好訊號:20/40、20/60、30/60這一片區域都能盈利,只是多少不同。這說明策略捕捉的是甲醇的某種真實趨勢特徵,而不是歷史資料的巧合。
舉個示意性的對比,幫你理解選參邏輯:
| 引數組合型別 | 回測表現特徵 | 實盤風險 |
|---|---|---|
| 短週期(如5/20) | 訊號多,趨勢段吃得早,但震盪期虧損筆數多 | 手續費和心態消耗大 |
| 中週期(如10/30、20/60) | 訊號適中,能過濾掉大部分噪音 | 相對均衡,是多數人的舒適區 |
| 長週期(如30/60以上) | 訊號少,單筆利潤大,但趨勢反轉時回吐明顯 | 需要極強的持倉耐心 |
對甲醇來說,我個人的傾向是中長週期組合打底,比如20/60這一檔附近,然後在“引數平原”裡選表現中庸的那一組——注意,是中庸的那組,不是最優的那組。最優那組大機率是過擬合的,中庸那組反而更接近策略的真實水平。
光有均線不夠:三個過濾條件,砍掉一半的假訊號過濾一:慢線斜率
金叉本身不算數,要求慢線(比如60日均線)斜率向上才做多,向下才做空。這一條能砍掉均線糾纏區裡的大量假金叉死叉。甲醇在庫存資料真空期經常走出均線上下纏繞的行情,斜率過濾就是幹這個用的。
過濾二:均線間距
快慢線剛交叉但間距很近的時候不進,等兩線拉開一定距離再確認。代價是進場晚一點、利潤少一點,換來的是勝率和心態的穩定。趨勢交易本來就是拿“早進場的利潤”換“少捱打的確定性”。
過濾三:波動率分級
可以用ATR之類的指標簡單分檔:波動率極低的時期減倉或不做,波動率放大後再恢復正常倉位。2021年那種行情裡倉位管理比方向判斷重要得多——方向對了但倉位打太滿,一個回撤照樣出局。
均線系統的本質不是預測,而是“用規則換耐心”。引數決定你捕捉哪一段趨勢,過濾條件決定你躲開哪一段震盪。
這套思路搬到別的品種上,要動哪裡
- 螺紋鋼:季節性和地產週期驅動,趨勢段相對規律,中長週期均線(如20/60)適配度不錯,但要注意移倉換月和節假日前的倉位處理。
- 鐵礦石:波動比螺紋鋼猛,政策訊息一出來跳空很常見,均線引數可以適當放長,倉位要相應壓低。
- 豆粕:受美豆和外盤影響大,隔夜跳空是常態,均線系統日內訊號容易被跳空打穿,更適合用日線級別、收盤確認的方式做。
- 原油:內外盤聯動、地緣訊息驅動,跳空風險全品種裡排前列,長週期均線+嚴格止損+小倉位,別指望均線在訊息行情裡保護你——2020年那次負油價已經把“極端行情下任何技術指標都會失靈”這件事演示得明明白白。
怎麼知道你的引數開始失效了
引數失效不是玄學,是有徵兆的:
- 連續虧損筆數明顯超過回測中的歷史最大連虧——比如回測裡最多連虧5筆,實盤已經連虧8筆還在繼續;
- 實際滑點比回測假設大得多,說明流動性或波動結構變了;
- 品種整體波動率長期收斂,趨勢段變少變短——均線系統的“食物”減少了。
應對方式不是馬上換引數,而是先用滾動視窗重新回測:用最近一兩年的資料重新掃一遍引數平原,看原來那組引數還在不在平原裡。在,就扛著繼續做;不在了,說明品種的波動結構真的變了,才考慮調整。
寫在最後
均線系統在甲醇上能不能用?能,但它賺的是“趨勢行情的錢”,註定要在震盪裡交學費。引數選擇的核心就一句話:找引數平原,選中庸引數,用過濾條件省子彈,用樣本外的壞年份檢驗自己。這些道理都不難,難的是你願不願意在實盤之前,把回測的髒活累活幹紮實。
如果你已經有一套自己的均線規則,但不確定它在震盪年份、在換月跳空下到底扛不扛得住,與其拿真金白銀去試錯,不如先在模擬環境裡跑上一段時間——像XS Select這類中國期貨模擬考核平臺,正好可以讓你把回測裡的假設放到接近實盤的環境裡驗證一遍,看看自己的交易心得經不經得起推敲。系統打磨好了,考核透過只是水到渠成的事。