花了整個週末在看盤軟體上一根根翻閱歷史 K 棒,每個突破買點都一清二楚,每筆單子都順風順水,試算表算出來的勝率居然高達 80%。你興奮得徹夜難眠,以為自己終於找到了市場提款機。
結果週一進場實戰,同樣的型態連續被停損五次。到底出了什麼問題?不是市場針對你,而是你的回測從頭到尾都在自欺欺人。在手動翻看靜態歷史線圖時,若缺乏防作弊機制,我們的大腦會本能地在每個環節進行自我美化,營造出虛假的暴利幻影。
手動回測最常掉入五大虛假陷阱:偷看右側未來的走勢(後見之明作弊);專挑送分題的大多頭,刻意跳過磨人的垃圾盤整;一遇停損就臨場修改規則或參數(過度擬合);完全不扣除手續費、證交稅與滑價摩擦;以及遇到失敗案例找藉口辯稱『實盤我肯定不會進』。嚴格的回測必須如同實戰盲測:使用 K 棒逐步重播隱藏右側未來、測試期間規則全數凍結 50 筆不改、並毫無保留地記錄每一筆觸發停損的真實虧損樣本。
陷阱一:偷看右側走勢(即便只是眼角餘光)
這是手動回測中最隱蔽、也最難自我察覺的人性弱點。
當你把整張已走完的日 K 線圖攤在螢幕上時,即便你極力克制自己不去偷看,你的眼角餘光也早已捕捉到右側的走勢:兩週後這檔股票直接噴出 30%。在這種先入為主的潛意識干擾下,一個原本突破力道普通、成交量模稜兩可的進場點,瞬間在你的眼中變得「極具吸引力」。你毫不猶豫地在表格記下一筆大賺。
相反地,如果右側行情隨後立刻大跳水破底,你的大腦會在一秒內替你尋找藉口:「這裡均線還沒完全扭轉,要是實盤我應該會更保守觀望,這筆就算了不計入。」不知不覺中,你靠著上帝視角把賠錢的單子全刪光了,表格裡只留下一片欣欣向榮。
陷阱二:規則邊測邊改(隨意移動球門)
你原本訂定了一套基於 20MA 突破的進場策略。第 1 筆賺錢,第 2 筆賺錢,到了第 3 筆,一根下影線剛好掃到你的停損價,隨後股價便一飛沖天。
你感到無比惋惜,於是暗自嘀咕:「要是我把停損距離稍微拉寬 1.5%,這筆不就完全避開洗盤並且大賺了嗎?」於是在第 4 列你偷偷修改了停損間距;測到第 15 筆,遇到區間洗盤連賠兩趟,你又追加了一道限制:「必須搭配 RSI 突破 50 才能買」。
當測完 30 筆時,你的進出場規則已經面目全非。這不叫驗證一套通用的交易系統,這叫照著歷史走勢的凹凸「量身訂做衣服」。在統計學上,這被稱為過度擬合(Curve-fitting)。這種策略一旦進入未知的實盤,死亡率是百分之百,因為未來的市場絕對不會按照過去的劇本分秒不差地重演。
| 作弊手法 | 大腦如何進行自我欺騙 | 嚴謹的防作弊解藥 |
|---|---|---|
| 1. 偷看右側行情 | 帶著對後續漲跌的預知,反向挑選對自己有利的買點 | 強制使用 K 棒逐步重播(Bar Replay)功能,徹底遮蔽右側未來 |
| 2. 邊測邊改規則 | 每次虧損都隨性追加過濾參數,破壞規則一致性 | 測試期間完全凍結規則;即便有優化靈感,也只能留給 Version 2 |
| 3. 專挑順風行情 | 只回測大多頭主升段,刻意避開泥淖般的修正盤整期 | 依據完整的自然曆月份連續推演,強制測試惡劣的盤整市況 |
| 4. 忽略交易摩擦 | 假裝每次都能買在最低、賣在最高,且完全免手續費與稅 | 每筆交易強制扣除 0.1R 到 0.15R 的手續費、證交稅與保守滑價 |
| 5. 辯稱「這次不算」 | 遇到虧損就找藉口「當天有突發利空,實盤我絕不會進」 | 只要觸發了預設規則,無論結果多麼醜陋都必須誠實計入 |
回測的真正價值,從來不是在試算表裡拿好看的高分自我安慰;而是盡可能在零成本的環境下,逼出這套交易規則最脆弱、最容易大賠的崩潰邊界。
陷阱三:只挑送分題,逃避大逆風
如果你只挑 2020 年全球資金狂潮的大多頭來回測突破策略,任何買點看起來都是神仙操作。在單邊噴出的狂熱環境下,大盤的強勁趨勢會包容你所有的操作瑕疵,即便進場點糟糕透頂,多抱幾天也會被市場硬推向獲利。
然而在真實金融世界中,行情往往長時間處於沒有明確方向的狹幅洗盤與資金輪動。一套策略是否真正具備競爭優勢,不在於它在順風行情能跑多快,而在於它在逆風的洗盤折磨期會不會將本金全數輸光。誠實的回測,必須刻意挑選一段最難熬的無量盤整期進行極限抗壓測試。
絕不在靜態線圖上憑空回測。打開軟體的「逐根重播(Bar Replay)」功能,把時間點切回最初的起點。游標停在符合進場條件的 K 棒當下,先在試算表裡白紙黑字填好進場價與停損價。之後按下單步前進鍵,一根一根推進 K 棒,直到價格確實碰到停損或停利為止。落子無悔,嚴禁隨意悔棋重來。
- 畫面右側尚未成形的 K 棒已被完全遮蔽,我採用逐根推進模式進行。
- 開始測試前,出入場規則已白紙黑字寫死,中途絕不任意竄改。
- 所有符合進場條件的訊號都一五一十記錄在表,包括被洗出場的案例。
- 每筆交易的最終損益都已扣除交易稅費與合理的滑價摩擦。
常見問題
如果在回測到第 20 筆時,突然想出絕佳的優化條件,該怎麼辦?
立刻在筆記本上記下:「優化假設:將固定停損改為 2.5 倍 ATR 追蹤」。但**絕對不要在目前的表格中動手改規則**。堅持用最初的規則完整測完這 50 筆;之後另開一張新表格,用新規則跑一套獨立的 50 筆樣本,兩者再進行嚴格的數據交叉比對。
手動回測測出 85% 的勝率,這在實戰中合理嗎?
在常規的單邊順勢或波段突破交易中,這極不常見。這類策略往往更依賴獲利單的盈虧幅度覆蓋虧損,而非依賴極高的勝率。如果你手動回測出 85% 這樣驚人的勝率,通常意味著你在推演過程中可能無意間偷看了未來的 K 棒,或是下意識地把原本應當觸發的賠錢單給略過了。
為何新手更建議手動回測,而不是直接寫 Python 跑程式碼?
程式回測雖然幾秒內就能完成,但冷冰冰的數據無法培養肉眼對盤面結構的敏感度。手動逐根推演能強迫你看清上百種假突破、破底翻、急殺洗盤的微觀細節,這種盤感與對走勢的敬畏,是純程式碼回測無法賦予的實戰資產。



