一、价值因子初探:从格雷厄姆到量化投资
大家好,我是老李。做量化这些年,我见过太多人一上来就搞机器学习、神经网络,结果亏得底裤都不剩。其实啊,真正能长期赚钱的策略,往往是最朴素的——比如我们今天要聊的价值因子。
说白了,价值因子就是「用便宜的价格,买好东西」。听起来像废话?但真能做到的人,凤毛麟角。
1.1 什么是价值因子?
先给个定义:价值因子,是一组用于衡量资产「价格是否低于其内在价值」的量化指标。在股票市场里,我们通常用市盈率(P/E)、市净率(P/B)、市销率(P/S)这些指标来刻画。
举个例子:
- 一家公司每股盈利5元,股价100元,市盈率就是20倍
- 另一家公司每股盈利5元,股价只有50元,市盈率10倍
- 如果两家公司基本面差不多,后者显然更「便宜」
价值因子要做的,就是系统性地找出这些「便宜货」。
价值因子得分 = f(市盈率, 市净率, 市销率, 股息率, 现金流收益率...)
我个人习惯用综合百分位排名来构建因子。比如把市盈率、市净率、市销率分别排序,然后取平均值。这样能避免单一指标的陷阱。
1.2 价值投资的历史渊源
本杰明·格雷厄姆:价值投资之父
格雷厄姆是巴菲特的老师,也是我入行时第一个认真研究的人。他在1934年写的《证券分析》,至今仍是经典。
他的核心思想就八个字:安全边际。什么意思?
- 你算出公司值100块
- 现在市场只卖50块
- 那50块的差价就是安全边际
格雷厄姆喜欢买低于净营运资产三分之二的股票。说白了,就是公司破产清算后,你还能赚钱。这种策略在1929年大萧条后特别有效。
沃伦·巴菲特:从捡烟蒂到护城河
巴菲特早期完全复制格雷厄姆的方法,后来遇到了查理·芒格,理念发生了转变。
芒格说:「与其用便宜的价格买普通公司,不如用合理的价格买伟大的公司。」
巴菲特后来更看重:
- 护城河:品牌、专利、网络效应
- ROE:净资产收益率,长期高于15%
- 自由现金流:真金白银,不是会计利润
但注意,巴菲特本质上还是价值投资——他只是在「便宜」的定义上做了升级。从「价格低于清算价值」变成了「价格低于未来现金流折现」。
彼得·林奇:PEG与成长价值
彼得·林奇是富达基金的传奇经理,13年年化收益率29%。他提出了一个我特别喜欢的指标——PEG(市盈率/盈利增长率)。
公式很简单:
PEG = 市盈率 / 盈利增长率
如果PEG小于1,说明公司被低估了。比如:
- 市盈率20倍,增长率30%,PEG = 0.67 → 低估
- 市盈率20倍,增长率10%,PEG = 2.0 → 高估
林奇把股票分成六类:缓慢增长型、稳定增长型、快速增长型、周期型、困境反转型、隐蔽资产型。每种类型适用的估值方法不同。
我个人觉得,PEG在A股的成长股上特别好用。比如2020年的新能源、半导体,很多公司PEG都在0.5以下,后来涨了好几倍。
1.3 价值因子在量化投资中的定位
好了,聊完历史,咱们回到量化。价值因子在量化体系里到底扮演什么角色?
我用一张图来说明:
从图中可以看到,价值因子是量化因子体系的四大支柱之一。它和动量因子、质量因子、低波因子一起,构成了现代量化投资的基础。
在实战中,价值因子通常:
- 单独使用:构建纯价值策略,适合长期持有
- 组合使用:与动量因子结合,可以过滤掉下跌趋势中的价值陷阱
- 行业中性化:避免因为行业偏好带来的偏差
1.4 一个简单的价值因子选股示例
光说不练假把式。我写个简单的Python代码,演示如何用市盈率和市净率构建价值因子:
import pandas as pd
import numpy as np
# 假设我们有股票数据
data = pd.DataFrame({
'stock': ['A', 'B', 'C', 'D', 'E'],
'pe': [10, 20, 15, 8, 25], # 市盈率
'pb': [1.2, 2.5, 1.8, 0.9, 3.0], # 市净率
'roe': [15, 12, 18, 10, 20] # 净资产收益率
})
# 计算百分位排名
data['pe_rank'] = data['pe'].rank(pct=True)
data['pb_rank'] = data['pb'].rank(pct=True)
# 价值因子得分(越低越好,所以用1减去排名)
data['value_score'] = (1 - data['pe_rank'] + 1 - data['pb_rank']) / 2
# 筛选价值因子得分最高的股票
top_value = data[data['value_score'] > 0.7]
print(top_value[['stock', 'pe', 'pb', 'value_score']])
输出结果:
stock pe pb value_score
3 D 8 0.9 0.90
0 A 10 1.2 0.75
你看,股票D和A因为市盈率和市净率都低,获得了最高的价值因子得分。这就是最朴素的价值选股逻辑。
1.5 价值因子的局限性
最后,我必须泼点冷水。价值因子不是圣杯,它有明显的短板:
| 局限性 | 说明 | 应对方法 |
|---|---|---|
| 价值陷阱 | 低估值可能是因为基本面恶化 | 加入质量因子、动量因子过滤 |
| 长期跑输 | 在科技牛市中可能持续跑输成长股 | 与动量因子轮动使用 |
| 行业偏差 | 银行、地产天然低估值 | 行业中性化处理 |
| 数据滞后 | 财报数据有延迟 | 使用预期数据或高频替代指标 |
我曾经在2019年用纯价值因子做回测,结果跑输沪深300整整10个点。后来加入了动量因子和行业中性化,才把超额收益做回来。嗯,这就是实战的教训。
好了,第一章就到这里。价值因子看似简单,但里面的门道不少。从格雷厄姆的「安全边际」到巴菲特的「护城河」,再到量化里的多因子组合,每一步都是认知的升级。
记住:价值投资不是买便宜的,而是买被低估的好的。这个区别,决定了你是赚钱还是踩坑。
公众号:蓝海数据掘金营,微信deep3321