价值因子详解:PE/PB/PS/PCF 四大估值指标的计算与选股
价值因子详解
价值投资之父格雷厄姆说:"价格是你付出的,价值是你得到的。"量化如何衡量"价值"?
一、为什么需要估值因子
股票的"便宜"和"贵"不能只看股价(10元的股票不一定比100元的便宜)。需要用相对估值指标——把价格和公司的盈利/资产/收入对比。
二、PE(市盈率)
计算
PE = 股价 / 每股收益(EPS) = 总市值 / 净利润
PE 表示"以当前盈利水平,多少年能回本"。
分类
| PE范围 | 含义 |
|---|---|
| PE < 0 | 公司亏损(无意义) |
| PE 5-15 | 低估/蓝筹 |
| PE 15-30 | 合理 |
| PE > 50 | 高估/高成长 |
EP 因子(盈利收益率)
量化中常用 EP = 1/PE(盈利收益率),EP越高越"便宜":
stock["EP"] = stock["net_profit"] / stock["market_cap"]
# EP 排序,选EP最高的(最便宜的)
常见陷阱
- 周期股低PE陷阱:周期顶部利润高→PE低→看起来便宜,实际是顶部
- 亏损公司PE为负:需单独处理
- 一次性利润:PE低但利润不可持续
三、PB(市净率)
计算
PB = 股价 / 每股净资产 = 总市值 / 净资产(股东权益)
PB 表示股价相对于公司账面价值的倍数。
适用场景
- 银行/地产/重资产行业:PB 最有效
- 轻资产公司(互联网/软件):PB 意义不大
BP 因子
量化中用 BP = 1/PB(账面市值比),BP越高越便宜:
stock["BP"] = stock["book_value"] / stock["market_cap"]
破净股
PB < 1(股价低于净资产)的股票叫"破净股",常见于银行/钢铁。
四、PS(市销率)
计算
PS = 总市值 / 营业总收入
PS 表示"每1元营收值多少钱"。
适用场景
- 亏损公司(PE为负时,PS仍可用)
- 高成长公司(营收在涨但还没盈利)
- 互联网/SaaS公司(收入比利润更能反映价值)
SP 因子
SP = 1/PS = 营收/市值,SP越高说明每元市值的营收贡献越大。
五、PCF(市现率)
计算
PCF = 总市值 / 经营现金流
优势
- 现金流比利润更难造假(利润可调,现金流难改)
- 适合检测利润质量
CP 因子
CP = 经营现金流 / 市值,CP越高说明公司"造血能力"越强。
六、因子对比
| 因子 | 优势 | 劣势 | 适用 |
|---|---|---|---|
| EP(1/PE) | 最常用 | 受利润波动影响 | 稳定盈利公司 |
| BP(1/PB) | 稳定 | 不适用轻资产 | 银行/地产 |
| SP(1/PS) | 适用亏损公司 | 忽略盈利能力 | 成长股 |
| CP(1/PCF) | 难造假 | 现金流波动大 | 检测利润质量 |
七、价值因子选股策略
多因子价值组合
# 综合价值因子
stock["value_score"] = (
rank(stock["EP"]) * 0.4 + # PE权重40%
rank(stock["BP"]) * 0.3 + # PB权重30%
rank(stock["SP"]) * 0.2 + # PS权重20%
rank(stock["CP"]) * 0.1 # PCF权重10%
)
# 选value_score最高的前50只
行业中性化
不同行业PE差异大(银行PE 5,科技PE 50),需在行业内部排名:
stock["EP_rank_industry"] = stock.groupby("industry")["EP"].rank(pct=True)
八、价值因子的局限
- 价值陷阱:便宜有便宜的道理(基本面恶化)
- 时间成本:价值回归可能需要数月甚至数年
- 风格切换:牛市末期价值因子往往跑输成长因子
- 需要结合质量因子:便宜+好公司才是真正的价值投资