📖 還沒搞懂各種策略差異?先看 7 種量化策略總覽 建立全貌,再回來看實測。
一句話結論:我用同一套程式、幣安真實數據,把三大經典策略各跑一年(2025-06-27 ~ 2026-06-27)。結果:趨勢跟蹤(MA 交叉)大贏——靠「跌破均線就空倉」避開大跌,BTC +0.3%、ETH +7.7%,而同期買入持有 BTC -43.9%、ETH -35.5%;動量(突破)在震盪中追高殺低被巴、均值回歸(RSI)接刀勝率高卻賺小賠大。最大的教訓:沒有萬能策略,策略賺不賺高度看行情,而趨勢跟蹤的真本事是「風控與避險」,不是預測。
「到底哪種量化策略最會賺?」網路上每種策略都有人吹得天花亂墜,卻幾乎沒人把它們放在同一個跑道、用同一筆錢、同一段真實行情公平比一次。
所以我用前一篇 網格回測 同一套誠實方法,寫了個策略回測框架,把三種最經典的策略——趨勢跟蹤(雙均線交叉)、動量(突破)、均值回歸(RSI 超買超賣)——在 BTC/ETH/SOL 上各跑一整年,全部對照「買入持有」。這篇把方法、真數字、淨值曲線、誰贏誰輸的原因全攤開,程式碼也附在文末讓你自己驗證。先講最重要的:這是一段震盪偏跌的行情,結論會因行情而異——重點不是背答案,而是看懂每種策略的「個性」。
三種策略分別是什麼?(白話規則)
① 趨勢跟蹤(雙均線交叉 MA Cross)
快線(短期均線)向上穿過慢線就進場做多、跌破就出場空手。邏輯是「順勢而為」——漲就跟、跌就跑。本文用 20/60 期均線。它和站內 SuperTrend+ADX 同屬趨勢跟蹤家族。
② 動量(突破 Momentum)
價格比 N 根之前高就進場、變低就出場,賭「強者恆強」。本文用 30 期。動量在「持續單邊大趨勢」最賺,最怕來回震盪。
③ 均值回歸(RSI 超買超賣 Mean Reversion)
RSI 跌破 30(超賣)進場做多、漲破 70(超買)出場,賭「價格會回到平均」。它是逆勢思路,和網格的「低買高賣」精神相近,但網格是被動掛單、它是主動擇時。
回測怎麼做的(公平&誠實口徑)
- 真實數據:幣安 BTC/ETH/SOL 現貨 4 小時 K 線,各約一年。
- 公平對照:三策略用同一筆 10,000 USDT、同一段行情、同樣手續費 0.1%,全部只做多、不開槓桿(不會爆倉)。
- 避免偷看未來:一律「昨天收盤產生訊號、今天才執行」,不用當下或未來資訊下單。
- 換倉才收費:每次進出場扣 0.1%,反映真實成本。
- 對照組=買入持有:同樣的錢買了放著不動。
⚠️ 誠實話:這是簡化的教學回測(只做多、固定參數、收盤訊號),真實交易還有滑價、參數最佳化過擬合等問題。所有數字為歷史回測、不代表未來,更不是買賣建議。
回測報酬:三策略 vs 買入持有
同樣 10,000 USDT、同一年(2025-06-27 ~ 2026-06-27),三策略與買入持有的真實回測報酬:
| 策略 \ 標的 | BTC | ETH | SOL |
|---|---|---|---|
| 趨勢跟蹤(MA交叉) | +0.3% | +7.7% | -3.2% |
| 動量(突破) | -43.4% | -10.1% | -56.2% |
| 均值回歸(RSI) | -32.3% | -41.6% | -33.8% |
| 買入持有(對照) | -43.9% | -35.5% | -48.9% |
※ 4 小時 K 線、只做多、手續費 0.1%、昨訊號今執行。綠底為該標的最佳策略。數字為歷史回測,不代表未來。
三個標的,趨勢跟蹤都是最抗跌的那個(BTC/ETH 甚至翻正)。但別誤會成「趨勢跟蹤穩賺」——下面看圖與特性表你會懂它贏在哪、代價是什麼。
淨值曲線圖:一眼看懂誰抗跌



策略特性表:勝率、持倉時間、回撤
| 策略 | 勝率(BTC) | 持倉時間 | 最大回撤(BTC) | 最適合的行情 |
|---|---|---|---|---|
| 趨勢跟蹤 | 42.9% | 43% | -26% | 有明確大趨勢(漲或跌都行,跌時空倉避險) |
| 動量(突破) | 29.6% | 46% | -50% | 持續單邊大趨勢;最怕來回震盪 |
| 均值回歸 | 50.0% | 55% | -45% | 區間震盪盤;最怕單邊趨勢(接刀) |
※ 勝率=完整一買一賣的獲利比例。注意:勝率高 ≠ 賺得多(見下方解讀)。
為什麼趨勢跟蹤贏、動量輸、均值回歸平庸?
為什麼趨勢跟蹤贏?——它的本事是「避險」不是「預測」
看 BTC 圖最清楚:2025 年底崩盤時,趨勢跟蹤(青線)因為跌破均線早早空倉,整段大跌幾乎沒參與,淨值走平;其他策略和買入持有都一路被拖下去。趨勢跟蹤 BTC 全年只持倉約 43% 的時間、勝率僅 42.9%(常被假突破洗),但它賺大賠小+跌時閃開,最後勝出。它的價值是控制下檔,不是猜對方向。
為什麼動量輸?——震盪盤把它兩面巴
動量賭「強者恆強」,需要乾淨的單邊趨勢。這一年行情上沖下洗,動量常常追在反彈的頂、砍在回落的底,勝率只有 29.6%,SOL 甚至跑到 -56.2%(比買入持有還慘)。動量不是不好,是這段行情剛好最剋它。
為什麼均值回歸平庸?——勝率高卻賺小賠大
均值回歸 ETH 勝率高達 62.5%,聽起來很厲害,但全年 -41.6%、甚至輸給買入持有。原因是對的時候只賺一點點、錯的時候(行情持續下跌)卻一路接刀套牢。這是新手最大的誤會之一:勝率高不等於賺錢,賠率(賺賠比)同樣關鍵。
這場回測告訴我們的 5 件事
- 沒有萬能策略。同一策略換個行情就換張臉——趨勢跟蹤這年贏,是因為遇到大趨勢(崩跌)讓它發揮避險;若是來回窄幅震盪,反而是網格/均值回歸的主場。
- 勝率 ≠ 賺錢。趨勢跟蹤勝率最低卻賺最多,均值回歸勝率最高卻虧——賺賠比和風控比勝率更重要。
- 趨勢跟蹤的核心是「風控」。它最大的貢獻是把回撤從持有的 5~7 成砍到 2~4 成,讓你睡得著、活得久。
- 這是「跌市」的結論。若換成單邊大漲的牛市,動量與趨勢跟蹤會更猛、均值回歸更容易踏空——再次證明策略要配行情。
- 手續費與紀律。主動策略換倉頻繁,手續費與「能不能嚴格執行訊號」往往才是實盤勝負手。
所以真正的問題不是「哪個策略最神」,而是「現在是什麼行情、我該用哪種策略、能不能控制回撤」。與其賭單一策略,不如理解它們的個性、在對的行情用對的工具——這也是為什麼很多人乾脆用網格機器人把「低買高賣」自動化,少一點擇時的人性干擾。
自己跑比較:可下載 Python 碼
三策略一次比的精簡版(約 35 行,只需 numpy、抓幣安公開 API、不用金鑰)。複製成 .py 直接跑就能複現本文邏輯,改 "BTCUSDT" 換標的:
import urllib.request, json, numpy as np
def closes(sym, interval="4h", limit=1000):
u=f"https://api.binance.com/api/v3/klines?symbol={sym}&interval={interval}&limit={limit}"
r=urllib.request.Request(u, headers={"User-Agent":"Mozilla/5.0"})
return np.array([float(k[4]) for k in json.load(urllib.request.urlopen(r))])
def rsi(c, n=14):
d=np.diff(c); g=np.where(d>0,d,0.); l=np.where(d<0,-d,0.); ag=np.zeros(len(c)); al=np.zeros(len(c))
ag[n]=g[:n].mean(); al[n]=l[:n].mean()
for i in range(n+1,len(c)): ag[i]=(ag[i-1]*(n-1)+g[i-1])/n; al[i]=(al[i-1]*(n-1)+l[i-1])/n
rs=np.divide(ag,al,out=np.zeros_like(ag),where=al!=0); o=100-100/(1+rs); o[:n]=50; return o
def sma(a,w): return np.concatenate([np.full(w-1,np.nan), np.convolve(a,np.ones(w)/w,"valid")])
def bt(c, pos, fee=0.001, cap=10000): # 昨訊號今執行、換倉扣費
eq=cap
for i in range(1,len(c)):
eq*=(1+pos[i-1]*(c[i]/c[i-1]-1))
if pos[i]!=pos[i-1]: eq*=(1-fee)
return eq/cap*100-100
c=closes("BTCUSDT")
trend=(sma(c,20)>sma(c,60)).astype(float) # 趨勢跟蹤
mom=np.array([1. if i>=30 and c[i]>c[i-30] else 0. for i in range(len(c))]) # 動量
r=rsi(c); mr=np.zeros(len(c)); s=0
for i in range(len(c)):
s=1 if r[i]<30 else (0 if r[i]>70 else s); mr[i]=s # 均值回歸
print(f"趨勢 {bt(c,trend):+.1f}% 動量 {bt(c,mom):+.1f}% 均值回歸 {bt(c,mr):+.1f}% 持有 {c[-1]/c[0]*100-100:+.1f}%")
※ 教學示範用最小版(收盤訊號、只做多)。想加出圖、勝率、回撤等完整指標,可往 ccxt 自寫機器人 與 回測教學 延伸。
看懂之後,怎麼實際操作
看懂策略個性後,真正的難關是紀律執行——人很難嚴格按訊號進出。這也是為什麼多數人用交易所內建機器人把策略自動化:
- 逆勢/震盪:用 網格機器人(被動低買高賣,免擇時),先看 網格真實回測。
- 選機器人/交易所:OKX 機器人完整教學、四大所機器人比較。
- 自己寫程式跑:Python 接 OKX API。
🧮 主動策略換倉頻繁,手續費很吃績效。用邀請碼 VIP20FEE 註冊 OKX 可享返佣;想算省多少用 手續費返佣計算機。
常見問題 FAQ
趨勢跟蹤、動量、均值回歸哪個最賺錢?
看行情。本文一年(震盪偏跌)回測中趨勢跟蹤最抗跌(BTC +0.3%、ETH +7.7%),動量被震盪兩面巴、均值回歸接刀;但若換成單邊牛市,結論可能相反。沒有萬能策略,要配合行情選工具。
為什麼趨勢跟蹤勝率低卻賺最多?
趨勢跟蹤常被假突破洗、勝率不高,但它『賺大賠小+跌破均線就空倉避險』,靠少數大行情賺回來、並躲開大跌。這說明勝率高低不等於賺賠,賺賠比與風控更關鍵。
均值回歸勝率明明很高,為什麼還虧?
因為它『對的時候只賺一點、錯的時候一路接刀套大虧』。在加密這種趨勢強的市場,超賣後常繼續更賣,逆勢進場風險高。勝率高、賠率差,總和仍可能虧。
這個回測可信嗎?
三策略用同一筆錢、同一段幣安真實數據、同樣手續費,且一律『昨訊號今執行』避免偷看未來。但它是簡化教學回測(只做多、固定參數),歷史結果不代表未來,也非投資建議。
我可以自己跑這個比較嗎?
可以。文末附約 35 行 Python,只需 numpy、抓幣安公開 API,複製到 .py 跑即可一次比較三策略,改代號與參數能驗證不同標的與設定。
這些策略我該用哪一個?
與其賭單一策略,不如理解個性:有明確趨勢用趨勢跟蹤、區間震盪用網格/均值回歸。多數人會用交易所內建機器人把策略自動化以維持紀律,詳見站內網格與機器人教學。
為什麼只測做多、不做空?
為了讓比較單純、且現貨做多不會爆倉、最貼近多數散戶。加入做空雖能在跌市更猛,但也放大風險與複雜度,屬進階範疇。
回測賺就代表實盤會賺嗎?
不一定。實盤有滑價、流動性、情緒與紀律問題,回測無法完全還原。回測是用來理解策略特性與風險,不是獲利保證。
延伸閱讀:量化交易完整學習地圖
🟢 策略入門:7 種量化策略總覽(先看這篇選方向)、量化交易零基礎入門
🔬 策略實測:網格交易真實回測、SuperTrend+ADX 趨勢策略拆解、網格 30 天實測
⚙️ 程式量化:ccxt 自寫機器人、Python 接 OKX API、TradingView 回測教學
🤖 機器人實作:OKX 機器人完整教學、四大所機器人比較
利益揭露與風險聲明:本文部分連結含交易所邀請碼,使用不增加你的成本。所有報酬、回撤、勝率均為歷史回測結果,不代表未來;回測採收盤訊號、只做多、固定參數的簡化模型,計入手續費但未含滑價等實盤因素。加密貨幣波動劇烈,任何策略都可能虧損,本文為教學與數據研究,不構成投資建議,請自行評估風險。





發表迴響