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

市值營收比選股 13 年實測:「便宜高獲利」是 -60% 回撤陷阱,
多因子才贏 0050

市值營收比=市值÷近 12 個月營收,是反應速度很快的便宜指標。但用 finlab 實測 2013–2026 共 13 年:把它集中在「便宜+高 ROE」的少數股,最大回撤竟達 -60.58%、夏普只有 0.62,是標準的價值陷阱。低市值營收比要真正能用,得當成分散的多因子濾網,搭配營收成長與動能,才換到年化 21.64%、夏普 1.22、回撤比含息 0050 還淺的成績,附可下載程式碼與回測數據。

我一度以為這個指標選便宜高獲利股很神,回測完才知道差點踩進大坑。

市值營收比是我很喜歡的一個基本面指標,因為它反應夠快:市值天天變、月營收每個月更新,比起一季才更新一次的財報,它對股價的便宜程度更敏感。但「指標好用」跟「照著它重押就會賺」是兩回事。我把市值營收比的幾種常見用法,用 finlab 從 2013 年 4 月一路回測到 2026 年 6 月,結果跟很多人的直覺差很多。

一句話結論: 大家最愛的用法「挑便宜(低市值營收比)又高獲利(高 ROE)的股票重押」,13 年下來年化只有 15.80%、夏普 0.62,最大回撤竟然吃到 -60.58%,是不折不扣的價值陷阱。低市值營收比真正能用的方式,是把它當成一個分散的濾網,再疊上營收成長與價格動能,這樣才拿到年化 21.64%、夏普 1.22、最大回撤 -31.66% 的成績,報酬與回撤都贏過同期含息 0050(21.01%、-33.96%)。

用法(2013-04~2026-06,月調倉) 年化報酬 夏普 最大回撤 平均持股
含息 0050(基準) 21.01% -33.96%
便宜+高獲利(低 PS+高 ROE,重押) 15.80% 0.62 -60.58% 8
分散多因子(低 PS+營收成長+動能) 21.64% 1.22 -31.66% 124

先看最關鍵的一張圖:把低市值營收比集中在「便宜高獲利」少數股(紅色填滿區),2020 年那一段回撤直接灌到 -60%,遠比多因子版本與含息 0050 慘烈。

市值營收比集中在便宜高獲利少數股的回撤現形圖,最深回撤達 -60%

想自己換因子、改條件重跑,可以用 AI 輔助安裝流程把 finlab 裝起來:

免費試用

用 AI 開始 FinLab

把這句話交給你的AI,它會帶你完成設定並做出第一個策略。

告訴你的AI:

幫我設定 FinLab,重現這篇文章,請讀:https://finlab.finance/setup?relatedUrl=/blog/price-to-sales-ratio-cheap-revenue-stocks

市值營收比是什麼?為什麼反應快

市值營收比的算法很單純,就是市值除以一段期間的營收:

市值營收比=市值近 12 個月營收總和\text{市值營收比} = \dfrac{\text{市值}}{\text{近 12 個月營收總和}}

數字越小,代表你用越便宜的價格,買到同樣多的營收,直覺上就是便宜的高營收股。它最大的特色是反應快:市值每個交易日都在變,月營收每個月都更新,所以它比一季才更新一次的本益比、股價淨值比都更靈敏。算分母時用月營收加總,實測效果也比直接抓季營收總額好一些。這個指標的名詞定義可以對照量化投資詞彙表

但反應快不等於賺得到。便宜本身只是一個起點,不是答案。

第一個發現:只看「便宜」,贏不了大盤

我先用最直覺的方式:每天把全市場依市值營收比排序,買進最便宜的 30%,每月換股、等權重。13 年下來年化 15.58%、夏普 0.97、最大回撤 -31.92%,平均持有高達 491 檔。

報酬落後含息 0050 超過 5 個百分點。原因不難理解:便宜的股票常常是「便宜有便宜的道理」,營收高但獲利差、產業在走下坡、甚至財務有疑慮的公司,都會被這個純便宜的濾網撈進來。光靠便宜,等於買了一籃子問題股的平均。

第二個發現:把「便宜+高獲利」重押,是 -60% 的陷阱

那加上獲利濾網呢?這正是這個指標最多人推的用法,也是這篇文章舊版本當初的主張:挑便宜(低市值營收比)又賺錢(高 ROE)的股票。聽起來無懈可擊,但實測結果是場災難。

四種市值營收比選股法的年化報酬、夏普與最大回撤比較

低市值營收比再要求 ROE 大於 10,符合條件的股票平均只剩約 8 檔,等於把資金重押在極少數標的上。年化 15.80% 看起來跟純便宜差不多,但夏普掉到 0.62、最大回撤吃到 -60.58%。再多疊一個動能條件(上表的 P4),持股更少到約 5 檔,最大回撤一樣慘到 -57.47%。

問題不在「便宜」或「高獲利」這兩個條件本身,而在「集中」。便宜又高 ROE 的股票數量少、又常擠在同一兩個景氣循環產業,一旦那個產業反轉,整個組合一起崩。把這種選股法當成存股重押,遇到 2020 那種急殺,帳面直接腰斬。

第三個發現:當成分散濾網,才換到更穩的報酬

真正能用的方式剛好反過來:別重押,讓市值營收比當一個分散組合裡的便宜濾網,再疊上兩個跟「便宜」低相關的因子,也就是營收成長與價格動能。低相關是重點,因為這兩個因子失靈的時機跟「便宜」不一樣,一個拉回時另一個還撐得住,整體的波動就被壓了下來。其中價格動能的長期有效性,最早由 Jegadeesh & Titman (1993) 在美股實證提出,後續在台股也反覆被驗證。

顯示程式碼
import numpy as np
from finlab import data
from finlab.backtest import sim
 
# 市值營收比 = 市值 ÷ 近 12 個月營收(越低代表用越便宜的價格買到同樣的營收)
market_value = data.get("etl:market_value")
monthly_revenue = data.get("monthly_revenue:當月營收")
trailing_revenue = monthly_revenue.rolling(12).sum()
ps_ratio = (market_value / trailing_revenue).replace([np.inf, -np.inf], np.nan)
 
# 另外兩個與「便宜」低相關的因子:營收成長與價格動能
revenue_yoy = data.get("monthly_revenue:去年同月增減(%)")
close = data.get("price:收盤價")
momentum = close / close.shift(60)
 
# 三條件同時成立才買進,維持分散(約 120 檔)而非集中重押
position = (
    (ps_ratio.rank(axis=1, pct=True) < 0.3)
    & (revenue_yoy > 0)
    & (momentum > 1)
)
report = sim(position, resample="M", name="市值營收比多因子")

這組條件平均持有約 124 檔,分散程度跟純便宜版本接近,但因為多要求了「營收還在成長」與「股價已經止穩往上」,等於先把那些便宜但走下坡、或還在破底的股票濾掉。13 年下來年化 21.64%、夏普 1.22、最大回撤 -31.66%,報酬小幅超過含息 0050,回撤還更淺。

多因子低市值營收比策略、純低 PS 與含息 0050 的權益曲線比較

把四種用法的持股數和最大回撤畫在一起,這個教訓會更清楚:越往左、持股越集中,回撤就越深。

市值營收比四種策略的持股檔數與最大回撤關係圖,越集中回撤越深

完整的互動報告(每筆交易、年度報酬與部位明細)在這裡:

策略程式碼可以直接下載重跑:strategy.py,回測權益曲線在 data.csv。這種「單因子先過濾、再疊低相關因子分散」的做法,在自由現金流上也成立,可以對照自由現金流多因子實測

怎麼把市值營收比用對

把前面三個發現收斂成三條可以馬上用的原則。第一,別把便宜當成買進理由。市值營收比低只代表相對便宜,它是篩選的起點而不是終點;單獨用它選股,13 年實測還輸給含息 0050。第二,永遠保持分散。便宜股最大的風險來自群聚:便宜股常一整群擠在同一個衰退產業裡,景氣一反轉就一起崩盤,單檔的漲跌反而是小事。把資金重押在符合「便宜+高獲利」的少數幾檔,最大回撤就從 -30% 級別惡化到 -60% 級別,那段帳面腰斬的痛,多數人是抱不住的,抱不住就會在最低點認賠出場。第三,疊上跟便宜低相關的因子。營收還在成長、股價已經止穩往上,這兩個條件會幫你把便宜但體質正在惡化的股票濾掉,留下的才是便宜、有人氣、基本面也還在進步的標的。這三條原則合起來,等於把市值營收比從一個危險的重押指標,變成一個穩健的分散濾網,這也是這次回測最值得帶走的一課。

幾個要老實講的限制

第一,這是 2013-04 到 2026-06 的樣本內結果,台股這段偏多頭,換期間、換參數數字一定會變。第二,多因子版本平均持有約 124 檔,它是一個分散的因子組合,不是「只買幾檔長抱」的存股清單;想拿來重押少數幾檔,反而會掉回前面那個 -60% 的陷阱。第三,回測未計交易成本與滑價,月調倉的周轉要把手續費算進去。把這三點放心裡,市值營收比真正的角色是一個反應快的便宜濾網,而不是一張明牌。

常見問題

市值營收比越低就越值得買嗎? 不一定。低市值營收比只代表「相對便宜」,但便宜常常有原因。實測中純買最便宜的 30%,年化還輸給含息 0050。它比較適合當分散組合裡的初篩條件,再用營收成長、動能等因子把走下坡的便宜股濾掉。

「便宜+高獲利」聽起來很合理,為什麼回測那麼差? 合理的不是條件,是「分散」。低市值營收比再要求高 ROE,符合的股票常只剩個位數,等於把資金重押在少數同類股上,最大回撤因此吃到 -60.58%。同樣兩個條件,如果放在上百檔的分散組合裡當濾網,結果就完全不同。

這個指標用月營收還是季營收算比較好?換股頻率呢? 分母用月營收加總(近 12 個月)的反應速度與效果都比季營收總額好。換股頻率上,含動能的策略不適合放到一年才換一次,每月或每季比較合理。完整選股流程與其他面向,可參考台股選股完整指南,估值因子的橫向比較則可看PE、PB、PEG 三大估值因子台股回測


延伸閱讀

本文由 FinLab 量化研究團隊撰寫。所有回測均以 finlab 套件在真實台股歷史資料上實證,程式碼與權益曲線數據皆可下載重跑,歡迎自行驗證與挑戰。

投資警語:本文所有回測數據來源為 finlab 真實實測(2013-04 至 2026-06),僅供教學與研究參考,不構成投資建議。過去績效不代表未來表現,投資有風險,請依個人風險承受度審慎評估。

FinLab AI

想建立自己的策略?

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

免費開始

更多價值與基本面研究

查看全部