# 52 週新高再加成交量，選股篩選器究竟能幫我少看哪些股票？

> Canonical: https://vxi.me/zh-tw/posts/52-week-high-volume-screener/
> Locale: zh-tw
> Published: 2026-10-12
> Updated: 2026-10-12
> Markdown: https://vxi.me/zh-tw/posts/52-week-high-volume-screener.md

追著 52 週新高買，最讓人擔心的就是剛突破又掉頭。可是把成交量或相對成交量（RVOL）疊上去，也不會神奇地告訴我哪檔股票會套住人。它們能解決的是更早的一個問題：有些股票接近一年高點，成交卻很冷清；有些突然爆量，價格還離高點很遠。如果今天只能研究其中幾檔，該先看哪一些？

我會先用價格位置縮小名單，再用絕對成交量過一道初篩，最後看相對成交量與流動性。實際檢查介面時，我疊加的是 52W High 和 Volume 兩個條件；RVOL 出現在 Overview 的 Relative Volume 欄位，供下一輪觀察，**這次沒有實際設定或驗證 RVOL 數值門檻**。

初篩的目的，是分配研究時間，不是產生買進訊號。

## 兩個條件排除的是不同麻煩

52 週高點提供一個歷史價格參照。價格接近一年內高點，表示過去一年相對處於較強的位置，可能值得從趨勢或動能角度再看幾眼。但接近高點不等於突破有效，更不能推論之後一定上漲。

連「接近」都得先定義清楚。[Finviz 的篩選器說明](https://finviz.com/help/screener)使用期間高點及百分比距離作為條件。「距離高點不超過 5%」至少是一個可以計算的研究設定；這不代表別家產品的 52W High 欄位輸入 10，就一定是「距高點 10%」。

成交量處理的是另一件事。接近高點但交易稀疏的標的，往後還得仔細看買賣價差、委託簿深度，以及部位能否以合理價格進出。圖形漂亮，不代表能照畫面上的價格成交。

我把它視為研究成本：每多留下一檔交易冷清的股票，就多一份要核實流動性的工作。[Investor.gov 對流動性的定義](https://www.investor.gov/introduction-investing/investing-basics/glossary/liquidity-or-marketability)關心的是資產能否在不明顯衝擊價格的情況下成交。較高成交量或許值得進一步研究，但單看股數仍不能證明委託簿有足夠深度。

反過來，光找爆量股也不可靠，因為下跌放量同樣可能很熱鬧。所以第一輪真正有用的是兩個條件的**交集**，不是把它們相加，就得到一個想像中的高勝率策略。

## 六檔虛構股票，為什麼最後剩兩檔？

先不要碰即時行情。我假設有 S1 到 S6 六檔不存在的股票，替它們安排現價、52 週高點和當日成交量。程式先保留現價達到各自一年高點至少 95% 的股票，再保留成交量至少 100 萬股的股票。

95% 和 100 萬股都是**我為虛構案例自訂的門檻**，不是對任何正式篩選器欄位單位的解釋。

~~~javascript
// 以下全為虛構資料，成交量單位僅用於這個例子。
const stocks = [
  ["S1",  96, 100,  600000],
  ["S2",  49,  50, 1800000],
  ["S3", 190, 200,  900000],
  ["S4", 9.8,  10, 2400000],
  ["S5",  80, 100, 1600000],
  ["S6",  60, 100, 2200000],
];
// 每列：[代號、假設現價、假設52週高點、假設當日成交量]
const nearHigh = stocks.filter(([, price, high]) => price / high >= 0.95);
const candidates = nearHigh.filter(([, , , volume]) => volume >= 1000000);
console.log(stocks.length, nearHigh.length, candidates.length); // 6 4 2
console.log(candidates.map(([id]) => id)); // ["S2", "S4"]
~~~

輸出是 6、4、2，留下 S2、S4。就算不執行程式，表格也能看懂：

| 篩選階段 | 留下的虛構股票 | 被排除的原因 |
| --- | --- | --- |
| 原始名單：6 檔 | S1、S2、S3、S4、S5、S6 | — |
| 達到 52 週高點至少 95%：4 檔 | S1、S2、S3、S4 | S5、S6 離高點較遠 |
| 再加 100 萬股成交量門檻：2 檔 | S2、S4 | S1、S3 成交量不足 |

我反而想多看一眼 S3。它的假設價格 190，對照高點 200，正好踩在 95% 邊界；假設成交量 90 萬股，只比第二道門檻少 10 萬。程式直接把它剔除，但這不能證明 S3 比留下的股票差，也不代表它沒有研究價值。

這就是粗篩的代價：清單變短，邊界樣本也可能被錯過。如果時間很有限，我願意接受這種取捨；如果研究的是低流通股的異常量價，S3 也許該進另一份「門檻附近待複查」的名單。門檻只是幫人分配時間，不是替市場打分數。

成交股數還受到股價與流通股數影響。僅為說明量綱，假設成交 100 萬股，每股 10 元約對應 1,000 萬元成交金額，每股 100 元則約 1 億元；這不是實際成交資料。兩者都不能代表委託簿深度。成交金額、週轉率與買賣價差，通常比對所有股票套同一個股數門檻更值得看。

## 真正在篩選器裡操作，怎麼確認沒有篩錯？

程式裡的集合交集很簡單。實際介面比較容易出錯的地方，是以為自己新增了條件，結果只是改了表格排序。

我用自己參與維護的 [NuvexLens 篩選器](https://nuvexlens.com/screener/) 核對這個流程。能直接觀察到的是：第二個條件加入時，第一個篩選標籤仍在，候選數摘要也繼續縮小。不必匯出兩份清單再手動求交集，確實省事；但這並不能當作某種特殊後端演算法已通過驗證的證據。

一次 **US 市場 Overview** 介面核對裡，可以同時看到 Volume 和 Relative Volume 資料欄，頂部也有 52W High 的篩選入口。這只能說明欄位可見，不能代表 RVOL 的數值過濾已經生效；我也沒有將畫面上的個股報價放進本文。

實際疊加兩個條件的觀察來自**另一次 CN 市場**操作：透過 Add New Filter 先加入 52W High > 10，再加入 Volume > 1000000。兩個標籤確實同時出現，候選數摘要也變小。這是特定時間點的 UI 觀察，不是歷史回測，也沒有凍結相同的股票池。CN 的條件操作不能和前面的 US Overview 欄位畫面混成同一份行情快照。

之後我會核對三件事：第一個價格標籤還在不在；第二個成交量條件究竟是從篩選器加入，還是只動了欄位選單；候選池真的變了，還是僅僅更換顯示順序。

這不是憑空假設。我有一次複查時點進 Volume 欄位的排序選單，而不是數值篩選器。後來重新透過 Add New Filter 操作，才確認兩個標籤並存。**排序只改變排列順序，過濾才改變入選集合。**而且若兩次的市場範圍或行情時間點不同，就算顯示筆數變少，也無法證明新名單必然是舊名單的子集合。

還有兩個數值不能混為一談：程式範例的「距 52 週高點不超過 5%」是我定義的假設條件；介面輸入的 52W High > 10 則是另一個真實 UI 操作記錄。沒有可靠的欄位單位說明，就不能自行把 10 解釋成「距新高 10%」。

## 名單縮短後，仍然得做的功課

就算 S2、S4 是真實股票，我也不會因為通過兩道初篩就下單。我更想問：今天的成交量，相對這檔股票平常的成交量，到底算不算活躍？絕對股數適合粗篩；RVOL 或同口徑的歷史平均量，則是下一步參考。

RVOL 大致是用目前成交量相對於可比較的歷史平均成交量來衡量。[TradingView 的官方說明](https://www.tradingview.com/support/solutions/43000635874-how-do-we-calculate-relative-volume-and-relative-volume-at-time/)介紹一種以前 10 個週期均量為參考的算法；盤中同時段比較又會有不同處理。這說的是 TradingView 自己的計算方式，**不能直接當成**我操作那個篩選器的正式後端公式。本文也沒有實測 RVOL > 1.5 的過濾結果。

再來要看價格結構：只是靠近舊高、剛突破，還是已經衝高回落？附近有沒有壓力區？成交金額、委託簿深度、價差、停損位置和部位大小，又會不會讓兩檔看似相似的股票變成截然不同的決策？

本文的 **6 → 4 → 2 完全是可複製的虛構例子**；真實介面核對只驗證了可見的篩選標籤與候選摘要變化，沒有證明提高報酬。

我最後想保留的，是一個比較省力的研究順序：先看價格位置，再看成交活躍度，把有限時間留給還需要自己判斷的地方。篩選器可以讓我少打開很多張圖，但不會替我承擔買賣決策。

*本文僅供研究與教育參考，不構成投資建議。*
