
股價淨值比(PB)大概是台股流傳最廣的估值指標:股價跌破淨值就是便宜,PB 越低撿到的折扣越大。這句話對不對,用資料跑一次就知道。我們用 pip install finlab 取得台股 2010 年 1 月到 2026 年 6 月的每日股價淨值比,把全上市櫃股票按 PB 高低分成五組每季換股,再把「絕對門檻選股」和「相對百分位加排雷」兩種實戰做法各跑一遍。先把關鍵數字放在最前面:
| 回測設定(每季再平衡,含 finlab 預設交易成本) | 區間 | CAGR | 日夏普 | 最大回撤 | 一句話結果 |
|---|---|---|---|---|---|
| 0050 含息基準(買進持有,不含成本) | 2010-01~2026-06 | 16.43% | 0.95 | -33.96% | 長期極難超越 |
| 最低 PB 五分位(約 320 檔等權) | 2010-01~2026-06 | 14.13% | 0.97 | -34.85% | 五組最強,仍輸 0050 |
| 最高 PB 五分位 | 2010-01~2026-06 | 7.77% | 0.52 | -35.14% | 五組最弱 |
| PB<0.5 絕對門檻全持有 | 2010-01~2026-06 | 7.06% | 0.47 | -48.51% | 持股一度只剩 3 檔 |
| 低 PB 百分位+排雷 20 檔 | 2013-07~2026-06 | 15.13% | 0.90 | -35.92% | 排雷沒有救回績效 |
數據來源:finlab 回測(資料截至 2026-06-09),完整程式碼可在文末下載重跑。這篇文章要回答四個問題:股價淨值比是什麼、多少算低、低 PB 選股到底賺不賺、以及為什麼教科書級的價值因子近三年在台股大幅落後大盤。
股價淨值比是什麼?定義與公式
**股價淨值比(Price-to-Book Ratio,簡稱 PB 或 P/B)=公司市值除以股東權益帳面價值,衡量你用幾倍的價格買進公司帳上的淨資產。**分子分母同除以發行股數,就是更常見的寫法:
舉一個虛構的計算示例(數字為教學示意,非任何真實公司):甲公司發行 1 億股,帳上股東權益 25 億元,每股淨值就是 25 元;若今天股價 20 元,PB=20÷25=0.8,代表市場願意用八折買它的帳面資產。反過來,若股價 50 元,PB=2.0,市場用兩倍價格買帳面資產,買的是帳面以外的東西:品牌、技術、成長預期。
所以 PB 同時透露兩件事:一是「便宜程度」,二是「市場對未來的共識」。投資人看好的公司,股價先反映未來獲利,PB 被推高;不被看好或無人關注的公司,PB 被壓低。大部分股票 PB 大於 1 並不奇怪,因為持續獲利的公司本來就值得高於清算價值的定價;反而是 PB 長期小於 1 的股票需要先問一句:市場為什麼不買單?
用 ROE 與 PE 看懂 PB 的另一面
PB 不是孤立的指標。把股東權益報酬率(ROE)拆開,會發現它剛好是 PB 與本益比(PE)的比值:
延續上面的示例:甲公司 PB 0.8、PE 8 倍,ROE=0.8÷8=10%;乙公司 PB 同樣 0.8 但 PE 高達 40 倍,ROE 只有 2%。兩家公司一樣「便宜」,賺錢能力卻差五倍。這就是為什麼用 ROE 搭配 PB 挑便宜好股會比單看 PB 更合理:低 PB 配高 ROE,才是用折扣價買到還在賺錢的資產。
股價淨值比多少算低?中位數會隨牛熊大幅浮動
「PB 小於 1.5 算便宜」這類絕對標準,是低 PB 選股最常見的誤用。把 2010 年以來台股全市場的 PB 中位數與 20% 分位數畫出來,浮動的幅度一目了然:

幾個實測出來的關鍵讀數:
| 時點 | 全市場 PB 中位數 | 全市場 PB 20% 分位數 |
|---|---|---|
| 2015-08-24(全球股災) | 0.99 | 0.62 |
| 2020-03-19(疫情低點) | 0.99 | 0.61 |
| 2026-06-09(最新) | 1.91 | 1.11 |
同樣一條「PB<1.2」的篩選條件,在 2015 年 8 月會選到超過半數市場,在 2026 年 6 月卻只剩兩成出頭的股票合格。熊市時全市場一半的股票跌破淨值,牛市時連最便宜的兩成股票 PB 都在 1.11 以上。**判斷一檔股票的 PB 高低,要跟「同一時點的全市場」比,用相對百分位而非絕對數值。**數學上,本文的「最低 PB 組」定義為:
其中 是當天全市場 PB 的第 20 百分位數。這個門檻每天跟著市場呼吸,不會在熊市突然選進半個市場。順帶一提,全市場 PB 中位數本身就是有用的溫度計,怎麼拿它判斷台股大盤的相對位置,站內有另一篇專文回測。
回測一:PB 五分位,低 PB 組真的比較強嗎?
第一層實驗檢驗因子本身。設計如下:
- 股票池:全上市櫃有 PB 資料的個股(每組平均約 320 檔)
- 分組:每天按 PB 由小到大分五等份,等權持有,每季再平衡
- 成本:finlab
sim()台股預設,手續費 0.1425%、賣出證交稅 0.3% - 區間:2010-01-04 到 2026-06-09(finlab 每日 PB 資料起點為 2010 年)
| 分組(2010-01~2026-06) | CAGR | 日夏普 | 日索提諾 | 最大回撤 | 總報酬 |
|---|---|---|---|---|---|
| Q1 最低 20% 分位 | 14.13% | 0.97 | 1.00 | -34.85% | 750.5% |
| Q2(20~40%) | 11.60% | 0.83 | 0.85 | -35.09% | 491.7% |
| Q3(40~60%) | 10.38% | 0.74 | 0.77 | -33.43% | 395.0% |
| Q4(60~80%) | 9.09% | 0.63 | 0.68 | -32.14% | 309.0% |
| Q5 最高 20% 分位 | 7.77% | 0.52 | 0.60 | -35.14% | 235.8% |
| 0050 含息(同窗口,不含成本) | 16.43% | 0.95 | 1.31 | -33.96% | 1117.1% |
結果有兩面。好的一面:報酬隨 PB 由低到高嚴格遞減,Q1 年化 14.13% 約是 Q5 的 1.8 倍,五組排序完全沒有亂跳,代表 PB 在台股橫斷面上確實帶有資訊,這不是雜訊。這與學術文獻一致:Rosenberg, Reid & Lanstein (1985) 用美股資料最早系統性證實買進低股價淨值比股票能獲得顯著超額報酬;Fama & French (1992) 進一步發現帳面市值比(PB 的倒數)是解釋美股橫斷面報酬最有力的變數之一,價值因子後來被寫成
也就是「做多低 PB、做空高 PB」的報酬差。本文的 Q1 減 Q5 年化約 6.4 個百分點,方向與 HML 相同。
殘酷的一面:**五組沒有任何一組打贏同期 0050 含息的 16.43%。**Q1 的日夏普 0.97 與 0050 的 0.95 已在伯仲之間,但年化報酬、索提諾與回撤仍然全面落後。買「全市場最便宜的兩成」勝過買「最貴的兩成」,但兩者都輸給什麼都不挑的市值前 50 大。對照站內台股選股方法總整理的單因子實測,這個結論並不孤單:在 2018 年之後由權值成長股主導的台股,多數單因子都打不贏 0050。
低 PB 溢酬並非每年有效:2024 年起連續落後
把 Q1 與 0050 的逐年報酬攤開,可以看到這個因子的節奏:

| 年度 | 最低 PB 五分位 | 0050 含息 | 年度 | 最低 PB 五分位 | 0050 含息 |
|---|---|---|---|---|---|
| 2011 | -28.1% | -15.8% | 2019 | 21.7% | 33.5% |
| 2012 | 13.6% | 11.9% | 2020 | 41.1% | 31.1% |
| 2013 | 34.2% | 11.7% | 2021 | 47.1% | 21.9% |
| 2014 | 18.9% | 16.7% | 2022 | -0.7% | -21.4% |
| 2015 | -12.1% | -6.3% | 2023 | 32.6% | 27.5% |
| 2016 | 18.1% | 19.6% | 2024 | 15.3% | 48.6% |
| 2017 | 24.9% | 18.1% | 2025 | 0.5% | 36.8% |
| 2018 | -0.6% | -4.9% | 2026(至 6/9) | 11.3% | 60.0% |
2012 到 2023 的十二年裡,Q1 有九年贏過 0050,2022 年大盤跌 21.4% 時它幾乎持平,展現了低 PB 組合的抗跌性格。轉折發生在 2024 年:AI 與半導體權值股噴出,0050 連續三年繳出 36% 到 60% 的年度報酬,低 PB 組合只有 0.5% 到 15.3%,三年累積落後超過一倍。這與站內 PE、PB、PEG 三大估值因子十年回測的發現方向一致:純粹的「便宜」在近年台股是弱因子。每季重跑這份回測時,我們會持續追蹤這段衰退是風格循環的低谷,還是因子被市場效率消化的開始;以 2026 年 6 月的資料,還無法區分兩者。
股價淨值比有這麼神嗎?絕對門檻 PB<0.5 的三個風險
第二層實驗檢驗散戶最常見的做法:設一條絕對門檻,把 PB 低於某個數字的股票全部買進。我們測了三條門檻,每季換股、等權持有:
| 門檻(2010-01~2026-06) | CAGR | 日夏普 | 最大回撤 | 平均持股 | 季底持股最少~最多 |
|---|---|---|---|---|---|
| PB<0.5 | 7.06% | 0.47 | -48.51% | 24.3 檔 | 3~108 檔 |
| PB<0.8 | 12.67% | 0.88 | -38.29% | 209.6 檔 | 72~487 檔 |
| PB<1.0 | 13.42% | 0.94 | -35.01% | 390.5 檔 | 170~721 檔 |
最極端的 PB<0.5 看起來最「深度價值」,績效卻是三者最差,年化只有 7.06%,最大回撤接近一半資產。原因藏在持股檔數的時間序列裡:

三個風險依序是:
- **集中度風險。**牛市裡跌破半倍淨值的股票本來就稀少,PB<0.5 的持股在 2014 年 6 月的季底只剩 3 檔。等權分散的前提是有股可分,門檻越極端,組合越像在單押兩三家壞消息纏身的公司,一檔出事就是兩位數的淨值損失。
- **樣本忽多忽少。**同一條門檻,2020 年 3 月疫情低點可以選到上百檔,2014 年牛市只剩個位數。策略的風險暴露隨市況劇烈漂移,回測數字的代表性也跟著失真。
- **撿到的多是有問題的公司。**PB 跌破 0.5 通常有原因:虧損、產業衰退、資產品質存疑。下一節的淨值陷阱會展開講。
有趣的副產品:符合低 PB 門檻的股票檔數和大盤幾乎反向。大盤越熱,便宜股越少;2015 年 8 月與 2020 年 3 月兩次恐慌,門檻內檔數同步暴增。這條曲線本身就帶有市場過熱與恐慌的訊號價值,與前面提到的 PB 中位數溫度計互相呼應。
至於「把門檻放寬到 0.6 到 0.8 之間、做好分散」的常見建議,資料給的答案是:方向正確但幅度有限。PB<0.8 的年化 12.67% 與回撤 -38.29% 確實全面優於 PB<0.5,分散讓單一地雷的傷害變小;不過它仍然輸給同期 0050,放寬門檻解決的是風險問題,不是報酬問題。
淨值陷阱:便宜的股票為什麼便宜
低 PB 股票池的天敵叫淨值陷阱(value trap):股價便宜是因為公司基本面正在惡化,帳上淨值是過去式,虧損會把它一季一季燒掉。買進 PB 0.6 的公司,若每股淨值每年縮水 15%,兩年後用當初股價算的「實質 PB」已經回到 0.83,折扣是假的。
這個問題有經典的學術處理:Piotroski (2000) 檢視美股高帳面市值比(即低 PB)的股票池,發現其中多數公司財務體質持續走弱,整個池子的超額報酬其實由少數體質健康的公司貢獻;他用九項財報訊號(F-Score)把爛公司剔除後,價值組合的報酬顯著提升。站內也有把 F-Score 九分體檢表搬到台股的完整回測,可以和本文互相對照。
依照這個邏輯,我們在下一層回測加入兩條簡化版排雷規則:
- 獲利排雷:近四季經常稅後淨利合計大於 0,剔除持續虧損、淨值正在失血的公司
- 淨值排雷:每股淨值不低於一年前,剔除帳面價值持續下滑的公司
回測二:低 PB 相對百分位+排雷實戰策略
把前面所有教訓組合成一個可執行的策略:
- 股票池:60 日均量大於 50 萬股、股價大於 5 元(流動性與雞蛋水餃股過濾)
- 趨勢濾網:收盤價站上季線(60 日均線)
- 估值:PB 位於池內最低 20% 相對百分位(不用絕對門檻)
- 排雷:近四季經常稅後淨利大於 0,且每股淨值不低於一年前
- 選股:候選中取「PB×股價」最小的 20 檔,等權持有,每季再平衡
頁面上先放核心程式碼,完整可執行版本在文末下載:
顯示程式碼
import finlab
from finlab import data
from finlab.backtest import sim
# finlab 會在需要資料時自動引導登入
finlab.login()
# 載入每日資料
close = data.get("price:收盤價")
vol = data.get("price:成交股數")
pb = data.get("price_earning_ratio:股價淨值比").where(lambda d: d > 0)
ni = data.get("fundamental_features:經常稅後淨利").index_str_to_date()
# 股票池:流動性 + 股價門檻 + 季線之上
pool = (vol.rolling(60).mean() > 500_000) & (close > 5)
above_ma = close > close.rolling(60).mean()
# 排雷一:近四季經常稅後淨利 > 0
profitable = ni.rolling(4).sum().reindex(close.index, method="ffill") > 0
# 排雷二:每股淨值不低於一年前
bps = close / pb
bps_ok = bps >= bps.shift(245)
# 池內 PB 相對百分位,取最低 20%
pb_rank = pb.where(pool).rank(axis=1, pct=True)
candidates = (pb_rank <= 0.2) & profitable & bps_ok & above_ma
# 選 PB * 股價最小的 20 檔,每季再平衡
position = (pb * close).where(candidates).is_smallest(20)
report = sim(position, resample="Q", upload=False)排雷條件需要一年的每股淨值歷史與四季財報,所以這一層統一從 2013 年 7 月起跑,並加一組「同樣選股但拿掉兩條排雷」的對照,把排雷的貢獻隔離出來:
| 版本(2013-07~2026-06) | CAGR | 日夏普 | 日索提諾 | 月索提諾 | 最大回撤 | 平均持股 |
|---|---|---|---|---|---|---|
| 低 PB 百分位+排雷 | 15.13% | 0.90 | 1.06 | 1.32 | -35.92% | 17.6 檔 |
| 低 PB 無排雷對照 | 17.21% | 0.96 | 1.17 | 1.42 | -36.44% | 19.0 檔 |
| 0050 含息(同窗口,不含成本) | 20.41% | 1.13 | 1.53 | 1.81 | -33.96% | 1 |

結果出乎設計時的預期,照實寫:**這兩條簡化版排雷沒有加值,反而扣分。**排雷版年化 15.13%、無排雷版 17.21%,最大回撤只差 0.5 個百分點。文獻上成立的方向,搬到台股這個窗口、用這兩條簡化規則,並沒有複製出 Piotroski 式的改善;可能的原因包括規則太粗(只看獲利正負與淨值增減,不如九項 F-Score 細緻)、台股低 PB 池的爆發段常由轉機股貢獻(剛轉虧為盈的公司會被「近四季合計獲利」擋在門外),以及樣本期不同。我們不調參數硬把數字做漂亮,這組對照本身就是有用的資訊:在台股用低 PB 選股,粗糙的排雷濾網可能把轉機股一起濾掉。
把窗口切到與全站其他策略相同的 2018-01 到 2026-06 再看一次:
| 版本(2018-01~2026-06) | CAGR | 日夏普 | 日索提諾 | 月索提諾 | 最大回撤 |
|---|---|---|---|---|---|
| 低 PB 百分位+排雷 | 16.48% | 0.95 | 1.12 | 1.44 | -35.92% |
| 0050 含息 | 25.05% | 1.22 | 1.67 | 1.92 | -33.96% |
每一項指標都輸。本站策略文的品質門檻是日夏普或索提諾 1.5 以上,這個策略的日夏普 0.95、日索提諾 1.12,各項風險調整指標仍在門檻之下,所以本文的定位是因子檢驗與反面教材,而非推薦清單。互動式回測報告放在下方,每一筆換股與持股都可以核對:
回測方法與限制
| 項目 | 本文做法 |
|---|---|
| 交易成本 | 策略均用 finlab sim() 台股預設:手續費 0.1425%(未打折)、賣出證交稅 0.3%,已內扣 |
| 滑價 | 未另設滑價假設 |
| 股票池 | 因子層為全上市櫃有 PB 資料個股;實戰層加 60 日均量>50 萬股、股價>5 元 |
| 流動性過濾 | 因子層與門檻層未過濾(檢驗因子全貌);實戰層有,門檻如上 |
| 排除類別 | 金融股、KY 股未排除;ETF 因無個股 PB 資料天然不在池內;finlab 價格資料包含已下市個股的歷史區間,降低生存者偏誤 |
| 前視偏差 | PB 採公開資訊觀測站每日揭露值(以最新已公告財報計算),不含未來資訊;財報淨利用 index_str_to_date() 按申報期限對齊;每股淨值由當日 PB 與股價反推,口徑一致 |
| 權重 | 一律等權,未設單檔上限 |
| 周轉率 | 五分位 Q1 年周轉約 0.6 倍;實戰策略約 3.0 倍(估計值,季調倉口徑) |
| 樣本內外 | 全段 in-sample,未做樣本外與滾動測試 |
| 基準口徑 | 0050 用 etl:adj_close 還原價買進持有純指數計算,不含交易成本;與策略口徑的差異已註明。績效統計對截斷後淨值以純算術計算,與 0050 基準同式 |
| 容量 | 未估算策略容量;低 PB 池含小型股,實單衝擊取決於資金規模與成交量 |
| 已知缺口 | 實戰策略在 2020-03-31 季底候選一度只剩 1 檔(疫情恐慌期幾乎所有股票跌破季線),趨勢濾網在極端行情會讓組合空轉,這是設計上的取捨 |
想自己跑一遍?
整份回測從資料到圖表都來自 pip install finlab 之後的數十行程式碼,不需要自己爬公開資訊觀測站。把文末的 strategy.py 下載後執行,就能重現本文所有策略數字;改一行就能測試你自己的門檻、持股數或排雷條件。如果你是從零開始,量化交易完整指南有從環境安裝到第一個回測的入門路徑;想看 PB 與其他因子怎麼搭配成完整的選股流程,可以從台股選股方法的系統性回測接著讀。
常見問題 FAQ
股價淨值比多少算合理?
沒有跨時間通用的絕對標準。2026 年 6 月台股全市場 PB 中位數是 1.91,2015 年 8 月股災時只有 0.99。實務上建議跟兩個對象比:跟「同一時點的全市場分位數」比(本文用最低 20% 分位當低 PB),以及跟「同產業、同商業模式」比,資產輕重不同的產業 PB 天生不可比。
PB 小於 1 的股票可以買嗎?
跌破淨值代表市場用低於帳面的價格定價這家公司,原因可能是真的錯殺,也可能是淨值陷阱:公司持續虧損,帳面淨值正在縮水。本文實測 PB<0.5 全持有的年化只有 7.06%、最大回撤 -48.51%,無差別買進破淨股不是好策略。至少要確認獲利能力(參考 F-Score 九項財報體檢)再談便宜。
股價淨值比和本益比哪個更適合選股?
兩者衡量的東西不同:PE 用獲利定價,對虧損公司失效;PB 用淨資產定價,對輕資產高成長公司失真。站內三大估值因子的十年對照回測顯示,台股單用低 PE 或低 PB 近年都跑輸大盤,估值指標更適合當組合裡的一個維度,而非唯一條件。
低 PB 選股為什麼 2024 年之後大幅落後大盤?
2024 到 2026 年的台股由 AI 與半導體權值成長股主導,0050 三年年度報酬在 36% 到 60% 之間,而這些領漲股的 PB 普遍偏高,低 PB 組合系統性缺席這段行情,三年累積落後超過一倍。這是風格問題而非個股問題:價值因子在歷史上多次經歷數年的低潮再回歸,但回歸的時點無法預測,這也是單因子策略最大的心理成本。
股價淨值比可以用來判斷大盤位置嗎?
可以當溫度計參考。全市場 PB 中位數在恐慌時貼近 1、過熱時走高,符合低 PB 門檻的股票檔數也和大盤明顯反向。站內有專文用 PB 中位數回測大盤買賣訊號,把這個直覺做成可驗證的規則。
低 PB 在美股還有效嗎?
美股的價值因子研究最完整,但近十五年同樣經歷成長股主導的長期低潮。我們用同一套 finlab 工具跑過美股股價淨值比選股的回測,結論與台股方向一致:排序有資訊,超額報酬不穩定。
金融股的 PB 要怎麼看?
金融業的資產負債表結構特殊,淨值受利率與資產評價影響大,市場慣例是金融股之間互比 PB 而不與電子股混比。本文回測未排除金融股,金融股長期 PB 偏低,會墊高低 PB 組的金融股佔比,這是讀本文數字時要記得的口徑。
想驗證文中的數字,要從哪裡開始?
下載文末的 strategy.py,安裝 finlab 後執行即可重現全部回測;對量化名詞不熟,可以先查量化名詞表。想看更多用同一套方法檢驗市場傳言的例子,價值股篩選的多條件回測與財報狗式價值選股的免費複製版都是不錯的下一步。
延伸閱讀
下載資源
| 檔案 | 說明 |
|---|---|
| strategy.py | 五分位、絕對門檻、排雷策略三層回測完整程式碼 |
**投資警語:本文僅供教學參考,不構成投資建議。過去績效不代表未來表現,投資有風險。**本文所有回測均為全段樣本內結果,未經樣本外驗證;低 PB 因子近三年明顯落後大盤,請勿將歷史排序視為未來報酬的保證。
最後更新:2026-06|回測區間:2010-01~2026-06(資料截至 2026-06-09,策略層自 2013-07 起)|作者:FinLab 量化研究團隊(經量化研究員審閱)
FinLab AI
想建立自己的策略?
用自然語言描述你的選股想法,AI 自動驗證、回測、給你答案
免費開始

