3. 双低策略核心逻辑:低估值与低波动因子的数学定义与组合逻辑
好,我们直接切入正题。双低策略,名字听着简单,但背后的数学逻辑其实挺讲究的。很多人以为「低估值+低波动」就是随便找两个指标一拼,结果回测出来一塌糊涂。我刚开始做量化那会儿也犯过这个错,后来踩了坑才明白——因子的定义和组合方式,才是策略的灵魂。
3.1 低估值因子:不只是PE、PB那么简单
低估值,说白了就是「便宜」。但怎么定义便宜?你想想看,一只股票PE是5,另一只PE是8,哪个更便宜?不一定。因为PE受行业、周期、甚至会计政策影响很大。我个人习惯用相对估值,而不是绝对估值。
常用的低估值因子包括:
- 市盈率(PE):TTM市盈率,剔除极端值
- 市净率(PB):尤其适合金融、周期行业
- 股息率(Dividend Yield):高股息往往意味着估值偏低
- 市销率(PS):对成长型公司更敏感
但注意,单一指标容易出问题。我建议用复合估值因子,比如将PE、PB、PS分别做Z-score标准化,然后等权合成。这样能避免某个指标被极端值绑架。
核心公式:
估值因子 = - (Z(PE) + Z(PB) + Z(PS)) / 3
取负号是因为我们希望估值越低,因子值越大。
我的经验: 在A股市场,PE和PB的相关性其实不高,两者结合能覆盖更多类型的股票。我曾经在2018年回测时发现,只用PE会漏掉很多银行股的机会,加上PB后效果明显改善。
3.2 低波动因子:波动率不是越小越好
低波动因子,很多人直接拿「过去20日收益率标准差」来算。嗯,这里要注意——这种简单波动率对跳空、停牌等异常值非常敏感。我见过有人因为一只股票停牌一个月,复牌后波动率突然飙升,结果被策略踢出,错过了后面的主升浪。
我个人更推荐使用已实现波动率(Realized Volatility),用高频数据(比如5分钟线)来估计。如果数据频率不够,也可以用Parkinson波动率,它利用最高价和最低价,比收盘价波动率更稳定。
低波动因子的数学定义:
- 简单波动率:σ = std(ln(P_t / P_{t-1})),窗口期20~60天
- Parkinson波动率:σ_P = sqrt( (1/(4N*ln2)) * Σ(ln(H_i/L_i))^2 )
- 已实现波动率:σ_RV = sqrt( Σ(r_i^2) ),r_i为日内收益率
避坑指南: 我曾经用简单波动率做回测,结果发现策略在2015年股灾期间表现极差。后来换成Parkinson波动率,因为它在极端行情下对日内振幅的捕捉更准确,策略的夏普比率提升了约0.3。
3.3 组合逻辑:双低因子的合成方法
有了低估值因子和低波动因子,接下来就是怎么组合。常见的方法有三种:
- 等权合成:两个因子各占50%,简单粗暴,但容易受量纲影响
- 排名合成:分别对两个因子排名,然后加总排名。我比较喜欢这种方法,因为它对极端值不敏感
- 动态权重:根据市场状态调整权重。比如在震荡市中,低波动因子的权重可以提高到70%
我个人最常用的是排名合成法。具体步骤:
- 第一步:对全市场股票按估值因子排名,得分1~N
- 第二步:对全市场股票按波动因子排名,得分1~N
- 第三步:双低得分 = 估值排名 + 波动排名
- 第四步:取双低得分最低的前10%~20%作为候选池
核心逻辑图:
3.4 实战中的细节处理
理论说完了,聊聊实战中容易忽略的点。
第一,因子时效性。 估值因子和波动因子都有「保质期」。我一般用最近一个季度的财报数据更新估值因子,波动因子则用过去60个交易日。太旧的数据会失效,太新的数据又容易受噪音干扰。
第二,行业中性化。 不同行业的估值水平天差地别。银行股PE普遍5~8倍,科技股PE可能30~50倍。如果不做行业中性化,双低策略选出来的全是银行股。我个人习惯对估值因子做行业Z-score处理,让每个行业内部比较。
一个小技巧: 在做行业中性化时,我通常剔除市值最小的30%股票。因为这些股票流动性差,波动率容易被操纵,双低因子在它们身上效果不稳定。
第三,再平衡频率。 双低策略不需要频繁调仓。我个人建议月度再平衡,每月初重新计算双低得分,剔除排名下降的股票,加入新晋的优质标的。太频繁调仓会增加交易成本,反而侵蚀收益。
嗯,以上就是双低策略的核心数学逻辑。说白了,就是用排名把两个不同量纲的因子捏在一起,然后选出「既便宜又安稳」的股票。下一节我们会用真实数据跑一遍回测,看看这个逻辑在震荡市中到底表现如何。
公众号:蓝海资料掘金营,微信deep3321