跳至主要內容
台股研究 約 22 分鐘閱讀

ADX 指標怎麼用才對?台股 11 年回測:它量強度、不量方向

ADX 指標怎麼用才對?台股 11 年回測:選 ADX 最高的股票會連強勢下跌股一起買,回撤 -44.1%。配 +DI/-DI 方向與 ADX 廣度擇時,回撤壓到 -31.3%、年化 23.2% 勝 0050 的 21.2%;但 2022 年起落後 0050,2026 年 7 月單月 -22.3%。

免安裝,用 AI 重跑這篇的策略

在瀏覽器開啟 FinLab Studio,AI 依本文的條件重跑回測,接著可以改條件再測。

在 Studio 重跑
ADX 真用法 CAGR 23.2% Sharpe 0.97

ADX 指標在台股的正確用法:量趨勢強度,不量方向

先用一張表回答你搜尋「ADX 指標」時最想知道的事(資料截至 2026-09-30):

你想知道的 本文用真實台股回測的回答
ADX 指標是什麼 DMI 體系的趨勢強度指標;ADX 是 DX 的平滑平均,只量趨勢「強度」,方向由 +DI/-DI 判斷
ADX 高就該買嗎 不該直接買。選 ADX 最高 30 檔會把強勢下跌股也買進,全期最大回撤 -44.1%
ADX 該怎麼搭方向 配 +DI > -DI 方向濾網,研究段(2015–2021)月夏普 1.04 升到 1.17;但 2022 年起 1.06 對 1.00,沒有改善
ADX 最有用的位置 當風控:可交易股票池內「強勢上升趨勢股佔比」當清倉開關,最大回撤 -41.9% 壓到 -31.3%
完整策略效果 全期年化 23.2%、最大回撤 -31.3%,兩項勝過含息 0050(21.2%、-34.0%);月夏普 0.97 低於 0050 的 1.07
首發之後的新資料 2026-06-09 到 09-30 策略下跌 14.0%,同期 0050 上漲 8.9%;7 月單月 -22.3%
依本文重跑

執行這個策略

複製提示詞,讓 AI 依照上方證據的資料、條件與風險檢查重跑一次。

告訴你的AI:

幫我設定 FinLab,重現這篇文章,請讀:https://finlab.finance/setup?relatedUrl=/blog/adx-dmi-indicator-taiwan

免安裝,開啟 FinLab Studio

若想比較ADX以外的選股規則,可看營收篩選創新高策略,核對股價新高、RSI 與營收條件如何形成持股。

ADX 強度乘方向乘廣度擇時策略與含息 0050 同日起算的淨值對照圖,2015 年 1 月到 2026 年 9 月台股回測,策略終值較高,但 2026 年 7 月急跌後 8、9 月持現金走平

本文所有數字皆出自 finlab 套件抓取的上市櫃真實價量資料(price 與 etl:adj_close 含息還原股價),回測區間 2015-01-30 至 2026-09-30,基準為同一天起算的含息 0050。文末附可下載的 strategy.py 與 data.csv,執行後會印出文中的主要表格。對回測的觀念還不熟,可先看回測是什麼。

ADX 指標是什麼:DMI 體系裡量「強度」的那條線

ADX(Average Directional Index,平均趨向指數)是 J. Welles Wilder 在 1978 年《New Concepts in Technical Trading Systems》提出的趨向指標,屬於 DMI(Directional Movement Index)體系。這套體系由三條線組成:

+DI(正趨向指標):量上漲方向的力道。

-DI(負趨向指標):量下跌方向的力道。

ADX:先由 +DI 與 -DI 算出 DX(兩者差距相對總和的比值),再對 DX 做平滑,得到的就是 ADX。它衡量的是「趨勢有多強」,數值越高代表趨勢越明確。

這裡有一個常被教學略過、卻是整篇文章關鍵的事實:ADX 是用 +DI 和 -DI 的「差距」算出來的,所以它對上漲與下跌一視同仁。 一檔猛烈下跌的股票,-DI 遠大於 +DI,差距很大,ADX 一樣會衝很高。ADX 高只告訴你「現在有強趨勢」,沒有告訴你趨勢往上還是往下。方向要交給 +DI 與 -DI 的相對位置:+DI > -DI 偏多、-DI > +DI 偏空。

教科書常用的讀數門檻是:ADX < 20 代表盤整無趨勢、20-25 趨勢成形、> 25 趨勢明確。常用參數是 14 日(Wilder 原始建議),本文也沿用。技術指標的基礎名詞可參考名詞詞彙表;ADX 屬於 TA-Lib 內建函式之一,實作可參考用 Python 計算 158 種技術指標。

ADX 的數學定義:從 +DM/-DM 到 DX 再到 ADX

把「強度不分方向」翻成公式就一目了然。DMI 體系從每日的方向移動量(DM)出發,先算 +DI 與 -DI,再由兩者算 DX,最後對 DX 做平滑得到 ADX:

+DI=100Sn(+DM)ATRn, −DI=100Sn(−DM)ATRn,  DX=100∣+DI−(−DI)∣+DI+(−DI),  ADX=Sn(DX)+DI = 100\frac{S_n(+DM)}{ATR_n},\ -DI = 100\frac{S_n(-DM)}{ATR_n},\ \ DX = 100\frac{|+DI - (-DI)|}{+DI + (-DI)},\ \ ADX = S_n(DX)

逐個符號拆開來看:

  • +DM+DM(正方向移動量)是今日高點比昨日高點多出的部分,−DM-DM(負方向移動量)是昨日低點比今日低點多出的部分;兩者只保留較大且為正的那一邊,另一邊歸零。它們各自衡量「向上」與「向下」的原始推力。
  • SnS_n 是 Wilder 平滑法,等同於平滑係數 1/n1/n 的指數移動平均;ATRnATR_n 是用同一種平滑算出的 nn 日平均真實區間(average true range)。把 +DM/-DM 除以 ATRnATR_n,不同價位、不同波動的股票才能放在同一把尺上比較。
  • +DI+DI、−DI-DI 就是標準化後的上漲力道與下跌力道(乘 100 變成百分比刻度)。+DI>−DI+DI > -DI 代表多方占上風,反之空方占上風;方向資訊全藏在這兩條線的相對位置。
  • DXDX 是 +DI+DI 與 −DI-DI 的「差距」除以「總和」。分子是絕對值 ∣+DI−(−DI)∣|+DI - (-DI)|:上漲力道遠大於下跌、或下跌力道遠大於上漲,DXDX 都會很高。這是 ADX「不分方向」的數學根源。
  • ADXADX 是 DXDX 再做一次 nn 日平滑。多一層平滑讓讀數穩定,也讓它對轉折反應更慢,本質偏落後。

總結來說,ADXADX 只用到 +DI+DI 與 −DI-DI 的差距大小,丟掉了誰大誰小的方向資訊。要把方向找回來,就得回頭看 +DI+DI、−DI-DI 本身,這也是下面所有用法的共同起點。

在台股看 ADX 的訊號長相:以台積電為例

公式抽象,圖更直觀。下面這張圖把台積電(2330)2023-07 到 2024-06 約一年的走勢攤開:上半部是股價、標出兩個教科書派別的進出場點,下半部是同期的 ADX(青色)、+DI(粉紅)與 -DI(淺綠)三條線,虛線是 ADX = 25 的趨勢門檻。

台積電 2330 的 ADX 與 +DI/-DI 指標示意圖,2023 年 7 月到 2024 年 6 月,比較趨勢派(ADX 大於 25 且 +DI 大於 -DI)與裸高 ADX 派的買賣點,下方面板畫出 ADX、正負 DI 三條線與 ADX 25 門檻

圖上兩個派別的買賣點規則不同(向上三角是進場、向下三角是出場;外框藍色是趨勢派、紫色是裸高 ADX 派):

  • 趨勢派:要 ADX > 25(趨勢夠強)且 +DI > -DI(方向偏多)同時成立才算持有,任一條件失效就出場。這一年進場 8 次、出場 8 次。
  • 裸高 ADX 派:只看 ADX > 25、完全不看方向。同一段進場 6 次、出場 6 次。

這張圖呈現三件事。第一,ADX 高的時候不一定該買:裸高 ADX 派 6 次進場裡,2023-08-15 那一次進場當天 -DI 30.2、+DI 13.3,ADX 衝高來自下跌力道,股價從 542 元續跌到 9 月 26 日的 519 元,趨勢派那天沒有進場。第二,訊號相當頻繁:一年內進出各 6 到 8 次,門檻附近反覆穿越就會產生來回甩動(whipsaw)的假訊號;2024 年 4 月 19 日到 5 月 2 日,趨勢派兩週內出場三次、進場兩次。第三,ADX 反應偏慢:它是 DX 再平滑一次,2024 年 1 月 19 日股價從 588 元跳空到 626 元,ADX 到 1 月 24 日才站上 25。

想自己畫這張圖,可以用 data.indicator 直接取得 ADX 與 +DI/-DI,再用布林邏輯標出兩派的進出場日。持有狀態要用完整歷史計算,再取示意窗內的翻轉日,否則窗口第一天如果剛好翻轉會被漏算:

顯示程式碼
import finlab
from finlab import data
 
# finlab 會在需要資料時自動引導登入
finlab.login()
 
# 取 DMI 體系三條線(皆 14 日)
adx = data.indicator("ADX", timeperiod=14)
plus_di = data.indicator("PLUS_DI", timeperiod=14)
minus_di = data.indicator("MINUS_DI", timeperiod=14)
 
# 台積電:用完整歷史判斷每天的持有狀態,示意窗開頭的翻轉才不會漏算
sid = "2330"
trend_hold = (adx[sid] > 25) & (plus_di[sid] > minus_di[sid])   # 趨勢派
naked_hold = adx[sid] > 25                                     # 裸高 ADX 派:不問方向
 
 
def entries_exits(hold, start="2023-07-01", end="2024-06-30"):
    """持有狀態 0 → 1 為進場、1 → 0 為出場,只取示意窗內的日期。"""
    flips = hold.astype(int).diff().loc[start:end]
    return flips[flips == 1].index, flips[flips == -1].index
 
 
trend_entries, trend_exits = entries_exits(trend_hold)
naked_entries, naked_exits = entries_exits(naked_hold)
 
print("趨勢派 進場", len(trend_entries), "出場", len(trend_exits))
print("裸高 ADX 進場", len(naked_entries), "出場", len(naked_exits))

執行會印出「趨勢派 進場 8 出場 8」與「裸高 ADX 進場 6 出場 6」。把進出場日標在股價上、三條線畫在下方副圖,就是上面那張示意圖。單股、單窗就能看出訊號之密與「沒搭方向會誤判」的問題;下一段把它放大到整個股票池、跑 11 年回測。

直接選「ADX 最高的股票」,台股 11 年會發生什麼事

我們在可交易宇宙(60 日均成交金額前 300 大、收盤 > 10 元、60 日均量 > 100 萬股,排除 ETF、金融保險股、處置與全額交割股,代號須為 4 碼數字)裡,把幾種「ADX 選股」用法各跑一次月再平衡回測,每種都等權持有 30 檔、不做擇時:

ADX 用法 研究段年化 研究段月夏普 2022 年起年化 2022 年起月夏普 全期最大回撤
ADX 最高 30 檔(教科書用法) 21.9% 1.04 29.2% 1.06 -44.1%
ADX 最低 30 檔(賭盤整反彈) 3.8% 0.29 4.2% 0.37 -46.5%
ADX 5 日變化量最大 30 檔 10.3% 0.57 23.5% 0.93 -41.7%
ADX 加速度最大 30 檔 12.9% 0.62 22.7% 0.98 -38.5%
ADX 60 日 z-score 最高 30 檔 12.3% 0.65 17.7% 0.79 -43.1%
含息 0050 買進持有 15.1% 1.00 30.5% 1.21 -34.0%

ADX 各種選股用法與含息 0050 的研究段與 2022 年起月夏普分組長條圖:ADX 最高 30 檔 1.04 與 1.06、ADX 最低 30 檔 0.29 與 0.37、變化量類 0.57 到 0.98、完整策略 1.08 與 1.02、含息 0050 1.00 與 1.21

三個結論。

第一,選 ADX 最高的股票,報酬看似不差(研究段年化 21.9%),代價是全期 -44.1% 的最大回撤。 ADX 不分方向,「ADX 最高」這個排序會把處於強勢下跌段的股票一起選進來。月底換股時剛好接到正在加速下跌的股票,回撤自然深;這個籃子最深的一段跌在 2025 年 4 月。

第二,反過來選 ADX 最低的股票、賭盤整後反彈,研究段年化只有 3.8%、月夏普 0.29,2022 年起也只有約 4%。 台股的報酬集中在強趨勢端,弱趨勢均值回歸這條路在 ADX 上走不通。

第三,把 ADX 的變化量當訊號,研究段月夏普只有 0.57 到 0.65。 ADX 本身已經是 DX 的平滑值,再對它取差分或標準化,主要是在放大雜訊。2022 年起這三種用法的月夏普升到 0.79 到 0.98,仍低於 0050 的 1.21,最大回撤都比 -38% 更深。ADX 適合拿「水準值」當濾網,不適合拿「變化量」當主因子。 各技術指標的用法比較,也可參考RSI、MACD、KD 比較。

圖上「強度×方向×廣度擇時」那兩根,是本文後面要組出來的完整策略:研究段月夏普 1.08,比任何把 ADX 單獨當選股因子的用法都高;但 2022 年起只有 1.02,反而低於最單純的 ADX 最高 30 檔(1.06)與 0050(1.21)。它的優勢主要在回撤,後面幾段會逐層拆開。

ADX 的第一個正解:永遠搭 +DI/-DI 方向濾網

問題出在「ADX 不分方向」,最直接的修正就是把方向補回來,這也是 DMI 體系原本的用法:ADX 看「強不強」、+DI/-DI 看「往哪走」。

我們在選股端加一道方向濾網:只在 ADX > 20(確認有趨勢)且 +DI > -DI(確認方向偏多)的股票裡,選 ADX 最高的 30 檔。研究段年化從裸版的 21.9% 提升到 26.1%、月夏普從 1.04 升到 1.17,全期最大回撤由 -44.1% 小幅改善到 -41.9%。但 2022 年起,年化 27.4% 對裸版 29.2%、月夏普 1.00 對 1.06,方向濾網沒有帶來改善。

ADX 選股加不同方向濾網的研究段月夏普與全期最大回撤對照圖:裸選 ADX 最高 30 檔 1.04 與 -44.1%、加 20 日報酬大於 0 方向 1.09 與 -43.5%、加 +DI 大於 -DI 方向 1.17 與 -41.9%

兩個檢查:

  • 跨門檻:把強度門檻從 20 換成 25、30,研究段月夏普分別是 1.17、1.09、1.01,2022 年起是 1.00、0.99、0.95。門檻越高越差,沒有哪一格特別突出,20 是三者中最好的一格,但差距不大。
  • 同源方向訊號比外掛動能好一些:改用「20 日報酬 > 0」當方向濾網(外掛一個動能因子),研究段月夏普 1.09、全期回撤 -43.5%、2022 年起月夏普 0.92,三項都比 DMI 自身的 +DI/-DI(1.17、-41.9%、1.00)差。

方向濾網解決了「買到強勢下跌股」的問題,全期最大回撤仍有 -41.9%:整個大盤系統性下跌時,強勢上漲股也會一起被拖下水。要把回撤壓下來,得換一個層次來用 ADX。延伸閱讀:技術面與基本面選股的差異、動能策略。

ADX 最有用的位置:用「ADX-DI 廣度」當清倉開關

單看一檔股票、甚至單看大盤指數的 ADX,雜訊很大。改問一個橫截面的問題:「現在股票池裡,有多少比例的股票同時處於強勢『且』向上的趨勢?」 就得到一個比較平滑的多空力道度量。我們稱它為 ADX-DI 廣度:可交易宇宙內「ADX > 25 且 +DI > -DI」的個股家數佔比(宇宙每天約 174 到 260 檔,中位數 228 檔)。廣度高,代表多數股票結構偏多;廣度崩落,代表強勢上漲股集體消失。

可交易宇宙內 ADX 大於 25 且 +DI 大於 -DI 的股票比例與策略淨值雙軸圖,2015 年 1 月到 2026 年 9 月,紅色虛線為 0.15 清倉門檻,2026 年 7 月廣度從 0.27 跌到 0.02

把這個廣度做成開關:每月最後一個交易日,廣度 > 0.15 就持有前面那籃「強趨勢且向上」的 30 檔股票;廣度 ≤ 0.15 就整籃清空、持現金。全期最大回撤從方向濾網版的 -41.9% 壓到 -31.3%,從裸選高 ADX 的 -44.1% 少了 12.8 個百分點。

方向濾網與廣度擇時的拆解長條圖:裸選 ADX 最高 30 檔全期月夏普 0.97、回撤 -44.1%,加方向濾網 1.01、-41.9%,裸籃加廣度擇時 0.86、-31.9%,方向加廣度擇時 0.97、-31.3%

這張拆解圖要看清楚兩件事:

  • 廣度擇時降的是回撤,沒有提高全期月夏普。 加方向濾網後全期月夏普 1.01,再加擇時反而是 0.97,與裸籃相同。擇時讓策略在急跌段離場,也讓它錯過一部分反彈。
  • 擇時也能單獨套在裸籃上:同一個開關套在沒有方向濾網的 ADX 最高 30 檔,全期最大回撤一樣從 -44.1% 壓到 -31.9%,代價是全期月夏普降到 0.86、研究段年化降到 16.4%。回撤控制來自開關本身,方向濾網負責選股品質,兩者分工。

這個開關每月只檢查一次。 廣度每天都算得出來,但回測和下載的程式碼都是月底讀一次。2015 年以來,日頻廣度 53 次跌到 0.15 以下,其中 35 次在月底前就回到門檻上方、從未執行;另外 18 次,從跌破到月底換股中位數隔 7.5 個交易日、最長 18 個交易日。全部 141 個換股月裡有 25 個月持現金(17.7%)。2026 年 7 月就是延遲的代價,下面的新資料段會拆開。

用市場結構決定曝險的想法,和 Moreira & Muir (2017) 在《Volatility-Managed Portfolios》的出發點相近:他們用前一個月的已實現變異數縮放股票曝險,發現能提高投資組合的夏普比率。ADX-DI 廣度量的是股票池裡強勢上升股的比例,和波動度是兩種訊號,本文也沒有驗證兩者等價;能借用的只是「風險升高時降曝險」這個方向,效果要看本文自己的回測。本文的開關提高了回撤控制,沒有提高全期夏普,這點和他們的結論不同。

我們也試過拿大盤自己的均線當開關:同一籃股票改成「0050 含息價站上自身 200 日均線才持股」,研究段年化只有 14.1%、月夏普 0.81,全期最大回撤 -42.8%,在 2015 到 2021 年的多頭裡經常空手;2022 年起年化 26.4%、月夏普 1.04,與廣度版相近。選股端用「買最強且向上的股票」,方向上接近 Jegadeesh & Titman (1993) 記錄的中期動能效應:過去 3 到 12 個月的贏家在之後幾個月傾向繼續贏。ADX(14) 反映的是大約一個月內的趨勢,比他們的形成期短,而文獻裡 1 個月形成期的報酬反而偏向反轉,所以這裡只是方向相近,不能拿他們的結果當本策略的證據。關於用大盤訊號降低回撤的其他做法,可參考市場濾網如何降低回撤。

完整策略:ADX 強度 × 方向 × 廣度擇時三層用法

把上面三個發現組成一套可執行、可重現的策略:

  1. 選股(強度 × 方向):可交易宇宙中,先取 ADX(14) > 20(強趨勢)且 +DI(14) > -DI(14)(方向偏多)者,再從中選 ADX 最高的 30 檔,等權持有。
  2. 風控訊號(ADX-DI 廣度):每天計算宇宙內「ADX > 25 且 +DI > -DI」的個股家數佔比。
  3. 擇時開關:每月最後一個交易日,廣度 > 0.15 → 持有上述 30 檔;廣度 ≤ 0.15 → 整籃清空、持現金。月中跌破門檻不會立刻出場。
  4. 月再平衡:月底產生訊號、下一個交易日收盤換股。

擇時開啟的月份,宇宙內同時符合 ADX > 25 且 +DI > -DI 的股票至少有 30 檔,所以選出的 30 檔一定都高於強度門檻 20。換句話說,在完整策略裡強度門檻設 15、20、25 結果完全相同,真正決定曝險的是廣度門檻。

選股與擇時訊號的核心程式碼如下(可直接交給你的 AI 助理改寫)。這裡的宇宙是簡化版:沒有均量門檻,也沒有排除金融股與處置股,選出的持股與廣度數值會和完整版不同,例如 2026-07-14 簡化版廣度 0.166、完整版 0.130。完整條件與回測在文末可下載的 strategy.py:

顯示程式碼
import numpy as np
from finlab import data
 
close = data.get("price:收盤價")
amount = data.get("price:成交金額")
 
# 可交易宇宙(簡化版):60 日均成交金額前 300 大、收盤 > 10 元,
# 只留代號剛好 4 碼數字、不是 00 開頭的股票
liquidity = amount.rolling(60, min_periods=20).mean()
common_cols = [
    s for s in close.columns
    if len(str(s)) == 4 and str(s).isdigit() and not str(s).startswith("00")
]
universe = (liquidity.is_largest(300) & (close > 10))[common_cols]
 
# DMI 體系:ADX 量強度,+DI/-DI 量方向
adx = data.indicator("ADX", timeperiod=14)[common_cols]
plus_di = data.indicator("PLUS_DI", timeperiod=14)[common_cols]
minus_di = data.indicator("MINUS_DI", timeperiod=14)[common_cols]
 
# 選股籃:ADX > 20 且 +DI > -DI 的股票裡,取 ADX 最高 30 檔
strong_and_bull = (adx > 20) & (plus_di > minus_di)
basket = adx.where(universe & strong_and_bull).rank(axis=1, ascending=False) <= 30
 
# ADX-DI 廣度:宇宙內「ADX > 25 且 +DI > -DI」的股票比例
strong_up = ((adx > 25) & (plus_di > minus_di)).where(universe).astype(float)
breadth = strong_up.sum(axis=1) / universe.sum(axis=1).replace(0, np.nan)
risk_on = breadth > 0.15   # 換股日廣度 > 0.15 才持股,否則整籃清空持現金

三段績效與同一天起算的含息 0050 並列如下(資料截至 2026-09-30):

區間 策略年化 策略月夏普 策略月索提諾 策略最大回撤 0050 年化 0050 月夏普 0050 月索提諾 0050 最大回撤
研究段 2015-01~2021-12 20.8% 1.08 1.59 -31.3% 15.1% 1.00 1.47 -28.2%
2022-01~2026-09 26.9% 1.02 1.58 -29.2% 30.5% 1.21 2.44 -34.0%
全期 2015-01~2026-09 23.2% 0.97 1.46 -31.3% 21.2% 1.07 1.85 -34.0%

讀法:研究段年化多出約 5.7 個百分點,月夏普與月索提諾領先,最大回撤比 0050 深約 3 個百分點;2022 年起年化 26.9% 落後 0050 的 30.5%,月夏普與月索提諾都輸,最大回撤則淺 4.8 個百分點。全期加總後,策略勝在年化報酬(23.2% 對 21.2%)與最大回撤(-31.3% 對 -34.0%);月夏普、月索提諾與年化波動(24.8% 對 19.8%)都輸給 0050。它是一套「回撤比 0050 淺、長期年化略高,但風險調整後不如 0050,2022 年以後報酬也落後」的趨勢策略。年換手約 7.45 次,低於裸選 ADX 最高 30 檔的 9.0 次,因為持現金的月份不換股。

完整互動式回測(月報酬熱力圖、權益曲線、年度績效):

參數最佳化:找一片站得住的高原,避開單一孤峰

策略最值得檢查的兩個參數,是 ADX 的計算週期和廣度擇時的門檻。把所有組合都跑一遍、挑研究段最漂亮的那一格,是過度最佳化(overfitting)最常見的陷阱:挑到的很可能只是雜訊湊出來的單一峰值,換到沒見過的資料就垮。

我們把 ADX 週期(10/14/20)和廣度門檻(0.10/0.15/0.20/0.25)做成 3×4 網格,每一格都用該設定重算選股籃與廣度、重跑回測,色溫填研究段月夏普:

ADX 週期乘以廣度門檻的研究段月夏普色溫圖,週期 14 那一欄 1.08 到 1.38 四格都在 1.0 以上,週期 10 與 20 兩欄多數低於 1.0,左上角週期 10 門檻 0.25 為 1.34

看研究段,分辨「高原」和「孤峰」:

  • 週期 14 那一欄最穩:四個門檻的研究段月夏普是 1.27、1.08、1.38、1.19,都在 1.0 以上。週期 10 與 20 兩欄 8 格裡有 7 格低於 1.0,Wilder 原始建議的 14 日落在研究段表現最好的那一欄。
  • 左上角是孤峰:週期 10 × 門檻 0.25 研究段月夏普 1.34,但同欄 0.20 只有 0.67、同列週期 14 是 1.19。它在 2022 年起的月夏普只有 0.68、年化 11.6%,是整張網格 2022 年起最差的一格。

同一張網格換成看 2022 年起,排序幾乎翻過來:週期 20 那一欄四格是 1.02、1.03、1.24、1.13,是 2022 年起最好的一欄,研究段卻只有 0.73 到 0.97;週期 14 那一欄 2022 年起是 0.88、1.02、0.91、1.07。研究段挑出的最佳區域,在後來的資料裡沒有維持領先。

依首發時的規則(只在網格內部格取 3×3 鄰域中位數最高者),穩健格是週期 14、門檻 0.20:研究段月夏普 1.38,比預設的 1.08 高;2022 年起卻是 0.91,低於預設的 1.02;最大回撤 -31.9% 與預設的 -31.3% 幾乎相同。把參數「調得更漂亮」沒有換到 2022 年起的提升,本文維持 6 月定案的週期 14、門檻 0.15。

下圖把其餘參數固定、一次只動一個,與預設值並排,藍色是研究段、紫色是 2022 年起:

ADX 策略一次只動一個參數的研究段與 2022 年起月夏普分組長條圖,預設 1.08 與 1.02,廣度門檻 0.20 研究段最高 1.38 但 2022 年起 0.91,週期 10 兩段都最低 0.88 與 0.86

10 個單參數變化(週期 10/20、強度門檻 15/25、持股 20/40 檔、廣度用的 ADX 門檻 20/30、廣度門檻 0.10/0.20)的研究段月夏普落在 0.88 到 1.38,2022 年起落在 0.86 到 1.03,只有 3 個在 2022 年起站上 1.0(週期 20,以及結果與預設完全相同的強度門檻 15、25)。研究段越高的設定,2022 年起往往越低:廣度門檻 0.10、0.20 與廣度用的 ADX 門檻 20、30,研究段都在 1.24 以上,2022 年起都在 0.91 以下。如果你看到某個最佳化「換個參數夏普就從 0.9 跳到 1.4」,那通常是踩到過擬合的地雷。延伸可看策略最佳化會不會過擬合。

回測方法與口徑

量化結論的可信度取決於方法,以下逐項交代:

  • 交易成本:策略使用 finlab sim(),台股預設已內扣手續費(本文以 0.1425% 打三折計)與賣出證交稅 0.3%。
  • 滑價:未額外假設滑價,實際成交衝擊取決於資金規模與流動性。
  • 股票池:上市櫃普通股,60 日均成交金額前 300 名、收盤 > 10 元、60 日均量 > 100 萬股,每天依當時資料篩選,約 174 到 260 檔。
  • 排除類別:排除 ETF(代號 00 開頭)、代號不是剛好 4 碼數字者(權證、特別股、6 碼代號)、金融保險股、處置與全額交割股。KY 股的代號也是 4 碼數字,沒有被排除。
  • 生存者偏差:價格資料保留了後來下市或停止交易的股票(2015-01-30 有收盤價、2026-09-30 已無收盤價的 4 碼代號個股共 142 檔,含本來就不在股票池內的金融股),沒有只用今天還存在的股票回推。
  • 前視偏差:ADX、+DI/-DI 與廣度均只使用當日(含)以前的價格;月底產生訊號、下一個交易日收盤換股。月營收搭配只用已公布的資料,見後面的月營收段。
  • 擇時執行頻率:廣度只在每月最後一個交易日讀取(53 次跌破、35 次未執行、18 次中位數延遲 7.5 個交易日),實際交易若改成每日檢查,結果會不同,本文沒有回測日頻版本。
  • 權重與持股數:選股籃等權,單一個股不另設上限;擇時開啟的 116 個月每月都滿 30 檔,另 25 個月整籃持現金,無槓桿。
  • 周轉率:年換手約 7.45 次(月再平衡加擇時切換),清倉與回場的月份會集中換手。
  • 基準口徑:含息 0050 用 etl:adj_close 還原價買進持有純算術計算,不含交易成本,從策略第一個淨值日 2015-01-30 起算;2022 年起那一段兩者都從 2022 年第一個交易日起算。本文所有對照組(教科書用法、方向濾網、網格、鄰格)的第一個淨值日都是 2015-01-30。
  • 樣本內外:研究段 2015-2021、2022-01 至 2026-09 分開回報。參數在 2026 年 6 月定案,當時的篩選同時看了研究段與 2022 年以後的成績,所以 2022 年起這段嚴格來說是「選參數時看過的驗證段」;完全沒看過的資料只有 2026-06-09 之後的近四個月,結果見下面的新資料追蹤。

穩健度

下面說的「過門檻」,指研究段年化 ≥ 25%、月夏普 ≥ 1.2,且 2022 年起年化 ≥ 15%、月夏普 ≥ 1.0,這是 2026 年 6 月定案時整個技術指標系列用的同一組標準。完整策略的研究段年化 20.8%、月夏普 1.08,從首發起就沒有通過研究段門檻;2022 年起年化 26.9%、月夏普 1.02,剛好站在 1.0 之上。

  • 廣度門檻 0.10 到 0.30:5 個門檻的研究段月夏普 1.08 到 1.38,2022 年起 0.88 到 1.15,全期最大回撤 -26.1% 到 -37.9%。門檻越高回撤越淺,但年化也跟著降(0.30 全期年化 16.0%)。
  • 持股檔數:20 檔研究段年化 24.3%、月夏普 1.16,2022 年起月夏普 0.98;40 檔研究段年化掉到 16.1%、月夏普 0.90。持股越集中研究段越好,2022 年起差異不大。
  • 廣度用的 ADX 門檻:從 25 改成 20 或 30,研究段月夏普升到 1.24、1.28,2022 年起降到 0.88、0.90。
  • 方向濾網的選擇:DMI 自身的 +DI/-DI(研究段 1.17、回撤 -41.9%)在三項指標上都優於外掛 20 日動能(1.09、-43.5%)。
  • 10 個單參數變化沒有一個四項門檻全過。

ADX 強趨勢池再疊月營收 YoY,有沒有加值?

技術面選股池再加一道基本面濾網,會不會更好?我們在完整策略的選股池裡疊上月營收年增率(YoY),試兩種做法:

  1. 選股前多一道「當期月營收 YoY > 0」過濾,再選 ADX 最高 30 檔。
  2. ADX 排名百分位與 YoY 排名百分位各占一半,合成複合分數後選前 30 檔。

月營收以法定公布截止日(次月 10 日)生效,公布日若落在非交易日就順延到下一個交易日(2015 年以來的資料沒有這種情況),只用當時已公布的資料,避免前視偏差。

ADX 選股籃加月營收 YoY 的兩種做法月夏普分組長條圖:基線研究段 1.08、2022 年起 1.02,加 YoY 大於 0 過濾 1.04 與 1.07,ADX 與 YoY 等權複合 1.00 與 0.95

做法 研究段月夏普 2022 年起月夏普 2022 年起年化 全期年化 最大回撤
ADX 強度×方向×廣度(基線) 1.08 1.02 26.9% 23.2% -31.3%
加「月營收 YoY > 0」過濾 1.04 1.07 30.4% 24.4% -30.8%
ADX × YoY 等權複合 1.00 0.95 22.8% 21.1% -33.6%

結果是「小幅、不一致」:

  • YoY > 0 過濾:研究段月夏普從 1.08 降到 1.04,2022 年起從 1.02 升到 1.07、年化從 26.9% 升到 30.4%,最大回撤也從 -31.3% 微縮到 -30.8%。2022 年起小贏,研究段小輸,方向不一致。
  • 等權複合:兩段都沒贏,研究段降到 1.00、2022 年起 0.95、回撤擴大到 -33.6%。把營收動能和趨勢強度直接相加,稀釋了原本的趨勢訊號。

月營收 YoY 對這套以趨勢為核心的策略不是穩定的加分項。最好的版本在 2022 年起有改善,但研究段變差,幅度與上面參數變化造成的差異同一個量級,不足以宣稱基本面在這裡帶來穩定優勢,所以本文主策略不加營收。想看基本面選股單獨怎麼發揮,可參考技術面與基本面選股的差異。

逐年表現:趨勢策略在哪種年份賺、哪種年份賠

ADX 是趨勢指標,這套策略也吃趨勢財。把每一個年度單獨結算、和同一天起算的含息 0050 對照(2015 年自 1 月 30 日起,2026 年截至 9 月 30 日):

年度 策略報酬 含息 0050 勝過 0050?
2015(1/30 起) -6.1% -7.9% 是
2016 +17.5% +19.6% 否
2017 +41.7% +18.1% 是
2018 -6.0% -4.9% 否
2019 +6.0% +33.5% 否
2020 +50.3% +31.1% 是
2021 +58.2% +21.9% 是
2022 -27.2% -21.4% 否
2023 +86.4% +27.5% 是
2024 +8.9% +48.6% 否
2025 +33.3% +36.8% 否
2026(截至 9/30) +55.7% +74.3% 否

12 個年度區間有 5 個勝過 0050,領先集中在 2017、2020、2021、2023 四年(分別多 23.6、19.2、36.3、58.9 個百分點)。2019 年與 2024 年是多頭但個股分化,策略分別落後 27.5、39.7 個百分點;2022 年空頭策略跌 27.2%,比 0050 多跌 5.8 個百分點;同一籃不做擇時是 -30.1%,廣度擇時讓這一年少跌 2.9 個百分點,仍沒能跑贏 0050。擇時也有代價:2019 年不擇時的同一籃賺 23.7%,擇時版只有 6.0%。2024 年起連續三個年度區間落後。

全期年化 23.2% 不代表每年都賺 23%:它是被幾個強趨勢年拉上來的平均,碰到分化或空頭的年份會明顯落後。

首發後的新資料:2026-06-09 之後

本文首發版的資料截至 2026-06-09,參數也在那時定案。從那天到 2026-09-30,策略下跌 14.0%,同期含息 0050 上漲 8.9%。分段拆開如下:

區間 策略 含息 0050
2026-06-09~06-30 +7.3% +4.2%
2026 年 7 月 -22.3% -4.0%
2026 年 8 月 +3.2% +3.3%
2026 年 9 月 0.0% +5.5%

四段連乘約等於上面的區間報酬,虧損集中在 7 月。6 月底廣度 0.272、在門檻之上,選出的 30 檔在 7 月 1 日買進、8 月 3 日出場,其中 26 檔虧損,逐檔報酬中位數 -17.7%,跌最深的國巨(2327)-51.6%。同一個月 0050 只跌 4.0%,虧損來自策略持有的那一群強勢股同步回檔。

這次虧損和擇時的執行頻率直接相關。廣度在 7 月 14 日收在 0.130,第一次低於 0.15,之後一路下滑,但回測要等到 7 月 31 日的月底訊號、8 月 3 日收盤才清倉。從跌破前一天 7 月 13 日收盤到 8 月 3 日出場,策略淨值下跌 15.5%,同期 0050 跌 3.2%;7 月 30 日的低點比 6 月 22 日的高點低 29.2%。8 月底廣度 0.12 仍在門檻下,9 月整月持現金,0050 同期上漲;9 月底廣度回到 0.222,10 月才重新持股。從出場到 9 月底,策略持平,0050 上漲 9.9%。研究段最差的單月是 2015 年 7 月的 -15.2%,2022 年起在此之前最差的是 2022 年 9 月的 -12.7%;2026 年 7 月的 -22.3% 是整段回測最差的單月。

延長資料後,2022 年起的月夏普由 1.22 降到 1.02、年化由 33.5% 降到 26.9%,仍在這類策略設定的 1.0 與 15% 之上,所以參數維持 2026 年 6 月的設定,數字全部換成新資料重跑的結果,並加上這段新資料追蹤。但真正沒看過的這近四個月,策略落後 0050 22.9 個百分點,2022 年起的月夏普只比 1.0 高 0.02,下一次季度重跑會把 2026 年第四季補進這張表。

2026-10 更新與更正:資料延長到 2026-09-30,2026-10-24 用 finlab 2.2.16 重跑。把資料截止日設回上一版的 2026-06-09 另外完整重跑一次,完整策略研究段 20.84%/月夏普 1.08、2022 年起 33.53%/1.22、全期 25.51%/1.06,與上一版的 20.81%/1.08、33.5%/1.22、25.51%/1.06 差距在 0.03 個百分點以內,本次的變化來自新增的資料。其餘對照組同截止日重跑多數只差 0.01 到 0.02;差距較大的包括 2015 年度報酬(-7.4% 變 -6.1%)、ADX 最高 30 檔的全期最大回撤(-43.4% 變 -44.1%)、ADX 最低 30 檔的研究段年化(3.6% 變 3.8%)與最大回撤(-46.2% 變 -46.5%)、裸籃加擇時的 2022 年起年化(28.2% 變 27.9%)、廣度門檻 0.25 的 2022 年起月夏普(1.28 變 1.40)、月營收 YoY 過濾的 2022 年起年化(37.1% 變 37.5%)與等權複合的最大回撤(-33.9% 變 -33.6%),可能來自套件版本更新或歷史資料修補,本文沒有逐項拆解。另有以下更正:

  1. 上一版的含息 0050 從 2015-01-05 起算,但策略的第一個換股淨值日是 2015-01-30,0050 在這中間上漲 2.2%;本版改為同一天起算,以 2026-06-09 為截止日,0050 全期年化由 20.98% 變為 20.89%、研究段由 15.29% 變為 15.09%。
  2. 上一版可下載的 strategy.py 用最新版 finlab 執行會在計算廣度時因分母為零中斷;只修這一處後,它從 2007-05-31 就開始持股、一路跑到最新資料,宇宙也少了 60 日均量門檻;程式本身只印從 2007 年起算的全期統計(年化 17.25%),把它的淨值曲線切出 2015 至 2021 年段是 19.84%/月夏普 1.08,對不上文章。檔案說明寫裸選高 ADX「最大回撤一路探到 -70%」,是從資料起點 2007 年起算、含 2008 年金融海嘯的數字(以 2026-06-09 資料重算為 -70.6%),與文中從 2015 年起算的口徑不同。現在 strategy.py 與 data.csv 都與本文策略同一套邏輯,執行會印出三段績效、教科書用法對照、零件拆解、逐年報酬與 7 月起的逐月報酬。
  3. 上一版頁內第二段程式碼在最新版 finlab 也會因同一個分母為零而中斷,本版改用欄位篩選並避開除以零;第一段程式碼只用示意窗內的資料判斷進出場,執行印出的是 8/8 與 6/6,文章卻寫 9/8 與 7/6(文章數字來自另一支把窗口第一天算成進場的程式),本版兩者統一為完整歷史計算後的 8/8 與 6/6。
  4. 上一版寫可交易宇宙「排除 KY 股」,實際沒有排除;宇宙判斷代號只看前 4 碼是不是數字,特別股 2882A 曾出現在日頻選股籃,但從未落在月底換股日,回測數字不受影響,本版改為代號必須剛好 4 碼數字。
  5. 上一版寫廣度跌破門檻時「當日清空」持股、廣度是「全市場」的比例;回測其實每月只在換股日讀取一次,廣度也是可交易宇宙內的比例,本版改寫並補上月頻落差的統計。
  6. 上一版的限制段寫本策略沒通過「研究段年化 ≥ 35%」的門檻,實際用的門檻是研究段年化 ≥ 25%、月夏普 ≥ 1.2,以及 2022 年起年化 ≥ 15%、月夏普 ≥ 1.0。
  7. 常見問題裡「用 0050 均線擇時會踏空」的說法,上一版沒有附數字,本版補上 200 日均線版的回測。

三項穩健性驗證:重跑到 2026 年 10 月

這裡驗證本文的完整策略:ADX(14) 大於 20 且 +DI 大於 -DI 的股票裡取 ADX 最高 30 檔等權,股票池內 ADX-DI 廣度不到 0.15 時整籃清空,每月換股。我們在 2026-10-27 用本文附的 strategy.py(把 DATA_END 改成 None,finlab 2.2.20,資料截至 2026-10-27)重跑三項檢查,統一採 sim() 預設手續費 0.1425% 與證交稅 0.3%;原程式手續費三折的結果另列於成本對照表。「贏」指日夏普高於同期 0050 含息買進持有(etl:adj_close 還原價、純算術計算、不扣成本)。兩邊日夏普皆為日報酬平均除以標準差、乘上 √252,不扣無風險利率。

檢查 標準 結果
鄰近參數 ADX/DI 週期(11、14、17)乘上持股檔數(25、30、35),9 組至少 7 組贏 0/9 組贏,不過
前後兩段 2015-01-30 到 2020-12-11、2020-12-14 到 2026-10-27 兩段都贏 前段 0.67 對 0.89,後段 1.10 對 1.24,不過
交易成本 原參數、sim() 預設成本 日夏普 0.91 對 1.08,不過

ADX 三層策略鄰近參數 9 組日夏普熱圖:0 組高於同期 0050 含息,原參數日夏普 0.91

9 組參數的日夏普(括號內是年化報酬,粗體是原文參數):

持股檔數 \ ADX/DI 週期 11 14 17
35 0.72(年化 15.3%) 0.85(年化 18.7%) 0.83(年化 18.2%)
30 0.75(年化 16.3%) 0.91(年化 20.9%) 0.85(年化 19.1%)
25 0.69(年化 15.1%) 0.88(年化 20.4%) 0.86(年化 19.8%)

前後兩段與全期:

期間 策略年化 策略日夏普 0050 含息年化 0050 日夏普
前段 2015-01-30 到 2020-12-11 12.0% 0.67 13.5% 0.89
後段 2020-12-14 到 2026-10-27 30.1% 1.10 28.0% 1.24
全期 2015-01-30 到 2026-10-27 20.9% 0.91 20.5% 1.08

前後兩段是把整段期間從中點對半切。上文的研究段與樣本外以 2022 年初為界,照這個切法,2015 到 2021 年日夏普 0.90 對 0050 的 0.96,2022 年起 0.95 對 1.22。上文多用月夏普,跟這裡的日夏普算法不同,數字不能直接比。

交易成本對照(原參數):

成本設定 年化 日夏普 最大回撤
不扣成本 26.4% 1.10 -29.0%
sim() 預設:手續費 0.1425%、證交稅 0.3% 20.9% 0.91 -32.5%
原文設定:手續費打三折 22.7% 0.98 -31.3%
0050 含息買進持有(同期) 20.5% 1.08 -34.0%

重跑到 2026-10-27,原參數年化 20.9%、日夏普 0.91、最大回撤 -32.5%;同期 0050 含息年化 20.5%、日夏普 1.08、最大回撤 -34.0%。9 組鄰近參數全部輸,原參數已經是 9 組裡最好的一格,ADX 週期縮短到 11 日時日夏普掉到 0.75 以下;前段(2015 到 2020 年)日夏普 0.67 對 0.89、後段 1.10 對 1.24,兩段都輸,三項都不成立。跟上文的結論一致:廣度清倉讓回撤比 0050 淺一點,風險調整後的報酬沒有勝過 0050。上文的年化 23.2% 是資料到 2026-09-30、手續費打三折的結果;照三折跑到 2026-10-27 是 22.7%,換成 sim() 預設成本是 20.9%。

策略的限制與取捨

  • 勝點在回撤,風險調整後不如 0050:全期年化 23.2% 雖高於含息 0050 的 21.2%,但月夏普 0.97 低於 0050 的 1.07、年化波動 24.8% 高於 19.8%。它真正的作用是把 ADX 選股的最大回撤從 -44% 級壓到 -31%,這仍然比 0050 的 -34.0% 淺;如果你在意的是每單位風險的報酬,2022 年以後直接持有 0050 表現更好。
  • 最大回撤仍有 -31%:廣度擇時是「整籃清倉」的大盤層級開關,沒有個股停損;而且每月只檢查一次,像 2026 年 7 月那樣月中急跌,要等到月底才出場。
  • 2022 年起落後 0050:2022 年起年化 26.9% 對 0050 的 30.5%,月夏普 1.02 對 1.21,2024 年起連續三個年度區間落後。研究段的領先沒有延續到之後的資料。
  • 崩盤型態涵蓋有限:回測從 2015 年起算。以 2026-06-09 資料、首發版宇宙口徑從資料起點 2007 年起算的對照,同一套策略含 2008 年在內的最大回撤仍是 -31.3%,但參數是在 2015 年後的資料上選的,不保證對沒見過的型態同樣有效。
  • 容量與成本:選股籃 30 檔、宇宙限前 300 大;清倉與回場的月份會同向集中成交,大資金部署需重估流動性與滑價,本文未估算策略容量。

自己跑一次

把下面這句話交給你的 AI 助理,它會引導你安裝 FinLab Skill、抓台股資料、重現這篇的回測:

裝好之後,下載本文的 strategy.py 與 data.csv,即可在自己的環境重跑、改參數、換選股因子。strategy.py 的資料截止日釘在 2026-09-30,改成 None 就會用最新資料重跑;登入只需在程式裡寫 finlab.login(),套件會在需要資料時引導你完成登入。同一套「指標選股加股票池廣度擇時」的做法,也可以對照OBV 能量潮與布林通道的季度重跑結果;想延伸成更完整的量化流程,可參考量化交易總覽與程式交易是什麼;想對照其他指標,見常用技術指標台股 11 年回測總覽。

常見問題

Q:ADX 指標到底是什麼?和 DMI 有什麼關係? ADX 是 DMI(趨向指標)體系裡的一條線。DMI 由 +DI(上漲力道)、-DI(下跌力道)、ADX(趨勢強度)三條線組成。ADX 由 +DI 與 -DI 的差距算出 DX 再做平滑,所以它只量「趨勢有多強」,方向要看 +DI 與 -DI 誰在上面。

Q:ADX 大於 25 就代表可以買進嗎? 不能直接這樣用。ADX > 25 只代表「現在有明確趨勢」,不分上漲或下跌,一檔強力下跌的股票 ADX 一樣會超過 25。本文回測顯示,選 ADX 最高的 30 檔股票全期最大回撤達 -44.1%,原因就是把強勢下跌股也買進來了。要判斷方向,必須再看 +DI 是否大於 -DI。

Q:ADX 參數要設多少?14 是最好的嗎? 14 日是 Wilder 的原始建議,也是本文用的設定。網格裡週期 14 那一欄的研究段月夏普四格都在 1.0 以上,週期 10、20 多數在 1.0 以下;但 2022 年起週期 20 反而表現較好,14 是研究段的最佳區域,2022 年起則由 20 領先。強度門檻 20/25/30 在不做擇時時研究段月夏普 1.17/1.09/1.01;加上廣度擇時後,強度門檻 15 到 25 結果完全相同。與其微調參數,不如先用對方法:搭方向濾網、再搭廣度風控。

Q:ADX 可以單獨拿來當選股因子嗎? 不建議。選 ADX 最高會買到強勢下跌股(最大回撤 -44.1%),選 ADX 最低賭盤整反彈研究段年化只有 3.8%,用 ADX 的變化速度、加速度或 z-score 研究段月夏普只有 0.57 到 0.65。ADX 比較適合當「方向確認的濾網」與「市場狀態的風控訊號」。

Q:為什麼要用「股票池廣度」,不改用大盤指數或 0050 的均線? 單一指數的訊號在盤整期雜訊大、來回甩動。本文測過同一籃股票改用「0050 站上 200 日均線才持股」,研究段年化只有 14.1%、月夏普 0.81,全期最大回撤 -42.8%,在 2015 到 2021 年的多頭裡經常空手;廣度版同期研究段年化 20.8%、最大回撤 -31.3%。2022 年起兩者的月夏普相近(1.04 對 1.02)。

Q:ADX 和 MACD、KD 一起用會更好嗎? ADX 和 MACD、KD 性質不同:ADX 量趨勢強度,MACD/KD 是擺盪或動能類。本文沒有回測 ADX 與 MACD、KD 的組合;比較有根據的搭法是讓不同性質的訊號各司其職,例如本文用 ADX 加方向選股、用 ADX-DI 廣度控制曝險。各指標的用法可參考RSI、MACD、KD 比較。

Q:這套策略適合誰? 適合想參與台股個股趨勢、但希望最大回撤比 0050 淺的人:全期最大回撤 -31.3%,0050 是 -34.0%。不適合追求最佳風險調整報酬的人,2022 年以後直接持有 0050 的年化與月夏普都更好;也不適合無法接受單月 -22% 的人,2026 年 7 月就是實例。

Q:ADX 是領先指標還是落後指標? ADX 經過兩層平滑(先平滑 DM 與真實區間,再平滑 DX),對價格變化反應偏慢,本質偏落後。這也是本文不拿它的「變化量」當主訊號的原因。它的價值在「水準值」:當前趨勢強不強、股票池裡強勢上升的股票多不多。


最後更新:2026-10|回測區間:2015-01-30 ~ 2026-09-30(2026-10-24 以 finlab 2.2.16 重跑)|作者:FinLab 量化研究團隊(經量化研究員審閱)

本文僅供量化研究與教學用途,所有回測數字均由 finlab 套件在真實台股資料上產出,過去績效不代表未來表現,不構成投資建議。ADX-DI 廣度風控策略全期最大回撤 -31.3%、2026 年 7 月單月 -22.3%,實際交易前請自行評估風險、滑價與交易容量。

FinLab AI

想建立自己的策略?

用自然語言描述你的選股想法,AI 自動驗證、回測、給你答案

免費開始

更多技術指標研究

查看全部