Zweig Breadth Thrust 指標:10 日規則與罕見訊號
Zweig Breadth Thrust 在上漲股票占比的 10 日指數平均,於十個交易日內從 0.40 以下升到 0.615 以上時出現。訊號罕見,紀錄只有數十個事件,不足以衡量優勢;應把它當作較高頻規則的濾網來檢驗,而不是單獨的策略。
作者 Soren Huang · 發佈 · 更新於 · 編輯原則
目錄
什麼是 Zweig Breadth Thrust 指標?
Zweig Breadth Thrust 指標是一種市場廣度訊號。當上漲股票占比的 10 日指數平均,在十個交易日內從 0.40 以下升到 0.615 以上,訊號即出現。訊號罕見,因為市場必須極快地從普遍賣壓轉為普遍買盤。
市場廣度計算的是有多少檔股票參與一波走勢,而非指數漲跌了多遠。指數可能靠少數大型權值股上漲,多數股票卻在下跌;廣度顯示的就是這種落差。Zweig Breadth Thrust 以其創始者命名,只讀一個廣度數字:收盤上漲的上市股票占比。這個占比經十日平滑後,若從每十檔不到四檔上漲,升到每十檔超過六檔上漲,代表整個市場在不到兩週內掉頭。背後的想法是,如此廣泛又突然的轉向,通常出現在較長一波漲勢的起點附近。
有兩項特點,讓這個指標有別於技術分析工具與指標中可檢驗的那些工具。它用的是上漲與下跌家數,不是價格,所以你需要廣度資料,而不只是 K 棒。它也是一個事件,不是每日讀數:多數時候它什麼也不說。本文其餘部分只追一項主張:每十年只出現寥寥數次的指標,無法單憑自身紀錄當成策略來評分,因此它的位置是成交更頻繁之規則上的濾網。更廣的同類指標,見市場廣度指標。
Zweig Breadth Thrust 怎麼計算?
計算分三步,順序固定:每日比率、10 日平滑,以及兩道門檻之間的天數。你需要的是所追蹤交易所在每個交易日的上漲檔數與下跌檔數。
- 每日比率。上漲檔數除以上漲與下跌檔數的總和,平盤檔數不計入。結果介於 0 到 1 之間。
- 用 10 日指數移動平均平滑。指數移動平均(EMA)給近期的天數較大權重,給較早的天數較小權重,所以反應比最近十個數值的簡單平均更快。門檻套用在這條平滑線上。
- 計算兩道門檻之間的天數。找出平滑線最後一次收在 0.40 以下的位置,再找出其後第一次收在 0.615 以上的位置。數出兩點之間的交易日數。十日(含)以內是訊號,超過十日則不是。
假設性範例
假設某個疲弱日有 1,200 檔上漲、1,800 檔下跌,比率為 1,200 ÷ 3,000 = 0.40。一週後的強勢日有 2,400 檔上漲、600 檔下跌:2,400 ÷ 3,000 = 0.80。平滑線不會直接跳到 0.80,因為 EMA 仍帶有疲弱日的權重。要讓平滑線在最後一次收於 0.40 以下後的十日內升破 0.615,這十日中大多數必須像那個強勢日。這就是這條規則門檻高的原因。
有兩項細節會改變你得到的訊號次數。第一是股票名單:交易所的完整名單包含基金與特別股,部分分析者只計普通股,同一天算出的比率就不同。第二是 EMA 的起始值,它影響一個序列最初幾週的數值。數訊號之前,先把這兩項選擇寫下來,免得日後更動悄悄改掉紀錄。
廣度推力訊號有多罕見?罕見為何重要?
每十年只出現寥寥數次的規則,紀錄小到一兩次結果就足以左右全局;同一段歷史上的每日指標,卻能產生數百筆可檢驗的交易。推力需要廣度在兩週內近乎完整地轉向。市場只有在急跌後強力反轉時才會如此,而這類反轉並不常見。有時數年都沒有一次訊號。
罕見並非這個構想的缺陷,但它限制了你能從中學到的東西。拿它和每天都有數值的指標比較:日 K 棒上的 KD 指標(Stochastic)交叉規則或 MACD 指標訊號線規則,每隔數週就產生交易;在 30 以下進場、50 以上出場的 RSI 規則也一樣。十年下來,這些規則都有數百筆完成的交易。廣度推力只有幾筆。兩份紀錄來自同樣十年的歷史,但一份是證據,另一份只是幾則軼事。
| 項目 | Zweig Breadth Thrust | 每日指標規則(KD、MACD、RSI) |
|---|---|---|
| 所需資料 | 上漲與下跌家數 | 只需價格 K 棒 |
| 十年內的訊號數 | 寥寥數次 | 數百次 |
| 決定紀錄的因素 | 一兩次結果 | 眾多交易的平均 |
| 如何評分 | 與隨機日期比較,作為濾網 | 樣本外交易、推進分析 |
| 在系統中的角色 | 允許或阻擋交易的條件 | 自行負責進場與出場 |
這與日內交易最佳指標貫穿全文的教訓相同:故事最動聽的指標,不是證據最多的指標。能檢驗一千次的規則,比只能檢驗一打次的規則,更能說明自身的狀況,即使那一打次全都順利。
這個訊號有多可靠?數十個案例能證明什麼、不能證明什麼
只有數十個訊號時,平均結果的不確定性仍然相當大,因此廣度推力之後的高命中率,只是對市場行為的提示,不是能據以決定部位大小的實測優勢。已發表的研究指出,多數情況下,指數在數個月後走高。這可能確實如此。問題在於,由這麼少的案例算出的平均值,你能信賴到什麼程度。
想像用擲硬幣來判斷硬幣是否公平。擲十次得七次正面,幾乎說明不了什麼;擲四百次得 280 次正面,就足以說明這枚硬幣不公平。訊號之後的平均結果也是同樣的道理。有一條公式值得記住:
平均結果的不確定性 = 單筆結果的離散程度 ÷ √N
其中,單筆結果的離散程度指個別結果通常偏離平均值多遠(即標準差),N 是訊號數,√N 是它的平方根。平方根成長得慢,所以要把不確定性減半,需要四倍的訊號數。
假設性範例
假設訊號後 60 個交易日的指數報酬平均為 +4%,單筆結果通常偏離該平均 8 個百分點。有 10 個訊號時,不確定性約為 8 ÷ 3.2 ≈ 2.5 個百分點,所以真實平均可能落在約 +1.5% 到 +6.5% 之間,更差的結果也無法排除。有 30 個訊號時,約為 8 ÷ 5.5 ≈ 1.5 個百分點。有 400 個訊號時,為 8 ÷ 20 = 0.4 個百分點。只有最後這個數字窄到足以稱為實測優勢,而廣度推力的紀錄沒有那麼長。
除了樣本小,還有第二個問題。門檻 0.40、0.615 與十日窗口,是看過歷史資料後選定的。任何一組讓紀錄好看的門檻都可能被留下,所以紀錄有一部分是選擇的結果,而非市場的結果。Bailey、Borwein、López de Prado 與 Zhu(2014)指出,比較過的變體越多,要把最佳者與運氣區分開來所需的歷史就越長;Harvey 與 Liu(2015)建議依背後的檢驗次數對結果打折。罕見事件規則既沒有足夠的歷史,也沒有足夠的事件數,付不起這個折扣。
在 ES 上做動能替代測試,結果如何?
廣度資料與期貨 K 棒是不同的東西,所以本文背後的這次測試,改在 ES 日 K 棒上檢驗一條單純的動量指標 Momentum(MTM)規則,作為廣度推力構想的替代。結果是從試過的 1,024 個候選策略中留下一個,且是事後依報酬相對回撤挑出,這種挑法會讓它的成績顯得更好。替代規則保留了廣度推力的精神,也就是方向的快速改變,但只用價格,所以出現的次數多到足以計數。
這次搜尋在 AlphaPrime(Valynox)中執行,標的是 E-mini S&P 500 日 K 棒,期間為 2019-01-02 至 2025-06-30,多空皆做,一口,進出場只用一條動量指標規則,不設停損、不設停利、不加濾網。1,024 個候選策略的每筆交易,都扣 $20 手續費與 $25 滑價。下表是留下的候選策略,內容照報表所列。
來源:AlphaPrime 產品引擎(CPU),2026-10-31 執行。ES 日線,2019-01-02 至 2025-06-30,多空都做,1 口,每筆手續費 $20、滑價 $25。
| 數字 | 結果 |
|---|---|
| 淨利(已平倉) | $91,147.5 |
| 最大回撤 | $45,397.5 |
| 交易筆數 | 242 |
| 勝率 | 54.13% |
| 獲利因子 | 1.286 |
| 平均每筆 | $376.64 |
| 持有部位的時間占比 | 74.52% |


這些數字要讀成它們該有的樣子。242 筆交易,讓替代規則的紀錄比同期間的廣度推力紀錄長約十倍,這正是使用替代規則的目的。勝率 54.13% 與獲利因子 1.286,描述的是一個在 1,024 個候選策略中,以某一項衡量標準看起來最好而被選出的策略;其他候選多半看起來較差,而眾多當中最好的一個,必然帶有選擇加成。最大回撤 $45,397.5 約為淨損益 $91,147.5 的一半,要承受的回撤占了獲利的相當大一塊。這些都不表示這筆錢是動能賺來的,也不表示讀者能期待同樣的結果。它說明的是,同一類的價格型規則,可以用足夠多的交易來判斷,而廣度推力本身做不到。其餘候選策略與留下的這一個,一併依序放在策略資料庫裡,所以能讀到搜尋產生的結果分布,而不只是最頂端的那一個。
你該如何自行檢驗廣度推力規則?
先把門檻與持有期間寫下來,再看結果;數出訊號數,把結果與隨機日期比較;事件少於約 30 個的規則,當作要搭配高頻規則的濾網,而非單獨的策略。順序比任何單一步驟都重要,因為罕見事件的檢驗容易在不知不覺中被扭曲。
- 先寫下規則。門檻(0.40 與 0.615,或你自己的)、EMA 長度、股票名單,以及你要衡量的期間(例如 20、60 與 120 個交易日)。看到結果之後再改其中任何一項,檢驗就變成搜尋。
- 用廣度資料跑,並數出訊號數。在讀任何一筆結果之前先記下數量。若少於約 30,你已經知道結果只會是提示,而不是量測。
- 在固定期間衡量每個訊號之後的結果。用你實際會交易的指數或期貨序列,並計入交易成本。
- 與隨機日期的相同期間比較。從同一段歷史抽出多組日期,每組的數量與訊號數相同,衡量相同的期間。若訊號日期沒有明顯勝過隨機組,這份紀錄反映的是市場的一般漂移,而不是訊號。Brock、Lakonishok 與 LeBaron(1992)曾用這類與模擬序列的比較,來評判簡單的交易規則。
- 決定角色。少於約 30 個事件:把廣度推力當作允許較高頻規則進場的條件,並以這個組合與它的數百筆交易來檢驗。更多:當作獨立規則,以一般的樣本外切分來檢驗。
走濾網這條路,上一節的替代測試就派得上用場。日 K 棒上的動量指標或 MACD 規則提供交易;廣度狀態提供條件,例如只在推力出現後的幾個月內做多。組合後的規則有足夠的交易可以評分,評分的方式是比較:加了濾網的每日規則,對照沒加濾網的同一條規則。這個組合送進策略檢驗時,AlphaPrime 依執行前固定好的門檻評分,一旦某項檢查未通過,就停止後面的檢查,避免罕見事件濾網只因剛好通過某一項檢查就被認可。切分本身的方法,見樣本內與樣本外的切分。
第一步的工夫不大。取你所追蹤交易所的每日上漲與下跌家數序列,計算「上漲家數 ÷(上漲家數 + 下跌家數)」的 10 日 EMA,數出它有幾次在十個交易日內從 0.40 以下升到 0.615 以上。在看市場之後的走勢之前,先把這個數字寫下來。這個數字本身會告訴你,上述兩條檢驗路線中哪一條適用。
常見問題
Zweig Breadth Thrust 如何計算?
每個交易日,把上漲檔數除以上漲與下跌檔數的總和。把這個比率用 10 日指數移動平均平滑。當平滑線在十個交易日內(含)從收在 0.40 以下,轉為收在 0.615 以上,即出現訊號。你採用的股票名單與平均的起始值,都會改變訊號次數,所以開始前先固定下來。
最近一次 Zweig Breadth Thrust 訊號是什麼時候?
日期取決於你採用哪個交易所的上漲與下跌家數,以及是計入全部股票還是只計普通股,所以兩個資料來源可能差一兩個訊號。可靠的做法是自己用每日廣度序列算出 10 日 EMA,找出最近一次在十日內從 0.40 以下升到 0.615 以上的穿越。這條規則每十年只出現寥寥數次,所以訊號間隔數年屬正常。
Zweig Breadth Thrust 準確嗎?
已發表的紀錄指出,多數訊號之後的數個月,指數都走高。紀錄只有數十個事件,而平均值的不確定性隨事件數的平方根縮小,所以數十個案例留給任何命中率的範圍仍然相當寬。把高命中率當作對市場行為的提示,並在給它任何權重之前,先把訊號日期與同一段歷史的隨機日期比較。
可以用期貨回測廣度推力嗎?
無法直接用期貨 K 棒,因為這條規則需要每日上漲與下跌股票的家數。你可以從廣度序列算出訊號,再衡量 ES 這類指數期貨在每個訊號日之後的表現,並計入手續費與滑價。本文的測試以價格型的動量指標規則作為替代,因為它產生的交易數足以評判,而推力本身做不到。
應該把廣度推力當作獨立策略來交易嗎?
紀錄中訊號少於約 30 個時,平均結果的不確定性太大,無法據以決定部位大小。較有用的角色是濾網:作為條件,讓動量指標或 MACD 這類每日規則,在訊號後的一段期間內做多。組合後的規則有數百筆交易,所以能以樣本外的方式,與沒有濾網的同一條規則比較評分。
參考文獻
- 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.
- Harvey, C. R., & Liu, Y. (2015). Backtesting. The Journal of Portfolio Management, 42(1), 13–28.
- Brock, W., Lakonishok, J., & LeBaron, B. (1992). Simple Technical Trading Rules and the Stochastic Properties of Stock Returns. The Journal of Finance, 47(5), 1731–1764.

