市盈率到底是个什么东西
市盈率就是股价除以每股收益,说白了,你花多少钱买公司一块钱的利润。市盈率20倍,意味着你愿意为每一块钱利润付20块。市场愿意给多少倍,背后是对公司未来赚钱能力的预期。
低市盈率的陷阱
银行股常年市盈率5倍,看起来很便宜。便宜有便宜的道理,市场认为银行坏账风险大,利润增长慢,甚至可能下滑。你贪图5倍市盈率买入,可能三年不涨,分红也就那样。
钢铁、煤炭这些周期股,市盈率低的时候往往是行业顶峰。利润爆表,股价却没怎么动,市盈率显得极低。这时候买入,等周期下行,利润暴跌,股价腰斩,市盈率反而变高。周期股要反着看,高市盈率时可能是底部,低市盈率时可能是顶部。
高市盈率的幻觉
科技股动辄100倍市盈率,市场赌的是未来利润爆发。一旦增速不及预期,股价能跌70%。2021年的很多互联网股票,市盈率几百倍,后来利润没跟上,股价脚踝斩。

高市盈率需要高增长来消化。一家公司市盈率50倍,如果利润每年增长50%,一年后市盈率降到33倍,两年后22倍。增长一旦失速,估值和业绩双杀,这就是戴维斯双杀。
期货市场里的市盈率思维
期货交易不看市盈率,但看供需和预期。螺纹钢期货价格高的时候,钢厂利润好,市盈率低,但期货价格往往已经反映未来供应增加。等产能释放,价格下跌,利润消失。这和周期股逻辑一模一样。
做期货要关注库存、开工率、基差。市盈率是股票的估值锚,期货的锚是现货价格和持仓成本。道理相通,都是预期和现实的博弈。
怎么用市盈率才不亏钱
第一,看行业。消费、医药这些弱周期行业,市盈率20到30倍算合理。银行、地产5到10倍正常。科技股30到50倍起步。跨行业比市盈率毫无意义。
第二,看盈利质量。利润是不是主营业务赚的,有没有卖资产凑数。每股收益是不是靠回购缩股做出来的。经营现金流和净利润是否匹配。
第三,看历史分位。这家公司过去五年市盈率在什么区间,现在处于什么位置。低于30%分位算便宜,高于70%分位算贵。
第四,看增长匹配度。市盈率除以净利润增速,就是PEG。PEG小于1算低估,大于1.5算高估。这个指标比单纯市盈率靠谱。
量化选股中的市盈率因子
量化策略里,市盈率是常见因子。低市盈率因子长期有超额收益,但回撤大,容易踩价值陷阱。高市盈率因子在成长风格年份表现好,在价值风格年份垫底。
用Python回测一下市盈率因子的效果:
import pandas as pd
import numpy as np
# 假设df包含股票代码、市盈率、下期收益率
df = pd.read_csv('stock_data.csv')
# 按市盈率分五组
df['pe_group'] = pd.qcut(df['pe_ratio'], 5, labels=['低','中低','中','中高','高'])
# 计算各组平均收益
group_returns = df.groupby('pe_group')['next_return'].mean()
print(group_returns)
# 多空组合:做多低市盈率组,做空高市盈率组
df['signal'] = np.where(df['pe_group']=='低', 1, np.where(df['pe_group']=='高', -1, 0))
long_short = df.groupby('date').apply(lambda x: (x['signal'] * x['next_return']).mean())
print(long_short.cumsum())
回测显示,低市盈率组合长期跑赢高市盈率组合,但2019到2021年成长风格下,低市盈率跑输。因子会失效,需要动态调整。
期货跨期价差里的估值逻辑
期货近月合约和远月合约的价差,类似股票的市盈率。近月便宜远月贵,叫contango,说明市场预期未来供应紧张。近月贵远月便宜,叫backwardation,说明当前需求旺盛。
做跨期套利,就是赌价差回归。这和股票里赌市盈率均值回归一样。价差偏离历史区间,就有套利机会。
市盈率高低没有绝对好坏。低市盈率可能是黄金坑,也可能是价值陷阱。高市盈率可能是泡沫,也可能是成长起点。关键看行业特性、盈利质量、增长匹配度和市场情绪。周期股要反着看,成长股要看增速,价值股要看分红。期货交易不看市盈率,但供需预期和估值逻辑相通。把市盈率当唯一指标,迟早亏光。